gpt4 book ai didi

java问题添加/删除面板onclick

转载 作者:行者123 更新时间:2023-11-29 08:08:47 24 4
gpt4 key购买 nike

你好,

我创建了多个面板,第一个正在显示。当用户单击下一个图标时,我需要删除面板并添加一个新面板。在下面的代码中,面板引用在 Action 监听器中未被识别。我该如何解决这个问题?

    int n=0;
for (int l=0; l < layOutPanelCount; l++) {
layOutPanel[l] = new JPanel();
layOutPanel[l].setLayout(null);
layOutPanel[l].setBounds(0, 0, screenWidth, screenHeight);

ImageIcon nextIcon = new ImageIcon("src/icons/next.png");
JLabel nextLabel = new JLabel(nextIcon);
nextLabel.setBounds(xPos, yPos, 48, 48);
nextLabel.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e){
layOutFrame.remove(layOutPanel[l]);
layOutFrame.add(layOutPanel[l + 1]);
//Here the problem occurs, the layOutPanel[] is not recognized.
}
});

layOutPanel[l].add(nextLabel);
}
layOutFrame.add(layOutPanel[1]);

最佳答案

1) 在删除/添加 一个新的JComponent(s) 到您必须调用的可见容器中

revalidate();
repaint();

2) 也许你想重新布局容器,那么你也可以调用 pack()

3) 我看不到在运行时重新创建 JPanel 的原因,使用

JLabel#setIcon(myIcon)

代替

关于java问题添加/删除面板onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9495347/

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