所以,我制作了一个程序,只要点击一个按钮就会绘制一个矩形。 但矩形只出现了一段时间.. 这是JFrame的代码
JFrame jf; // This is declared as a static member
JPanel panel = new JPanel();
panel.setBounds(200,0,200,400);
jf = new JFrame("Try");
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setLocationRelativeTo(null);
jf.setSize(400,400);
jf.setVisible(true);
JButton jb = new JButton("Click");
jb.setBounds(10,10,100,60);
panel.add(jb);
jf.add(panel);
Handler handle = new Handler();
jb.addActionListener(handle);
对于ActionListener:
public void actionPerformed(ActionEvent ae)
{
Mainting maint = new Mainting();
jf.add(maint);
maint.draw(true);
绘图类: 布尔检查器= false;
public void draw(Boolean b)
{
checker = b;
repaint();
}
@Override
public void paintComponent(Graphics g)
{
if(checker){
super.paintComponent(g);
g.fillRect(0,0,100,80);
问题是: 如果我首先最大化窗口然后单击按钮,则不会显示任何内容。 如果我只是单击按钮,则不会显示任何内容。 但是,如果我单击按钮并最大化窗口,则会出现一个矩形。 为什么会这样?