JFrame 내부에서 jpanel을 이동하려하고 있는데, 움직이지 않는 것처럼 보입니다. paint() 메서드에서 위치를 설정할 수는 있지만 다시 그리기에서는 업데이트되지 않습니다. 도와주세요! 진지하게, 당신이 어떤 paint
방법 내의 모든 구성 요소의 상태를 수정해서는 안하지 마십시오 사실, -JFrame에서 JPanel을 이동하십시오.
public void paint(Graphics g) {
g.drawImage(playerImg, x, 50, null);
this.setLocation(x, 50);
}
public void update() {
this.repaint();
}
public void keyPressed(KeyEvent key) {
if(key.getKeyCode() == KeyEvent.VK_UP) {
x = x + 50;
System.out.println("e");
update();
}
}
1) 문제를 묻는 것처럼 페인트 방법으로 위치를 설정하지 마십시오. 2) JPanel 또는 JComponent의 paintComponent보다는 페인트를 오버 라이딩해야합니다. 3) JPanel을 이동 하시겠습니까? JLabel 또는 이미지를 이동하는 것이 더 일반적입니다. 4) 스윙 프로그램은'update()'메소드를 호출하면 안된다. 5) 절대 위치 지정이 작동하려면 컨테이너가'null' 레이아웃을 사용해야합니다. 레이아웃은 위험한 레이아웃입니다. –
1) 구성 요소의 위치를 설정하려는 이유가 무엇입니까? 2) 더 빨리 도움을 받으려면 [MCTaRE] (http://stackoverflow.com/help/mcve) (최소한의 완전한 테스트를 거쳐 읽기 쉬운 예)를 게시하십시오. –