// Creating buttons
JButton b1 = new JButton();
b1.setText("Add");
b1.setSize(100, 130);
b1.setLocation(330, 70);
b1.setBackground(Color.red);
b1.setVisible(true);
// Creating second button
JButton b2 = new JButton();
b2.setText("Add");
b2.setSize(100,100);
b2.setLocation(0, 0);
b2.setBackground(Color.blue);
b2.setVisible(true);
//adding buttons to Jframe
f.add(b1);
f.add(b2);
按钮在我运行程序时不会出现,或者有时它们会出现,但完全占用整个JFrame
答案 0 :(得分:2)
就像关于这个主题的几乎所有问题一样,在将组件添加到UI之前,您正在调用f.setVisible(true)
所以,这样的事情应该解决它
// In some other part of your code you've not provided us
//f.setVisible(true);
JButton b1 = new JButton();
b1.setText("Add");
b1.setBackground(Color.red);
JButton b2 = new JButton();
b2.setText("Add");
b2.setBackground(Color.blue);
f.add(b1);
f.add(b2);
f.setVisible(true);
您没有更改JFrame
的默认布局管理器,因此它仍在使用BorderLayout
这样的事情至少应该允许显示两个按钮而不会相互重叠
f.setLayout(new FlowLayout());
f.add(b1);
f.add(b2);
f.setVisible(true);
我建议花一些时间浏览Laying out Components within a Container以获取更多详情