gpt4 book ai didi

java - 在 JFrame 中将图像绘制到 JPanel

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:04:55 24 4
gpt4 key购买 nike

我正在设计一个在 JFrame 中包含两个 JPanel 的程序,一个用于保存图像,另一个用于保存 GUI 组件(搜索字段等)。我想知道如何将图像绘制到 JFrame 中的第一个 JPanel?

这是我的构造函数的示例代码:

public UITester() {
this.setTitle("Airplane");
Container container = getContentPane();
container.setLayout(new FlowLayout());
searchText = new JLabel("Enter Search Text Here");
container.add(searchText);
imagepanel = new JPanel(new FlowLayout());
imagepanel.paintComponents(null);
//other constructor code

public void paintComponent(Graphics g){
super.paintComponents(g);
g.drawImage(img[0], -50, 100, null);
}

我试图覆盖 JPanel 的 paintComponent 方法来绘制图像,但是当我尝试编写时,这会导致我的构造函数出现问题:

imagepanel.paintComponents(null);

因为它只允许我传递 null 方法,而不是 Graphics g,有人知道这个方法的修复方法或我可以用来在 JPanel 中绘制图像的其他方法吗?感谢帮助! :)

祝一切顺利,提前致谢!马特

最佳答案

我想推荐一个更简单的方法,

  image = ImageIO.read(new File(path));
JLabel picLabel = new JLabel(new ImageIcon(image));

耶!现在你的图像是一个 Swing 组件!将它添加到框架或面板或任何你通常做的事情!可能也需要重新粉刷,比如

  jpanel.add(picLabel);
jpanel.repaint();

关于java - 在 JFrame 中将图像绘制到 JPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9083096/

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