0
我是新來的Java GUI,我試圖讓這個程序顯示一個正方形,當一個按鈕被點擊。沒有反應,因爲repaint()在paintComponent上不起作用(Graphics g)。我已經搜索過,有人說使用Event調度線程,但我仍然很困惑什麼是調用paintComponent的正確方法?
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
public class Ham extends JFrame implements ActionListener
{
JPanel p1;
JButton b1;
public Ham(){
setSize(600, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
p1 = new JPanel();
b1 = new JButton("Check");
b1.addActionListener(this);
p1.add(b1);
add(p1, BorderLayout.NORTH);
setVisible(true);
}
public void actionPerformed (ActionEvent e){
if(e.getSource() == b1){
repaint();
}
}
public void paintComponent(Graphics g){
g.setColor(Color.BLUE);
g.fillRect(100,100,50,50);
}
}
我很後悔花時間來回答這個問題。我只注意到你在論壇上提出了10個問題,而沒有必要花時間接受你問題的答案。我想你不明白我們給你的幫助。 – camickr
對不起,我**只是**發現你可以這樣做, – TheEyesHaveIt
確實感謝幫助。 – TheEyesHaveIt