gpt4 book ai didi

java - 在 JPanel 上的已知坐标处绘制形状

转载 作者:行者123 更新时间:2023-11-30 04:57:29 26 4
gpt4 key购买 nike

我已经进行了相当多的搜索来找到解决我的问题的方法,但没有运气。我本以为有一个简单的解决方案。我有以下代码,其中我找到了存储在 ArrayList 中的多个点,并希望在 ArrayList 中给出的每个点处绘制一个形状(无论现阶段做什么,矩形都可以)。代码如下:

public static void main(String[] args){
image = null;
try {
// Read from a file
File file = new File("box.jpg");
image = ImageIO.read(file);
} catch (IOException e) {
System.out.print("LAAAAMMME!!!!");
}

ImagePanel panel = new ImagePanel(image); //Custom JPanel to show a background image
panel.setPreferredSize(new Dimension(500, 500));

JFrame frame = new JFrame("Find the Squares");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 500);
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.getContentPane().add(panel);

frame.validate();
frame.setVisible(true);
frame.pack();


ArrayList<Point> points = getCenterPoint(floatarray);
for(int x = 0 ; x < points.size(); x++){
//Here I guess is where each point is created and drawn.
}
}

有什么建议吗?

最佳答案

添加属性 List<Point> listImagePanel .

覆盖paintComponent(g)ImagePanel 。使用属性list中的数据来画画。

@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);

g.drawRect(...);
}

JFrame 发送列表至ImagePanel .

您可能需要调用frame.setLayout(new FlowLayout())构建框架后。

关于java - 在 JPanel 上的已知坐标处绘制形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8080921/

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