我在让JPanel正常显示时遇到问题.我想使用不同的扩展JPanel来显示我希望用户使用该程序(最终显示照片).下面是此时仅存在的两个类的代码.不幸的是,我遇到了一些问题,只是让第一个面板在门外工作,这是为用户提供选择不同图形图像的能力.
发生的事情是,在单击"文件"菜单中的"打开"菜单项之前,我无法显示我的JPanel.一旦JOptionPane显示,我的JPanel(NewAlbum)也显示.
class PhotoGallery {
static JPanel transientPanel = null;
static final JFrame mainFrame = new JFrame("Photo Gallery");
public static void main(String[] args) {
JMenu fileMenu = new JMenu("File");
fileMenu.setMnemonic(KeyEvent.VK_F);
JMenuItem open = new JMenuItem("Open");
open.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(mainFrame, "Hello World");
}
});
fileMenu.add(open);
JMenuItem newAlbum = new JMenuItem("New Album");
open.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
AssignToTransientPanel((JPanel) new NewAlbum());
Container content = mainFrame.getContentPane();
content.removeAll();
content.add(transientPanel);
content.validate();
content.repaint();
}
});
fileMenu.add(newAlbum);
JMenuItem exit = …Run Code Online (Sandbox Code Playgroud)