Java 我的JRadioButton在运行时不显示,但在单击该区域时显示
您好,当我运行我的简单swing应用程序时,我在netbeans 8.1中遇到了这个问题。我的框架只显示一个单选按钮,第二个单选按钮是当我在显示的区域上选择时,当我取消选择时,它消失了。 检查下面的图片 源代码:Java 我的JRadioButton在运行时不显示,但在单击该区域时显示,java,swing,netbeans,netbeans-8,jradiobutton,Java,Swing,Netbeans,Netbeans 8,Jradiobutton,您好,当我运行我的简单swing应用程序时,我在netbeans 8.1中遇到了这个问题。我的框架只显示一个单选按钮,第二个单选按钮是当我在显示的区域上选择时,当我取消选择时,它消失了。 检查下面的图片 源代码: import java.awt.Dimension; import java.awt.Toolkit; import javax.swing.JFrame; import javax.swing.JRadioButton; public class MainClass { priv
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JFrame;
import javax.swing.JRadioButton;
public class MainClass {
private JFrame mainFrame;
private JRadioButton radStudent,radTeacher;
public MainClass(){ //Constructor of main class
prepareGUI();
}
public static void main(String arg[]){
MainClass main = new MainClass();
}
private void prepareGUI(){ //GUI
mainFrame = new JFrame("Select any one");
mainFrame.setSize(300,200);
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainFrame.setResizable(false);
mainFrame.setVisible(true);
//Frame position set
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
int height = screenSize.height;
int width = screenSize.width;
mainFrame.setLocationRelativeTo(null);
//radio for employee
radStudent = new JRadioButton("Student");
radStudent.setBounds(10,10,100,20);
//radio for Teachers
radTeacher = new JRadioButton("Teacher");
radTeacher.setBounds(110,10,100,20);
mainFrame.add(radStudent);
mainFrame.add(radTeacher);
}
}
提前谢谢你 问题是:您必须了解JFrame正在使用来组织您添加到其中的项目 将代码更改为
mainFrame.add(radStudent, BorderLayout.PAGE_START);
mainFrame.add(radTeacher, BorderLayout.PAGE_END);
将给你一个框架,显示顶部的一个按钮;另一个位于窗口底部(因为默认情况下,JFrame使用BorderLayout来组织其子项)
换句话说:只要你想使用多个组件,你就必须先坐下来思考如何组织这些组件。然后选择LayoutManager,例如,它提供了获取您决定使用的“结构”的最简单方法。您需要add()
组件,然后调用setVisible()
mainFrame.setVisible(true)代码>这应该在添加所有组件之后完成,并且直接在调用pack()
之后完成。