gpt4 book ai didi

java - 在 JFrame 中显示 JPanel 的内容

转载 作者:行者123 更新时间:2023-12-04 05:49:11 24 4
gpt4 key购买 nike

问题是:
我的 jpanel.(MyJPanel) 在鼠标右键单击时触发了。当我按下它时,它会显示带有“预览”项的弹出菜单。 right mouse button click on jpanel

我想在按下“预览”后显示 JFrame,但我不知道如何显示 jpanel 的内容,因为预览(jmenuitem)的 Action 监听器在 MyJpanel 内。

public MyJPanel(String s,int i){
addMouseListener(new PopupTrigger());
JPanel obh = new JPanel();
number = i;
picture = new ImageIcon(s);
preview = new JMenuItem("Preview");
preview.addActionListener(
new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JFrame f = new JFrame("Preview window");
f.setSize(csizeX/2,csizeY/2);

f.setVisible(true);
}
}
);
menu.add(preview);
}

如何设置 jframe f 的内容以显示 MyJPanel?(PopupTrigger 扩展 MouseAdapter 并且它是 MyJPanel 的内部类)

最佳答案

首先,您需要将 JPanel 标记为 final:final Jpanel obh ...
从内部类变得可访问。
然后,在监听器内部

f.getContentPane().add(obh);

关于java - 在 JFrame 中显示 JPanel 的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10287825/

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