我创建一个简单的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