当我运行应用程序时,整个框架被涂成黑色。
我怎样才能使它开始清晰然后按下按钮时会被涂上颜色?
package card;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class BdayCard extends JFrame {
JButton button1, button2;
JPanel panel;
BdayCard()
{
panel = new JPanel();
button1 = new JButton();
button1.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
repaint();
}
});
panel.add(button1);
this.add(panel);
this.setTitle("It's Your Birthday!");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(600, 450);
this.setLocationRelativeTo(null);
this.setVisible(true);
}
public void paint(Graphics g){
g.fillRect(0, 0, 600, 450);
}
public static void main(String[] args){
new BdayCard();
}
}
答案 0 :(得分:1)
你的黑屏问题是因为你画的是:
g.fillRect(0, 0, 600, 450);
您正在使用黑色的默认颜色 我尝试了你的代码并使用了它:
g.setColor(Color.WHITE);
这将清除您的屏幕,然后使用布尔值并在按下按钮时将其设置为true:
public void actionPerformed(ActionEvent e)
{
button=true;
repaint();
}
然后最终使用:
if(button){/*do stuff here*/}
在paint方法
中