다음 코드를 보면서 왜 다음 두 문장을 바꿀 때 왜 그려지는 사각형에 변화가 보이지 않는지 말해 줄 수 있습니까? 그래서 변경하는 경우 :paintComponent 모양이 변경되지 않습니다.
는g.setColor(Color.black);
g.fillRect(l, w, 100, 100);
프로그램은 여전히 같은 크기로 나는 처음에는 노란색으로 색상을 변경하거나 크기 나 위치를 변경하려고해도 시작 같은 위치에 검은 사각형을 인쇄합니다. 나는 BlueJ 다. 다음은 나의 전체 코드입니다 :
import java.awt.*;
import javax.swing.*;
public class SwingPaintDemo2 extends JComponent {
public static boolean isWall = true;
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
private static void createAndShowGUI() {
//System.out.println("Created GUI on EDT? "+
//SwingUtilities.isEventDispatchThread());
JFrame f = new JFrame("Swing Paint Demo");
JPanel MyPanel = new JPanel();
MyPanel.setBorder(BorderFactory.createEmptyBorder(1000, 1000, 1000, 1000));
MyPanel.setPreferredSize(new Dimension(250, 200));
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(new MyPanel());
f.pack();
f.setVisible(true);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
int l = 10;
int w = 10;
g.setColor(Color.black);
g.fillRect(l, w, 100, 100);
}
}
어떤 조언을 주시면 감사하겠습니다.
:
JPanel
(위 수정하여 코드 구현) 예입니다 확장JComponent
를 확장 대단히 감사합니다. 선생님, 그랬어요. 재미있는 점은 내가 처음 게시 한 코드가 컴파일 오류를주지 않는다는 것입니다. 클래스를 옮겨 다니기 때문에 클래스가 손상되었을 수 있습니다. 하지만 같은 코드로 새로운 클래스를 만들 때 컴파일 오류가 발생했습니다. 그러나 관계없이, 나를 도울 시간을내어 주셔서 감사합니다. 내가 너를 upvote 할 수 있으면 나는 (나의 명망에 아직도 일해 - 뉴비) 있을텐데. – user1894469@ user1894469 atleast its working now. 그리고 그 문제가 아니라 그 게시물의 옆에있는 진드기를 확인하는 것을 잊지 마라. –
나는 그것에 관해 당신에게 묻기 직전이었다 : 다시 한번. – user1894469