我創建一個簡單的Java項目,並想知道正確繪製矩形如何我可以使用像這樣的變量名稱創建一個Rectangle
:如何使用一個變量名
Rectangle header = new Rectangle(0, 0, 500, 100);
Rectangle background = new Rectangle(0, 100, 500, 400);
目前,我有這個代碼,它來填充:
public void draw(Graphics g) {
g.setColor(darkGreen);
g.fillRect(header.x, header.y, header.width, header.height);
g.setColor(tan);
g.fillRect(background.x, background.y, background.width, background.height);
}
但是沒有出現,當我運行的代碼,有沒有其他的錯誤,我知道的,但萬一這裏是休息:
package trivia;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Rectangle;
import javax.swing.JFrame;
import javax.swing.JPanel;
@SuppressWarnings("serial")
public class Main extends JPanel{
static Color tan = Color.decode("#F4EBC3");
static Color darkGreen = Color.decode("#E9E0D6");
Rectangle header = new Rectangle(0, 0, 500, 100);
Rectangle background = new Rectangle(0, 100, 500, 400);
@Override
public void paint(Graphics g) {
}
public void draw(Graphics g) {
g.setColor(darkGreen);
g.fillRect(header.x, header.y, header.width, header.height);
g.setColor(tan);
g.fillRect(background.x, background.y, background.width, background.height);
}
public static void main(String[] args) {
int HEIGHT = 500;
int WIDTH = 500;
JFrame mainFrame = new JFrame("Mini Tennis");
mainFrame.setSize(HEIGHT, WIDTH);
mainFrame.setVisible(true);
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainFrame.setLocationRelativeTo(null);
}
}
任何幫助非常感謝!
犯錯,你的代碼永遠不會創造主的任何實例,和draw()方法是從來沒有在任何地方調用,所以這不是真正令人吃驚。請注意,您必須重寫paintComponent(),這就是繪畫代碼的位置。 – 2014-12-13 08:04:52
@JBNizet是的我想我已經明白了,我正在使用'JPanel'而不是'JFrame',並且在改變了一些東西之後,我似乎開始工作了! – Geroy290 2014-12-13 08:06:42