Java 使用Actionlistener创建带有JRadioButtons的新框架
嗨,我在创建一个actionlistener时遇到了一些问题,它创建了一个新的框架,使用JRadioButtons作为选择 最终,这将是一个我为了好玩而创建的抽认卡测验程序 以下是我的困境:Java 使用Actionlistener创建带有JRadioButtons的新框架,java,swing,jframe,frame,actionlistener,Java,Swing,Jframe,Frame,Actionlistener,嗨,我在创建一个actionlistener时遇到了一些问题,它创建了一个新的框架,使用JRadioButtons作为选择 最终,这将是一个我为了好玩而创建的抽认卡测验程序 以下是我的困境: import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class Flas
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class FlashCard extends JFrame {
private ImageIcon myIcon = new ImageIcon("src/Resources/DNA.png");
public FlashCard(){
//Consider using CardLayout format for flashcards.
setLayout(new GridLayout(1, 4, 5, 5));
JButton startButton = new JButton("Begin");
add(startButton);
startButton.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
//Execute when button is pressed THIS IS THE PART WHERE I AM STUCK
JFrame frameAction = new JFrame();
frameAction.setTitle("Questions");
frameAction.setSize(350, 150);
frameAction.setLocationRelativeTo(null);
frameAction.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frameAction.setVisible(true);
frameAction.
// JRadioButton jrb1 = new JRadioButton("Student", true);
// jrb1.setForeground(Color.RED);
// jrb1.setBackground(Color.WHITE);
// jrb1.setMnemonic('S');
//
// ButtonGroup group = new ButtonGroup();
// add(jrb1);
}
});
}
这是我的主要方法:
public static void main(String[] args){
//Create a frame and set its properties.
JFrame frame = new FlashCard();
frame.setTitle("Genetics FlashCard Quiz");
frame.setSize(350,150);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
//Create a second frame for when the user
// clicks begin.
JFrame question = new JFrame();
}
鉴于您的
JFrames
大小和尺寸相同,您(在代码中)使用CardLayout
的另一个想法是正确的。目前,您的第二帧显示在第一帧之上,这给了您管理后一帧的开销,因为它仍然是可访问的。如果您使用CardLayout
,您将能够在多个flashcard
面板之间轻松导航,同时为用户维护一个单独的交互区域
见: