저는 Java GUI를 처음 접했고 단추를 클릭 할 때이 프로그램이 사각형을 표시하도록하려고합니다. repaint()가 paintComponent (Graphics g)에서는 동작하지 않기 때문에 아무 일도 일어나지 않습니다. 내가 검색 한 일부는 이벤트 발송 쓰레드를 사용한다고하지만, 난 여전히 JFrame의가의 paintComponent() 메소드가없는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