在JFrame中显示JPanel的内容
问题是: 我的触发器右键点击我的jpanel。(MyJPanel)。当我按下它时,会显示项目为“预览”的弹出式菜单。 在JFrame中显示JPanel的内容
我想在按下“预览”后显示JFrame,但我不知道如何显示jpanel的内容,因为预览(jmenuitem)的actionlistener位于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 Jpanel obh
... 成为入店来自内心阶层。 然后,在监听器里
f.getContentPane().add(obh);
记得检查javadoc api:http://docs.oracle.com/javase/1.4.2/docs/api/ javax/swing/JFrame.html – 2012-04-23 20:39:58
它不显示图片在这种情况下 – 2012-04-23 20:46:26
让OBH final
然后将其添加到JFrame。
你试过jFrame.setContentPane(newcontentPanel)吗?
'picture = new ImageIcon(s);'Presumes's'是一个文件路径。该图像是嵌入式应用程序资源,还是由用户提供?为了更快地获得更好的帮助,请发布[SSCCE](http://sscce.org/)。 – 2012-04-23 21:31:30
我从'File f = fileChooser.getSelectedFile()''f.getAbsolutePath'获取's' – 2012-04-23 22:32:44