【发布时间】:2020-01-09 02:08:57
【问题描述】:
每当我运行此代码时,单选按钮都会正确显示,直到我进入窗口或将鼠标悬停在窗口中,然后它只显示一个单选,而我可以看到其他单选的唯一方法是将鼠标悬停在它们上方。
为什么直到我将鼠标悬停在窗口或选项卡上才显示单选按钮?
JRadioButton rDollar1 = new JRadioButton("Dollars");
JRadioButton rCDollar1 = new JRadioButton("Canadian Dollars");
JRadioButton rMPesos1 = new JRadioButton("Mexican Pesos");
JRadioButton rCPesos1 = new JRadioButton("Colombian Pesos");
ButtonGroup bg1 = new ButtonGroup();
bg1.add(rDollar1);
bg1.add(rCDollar1);
bg1.add(rMPesos1);
bg1.add(rCPesos1);
frame1.setSize(500, 500);
frame1.setVisible(true);
frame1.add(rDollar1);
frame1.add(rCDollar1);
frame1.add(rMPesos1);
frame1.add(rCPesos1);
rDollar1.setBounds(10, 50, 50, 20);
rDollar1.setVisible(true);
rCDollar1.setBounds(10, 100, 50, 20);
rCDollar1.setVisible(true);
rMPesos1.setBounds(10, 150, 50, 20);
rMPesos1.setVisible(true);
rCPesos1.setBounds(10, 200, 50, 20);
rCPesos1.setVisible(true);
【问题讨论】:
-
1) 为了尽快获得更好的帮助,edit 添加minimal reproducible example 或Short, Self Contained, Correct Example。 2) Java GUI 必须在不同的语言环境中使用不同的 PLAF 在不同的操作系统、屏幕尺寸、屏幕分辨率等上工作。因此,它们不利于像素完美布局。而是使用布局管理器,或combinations of them 以及white space 的布局填充和边框。 3)先添加组件,最后调用
frame1.setVisible(true),调用pack()之后立即。
标签: java swing jradiobutton