小编Mat*_*jor的帖子

使用初始化程序完成构造函数VS中的工作

从我在其他人的代码中看到的,似乎有两种方法可以创建一个对象并"准备"使用它.

方法1:准备构造函数中的对象:

public class SomeClass {
  int setting;

  public SomeClass(int setting) {
    this.setting = setting;
  }
}
Run Code Online (Sandbox Code Playgroud)

方法2:创建对象然后在初始化方法中"准备好"它,例如:

public class SomeClass {
  int setting;

  public SomeClass(int setting) {

  }

  public void init(int setting) {
    this.setting = setting;
  }
}
Run Code Online (Sandbox Code Playgroud)

是否有任何具体的理由使用这两种方法?

java constructor initialization

3
推荐指数
1
解决办法
76
查看次数

将多个JComponents绘制到一个框架

我试图在同一个窗口上绘制多个汽车对象,但看起来它们正在相互覆盖.

这是我在Car类中重写的paintComponent方法

public void paintComponent(Graphics g) {
    Graphics2D g2 = (Graphics2D) g;

    g2.setColor(wheelColor);
    g2.fill(leftWheel);
    g2.fill(rightWheel);
    g2.setColor(bodyColor);
    g2.fill(body);
    g2.fill(cab);
}
Run Code Online (Sandbox Code Playgroud)

在我的Viewer类中:

JFrame f = new JFrame();
initializeFrame(f);

Car x = new Car(100, 100);
Car y = new Car(300, 300);

f.add(x);
f.add(y);
Run Code Online (Sandbox Code Playgroud)

虽然坐标似乎不同,但只绘制了最后一辆车.

有什么建议?谢谢

java graphics user-interface swing paintcomponent

2
推荐指数
2
解决办法
8495
查看次数