我正在尝试刷新JFrame,因为我希望在JFrame设置可见后将其添加到JFrame中。 invalidate()然后validate()然后repaint()将无效,因为我没有布局管理器。
课程:
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class Class4 {
public static final long serialVersionVID = 1L;
public void mainMethod(int event){
JFrame f = new JFrame("Love Test");
if(event == 0){
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(500,200);
f.setLayout(null);
JPanel p = new JPanel(new BorderLayout());
p.setBounds(150, 0, 350, 75);
Class3 c3o = new Class3();
p.add(c3o);
f.add(p);
JPanel p2 = new JPanel();
Class7 c7o = new Class7();
p2.add(c7o);
p2.setBounds(0, 75, 500, 40);
f.add(p2);
JPanel p3 = new JPanel();
p3.setBounds(0, 0, 150, 75);
Class5 c5o = new Class5();
Dimension d = new Dimension(150,75);
c5o.setPreferredSize(d);
p3.setPreferredSize(d);
p3.add(c5o);
f.add(p3);
f.setVisible(true);
}
if(event == 5){
JPanel p4 = new JPanel();
p4.setBounds(0,120,500,55);
Class2 c2o = new Class2();
Dimension d2 = new Dimension(500,55);
c2o.setPreferredSize(d2);
p4.setPreferredSize(d2);
p4.add(c2o);
f.add(p4);
f.invalidate();
f.validate();
f.repaint();
}
}
}
如果我要使用布局管理器,我该如何使用它? 所有帮助将不胜感激。谢谢!