我有一個具有swing用戶界面類的應用程序,它具有將變量發送到canvas類的按鈕,在另一個函數中聲明的畫布上繪圖
public class createWindow extends JFrame implements ActionListener
{
createCanvas canvas = new createCanvas(10, 10);
JPanel mainPanel = new JPanel();
public createWindow()
{
mainPanel.add(canvas, BorderLayout.CENTER);
}
}
createCanvas是聲明paintComponent的類;
public class createCanvas extends JPanel
{
int xValue;
int yValue;
int xCoordinate;
int yCoordinate;
public createCanvas(int x, int y)
{
xValue = x;
yValue = y;
}
public void setXCoordinate(int x)
{
xCoordinate = x;
}
public void setYCoordinate(int y)
{
yCoordinate = y;
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
drawGrid(g, this.xValue, this.yValue);
g.fillArc(xCoordinate, yCoordinate, 6, 6, 0, 360);
}
public drawGrid(Graphics g, int xLength, int yLength)
{
//creates a grid that is xLength x yLength
}
}
然而,也有我的選擇,我想有一個.draw()函數,它可以使用在createCanvas中的paintComponent對象。 問題是,當我需要在網格上繪製節點時,我可以設置座標,但是如何在createWindow中聲明的畫布上顯示節點?
public class Node()
{
int xCoordinate;
int yCoordinate;
//Suitable constructors, sets, gets
public void draw()
{
createCanvas canvas = new createCanvas();
canvas.setXCoordinate(this.xCoordinate);
canvas.setYCoordinate(this.yCoordinate);
canvas.repaint();
}
}
所以,我想知道是否有我的方式讓我所繪製CreateWindow的畫布上,還有什麼我在Object類畫。
謝謝。
提示:使用的Java命名約定。班級名稱以大寫字母 –
開頭謝謝您的提示,對此問題的任何幫助或問題不明確? – user3304183
你的問題不清楚。什麼是'createCanvas'和你試圖完成什麼exactyl。你在說什麼東西? –