gpt4 book ai didi

java - 刷新 JPanel

转载 作者:搜寻专家 更新时间:2023-11-01 02:56:23 25 4
gpt4 key购买 nike

我需要在 JPanel 上显示不同的图形。我已将绘图文件放入一个数组中,但是当我使用按钮更改它时,JPanel 仅显示第一张图而不会更改为下一张图...

我已经调用了 panel.revalidate(),但它不起作用。

这是我使用但不起作用的代码段。JPanel 显示是静态的。

    String[] a = {"image1.txt","image2.txt","image3.txt"};
List<String> files = Arrays.asList(a);


public void actionPerformed(ActionEvent e) {
if (e.getSource() == answer1){
fileNumber++;
//call other class for painting (files=array files, fileNumber=index of the array)
draw = new drawingPanel(files,fileNumber);
panel.add(draw);
}
panel.revalidate();
panel.repaint();
}

最佳答案

您可以尝试保留对 drawingPanel 的引用并调用 remove()在现有的 drawingPanel 上,然后再重新添加它。根据JPanel JavaDoc,布局为FlowLayout默认情况下 - 它不会像您想要的那样替换图像,而是将下一个 drawingPanel 放在前一个的右侧。 (调整窗口大小时会发生什么?)

顺便问一下,你如何处理超过数组中最后一张图像的情况?

关于java - 刷新 JPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/670274/

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