gpt4 book ai didi

java - 如何在 Java 中调用图形类?

转载 作者:行者123 更新时间:2023-12-02 06:24:56 25 4
gpt4 key购买 nike

我一直在用 Java 编写交通流网络的模拟,并且应该以图形方式对网络进行建模的类如下所示:

public class Map extends JPanel {
BufferedImage truck1;

public Map() throws IOException{
truck1 = ImageIO.read(getClass().getResource("Truck.png"));
}

protected void paintcomponent (Graphics g) {
super.paintComponent(g);

g.drawImage(truck1, 50, 100, 300, 300, this);
}
}

在我的 main() 函数中,我在函数的最开始实例化该对象,如下所示:

Frame F1 = new Frame();
F1.setLayout(new FlowLayout());
F1.setSize(500,500);
F1.setVisible(true);
Map map = new Map();
map.setOpaque(true);
F1.add(map);
F1.setVisible(true);

但是,当我运行该程序时,唯一的输出是一个空白窗口,窗口顶部的中间有一个稍深的灰色小方 block 。我已将 Truck.png 添加到项目中,但我看不出它无法正常显示的任何原因。我做错了什么?

最佳答案

  1. 应在框架可见之前将组件添加到框架中。
  2. 您正在为框架使用 FlowLayout。 FlowLayout 尊重所有组件的首选大小。您的 Map 类没有首选大小,因此大小默认为 (0, 0),因此无需绘制任何内容。重写 Map 类的 getPreferredSize() 方法以返回组件的适当大小。

关于java - 如何在 Java 中调用图形类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20627196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com