【发布时间】:2014-12-04 02:25:04
【问题描述】:
我的 JButton 对象行为异常有问题:
JFrame frame = new JFrame();
frame.setSize(new Dimension(200, 200));
frame.setVisible(true);
//Constraints
GridBagConstraints constraints = new GridBagConstraints();
constraints.weightx = 1.0;
constraints.weighty = 1.0;
...
//
JPanel panel = new JPanel();
panel.setLayout(new GridBagLayout());
JButton button = new JButton("Categories:");
panel.add(button, constraints);
frame.add(panel);
这会产生以下 GUI:
按钮在哪里?
当我将最后几行替换为以下内容时:
JPanel panel = new JPanel();
JButton button = new JButton();
panel.add(button, constraints);
button.setText("Categories:");
frame.add(panel);
我得到以下图形用户界面:
按钮现在出现了。
这是为什么?我认为在按钮的构造函数中给出一个字符串会导致与显式调用 setter 相同。
【问题讨论】:
-
让
frame.setVisible(true);成为你调用的最后一件事,打赌它会起作用...... -
谢谢疯狂程序员。我应该将自己命名为 NoobProgrammer。干杯!
标签: java swing jframe jpanel jbutton