誰かが以下の私のコードを見て、次の2つのステートメントを変更しても、ペイントされている長方形に変更が表示されない理由を教えてもらえますか?だから私が変更した場合:
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);
}
}
何かアドバイスをいただければ幸いです。