gpt4 book ai didi

java - 我的 JRadioButton 在我运行时不显示,但当我单击该区域时它会显示

转载 作者:行者123 更新时间:2023-11-30 02:47:30 26 4
gpt4 key购买 nike

您好,当我运行简单的 swing 应用程序时,我在 netbeans 8.1 中遇到了这个问题。我的框架仅显示一个单选按钮,当我选择该区域时,它会显示第二个单选按钮,而当我取消选择时,它会消失。检查下面的图片

When I run my swing application

When I click on the radio button area it shows

源代码:

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 正在使用 LayoutManager 来组织您添加到其中的项目。

将代码更改为

mainFrame.add(radStudent, BorderLayout.PAGE_START);
mainFrame.add(radTeacher, BorderLayout.PAGE_END);

会给你一个框架,显示顶部的一个按钮;另一个位于窗口底部(因为默认情况下,JFrame 使用 BorderLayout 来组织其子级)。

换句话说:一旦您想要使用多个组件,您就必须先坐下来思考如何组织这些组件。然后选择 LayoutManager,例如 BorderLayout这提供了到达您决定使用的“结构”的最简单方法。

关于java - 我的 JRadioButton 在我运行时不显示,但当我单击该区域时它会显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39722494/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com