【发布时间】:2018-07-29 16:48:52
【问题描述】:
您好,我正在尝试学习 Java 中的图形以及类和对象。我现在的目标是制作一个包含不同类的程序,其中包含 Rectangles 或 Circles,然后我想在其他类中使用这些 Rectangles 和 Circles,并更改它们的参数,如大小、颜色和位置来绘制某种图案。
我现在的问题是我可以制作一个矩形,我想我什至可以制作第二个,但我无法更改它的参数(颜色、大小和位置)我尝试在这部分代码中添加变量Rect rect = new Rect(int variables); 但没用。
通常我可以解决这样的简单问题,但如果有人能给我一些帮助,我真的不明白类和对象在 java 中是如何工作的。
这是我的代码
public class Main{
public static void main(String[] args ) {
Pattern.drawPattern();
}
}
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
public class Rect extends JPanel{
public static Color myColor = Color.RED;
public static int myX = 10;
public static int myY = 10;
public static int myWidth = 200;
public static int myHeight = 200;
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(myColor);
g.fillRect(myX, myY, myWidth, myHeight);
}
}
import java.awt.Color;
import java.awt.Container;
import javax.swing.JFrame;
public class Pattern {
public static void drawPattern() {
JFrame window = new JFrame("test");
window.setSize(1000, 800);
window.setVisible(true);
window.setResizable(false);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Rect rect = new Rect();
Rect rect1 = new Rect();
window.add(rect);
window.add(rect1);
Rect.myColor = Color.lightGray;
}
}
【问题讨论】:
-
嗯,在 IntelliJ 中将所有内容放在一个类中效果很好。但是,如果您手动触发重绘,也许会有所帮助。因为如果你改变你绘制的内容的属性,这就是你需要做的。
-
请查看更新以回答。有什么问题请追问
标签: java swing class object graphics