小编And*_*nga的帖子

在JFrame中显示java JPanel

我在让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)

java swing jpanel jframe

2
推荐指数
1
解决办法
8572
查看次数

标签 统计

java ×1

jframe ×1

jpanel ×1

swing ×1