這裏是我的代碼:繪製多個矩形與Java(AWT)
class Ramka extends JFrame
{
public static final int SZEROKOSC = 800;
public static final int WYSOKOSC = 600;
Container powZawartosci = getContentPane();
public Ramka()
{
setSize(SZEROKOSC, WYSOKOSC);
setTitle("Siatka bryły by Paweł Mysior");
}
public void addRectangle(int startX, int startY, int sizeX)
{
drawRectangle rect = new drawRectangle(startX, startY, sizeX);
powZawartosci.add(rect);
}
class drawRectangle extends JPanel
{
private int a, startX, startY;
public drawRectangle(int startX, int startY, int a) // square
{
this.a = a;
this.startX = startX;
this.startY = startY;
}
public void paintComponent(Graphics g)
{
Rectangle2D rect = new Rectangle2D.Double(startX, startY, a, a);
Graphics2D g1 = (Graphics2D) g;
g1.draw(rect);
}
}
public class Main
{
public static void main(String[] args)
{
Ramka ramka = new Ramka();
ramka.addRectangle(200, 200, 50);
ramka.addRectangle(100, 100, 100);
ramka.addRectangle(300, 300, 150);
ramka.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ramka.setVisible(true);
}
}
我希望它做的是畫出三個矩形(劃出這樣的功能和意義是什麼,我還只是學習)。
但它提請只有最後一個,起始於300和300。我真的不明白的paintComponent的事...
在此先感謝您的幫助, 保羅
權,可以說,我只是想畫這三個矩形,不一定的JPanel,會是什麼你推薦呢?我可以在一個JPanel中繪製三個矩形嗎? – PawelMysior
是的,你可以在一個JPanel上繪製任何東西。我將編輯我的帖子以更好地解釋。 –