1
有人可以看看我的代碼,並告訴我爲什麼,當我更改以下兩條語句時,我沒有看到矩形被繪的改變。所以,如果我改變: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);
}
}
任何意見,將不勝感激。
非常感謝你先生,那是做的。有趣的是,我第一次發佈的代碼並沒有給我一個編譯錯誤,也許這個類被損壞,因爲我正在移動的東西?但是當我用相同的代碼創建一個新類時,我看到了編譯錯誤。但無論如何,感謝您花時間幫助我。如果我可以讓你高興,我會(仍在努力我的名聲 - 新手)。 – user1894469
@ user1894469至少現在工作。這不是一個問題,不要忘記檢查旁邊的勾號,如果它的答案。 –
我剛要問你關於那個:)再次。 – user1894469