Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将从同一类创建的JPanel添加到cardlayout框架_Java_Swing_Jframe_Cardlayout - Fatal编程技术网

Java 将从同一类创建的JPanel添加到cardlayout框架

Java 将从同一类创建的JPanel添加到cardlayout框架,java,swing,jframe,cardlayout,Java,Swing,Jframe,Cardlayout,我有一个类,它读取一个excel文件并在jpanel中创建一个带有图形的框架。我通过jmenuitem中的actionlistener调用这个类。然后我有另一个jmenuitem,它调用打开同一文件的同一个类,但读取不同的excel工作表,并给出不同的图形(这是类中唯一更改的字符串)。具有这些JMenItem的jmenubar属于程序启动的jframe。我想知道是否有可能每次单击创建要添加到新jframe cardlayout中的图形的jmenuitems,这样我就可以在它们上滚动。提前谢谢 这

我有一个类,它读取一个excel文件并在jpanel中创建一个带有图形的框架。我通过jmenuitem中的actionlistener调用这个类。然后我有另一个jmenuitem,它调用打开同一文件的同一个类,但读取不同的excel工作表,并给出不同的图形(这是类中唯一更改的字符串)。具有这些JMenItem的jmenubar属于程序启动的jframe。我想知道是否有可能每次单击创建要添加到新jframe cardlayout中的图形的jmenuitems,这样我就可以在它们上滚动。提前谢谢

这是我当前用于在单击jmenuitem时在jframe中打开图形的代码:

public class startup extends JFrame  {   // creates a jframe with some stuff and the jmenubar

public void menu() {
...


                    menuItem.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent event2) {

                        new Thread(new Runnable() {
                                @Override
                                public void run() {
                          new ReadExcel();
                                    ReadExcel.excel(".xls", 0);  // this jmenuitem invokes the class to read the excelfile sheet 0
graphgen.main(null);
                                }
                            }).start();
                        }
                    });

                    subsubmenu1.add(menuItem);


menuItem.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent event2) {

                        new Thread(new Runnable() {
                                @Override
                                public void run() {
                          new ReadExcel();
                                    ReadExcel.excel(".xls", 1);  // this jmenuitem invokes the class to read the excelfile sheet 1

graphgen.main(null);
                                }
                            }).start();
                        }
                    });

                    subsubmenu1.add(menuItem);

....
}


          public static void main(String[] args)
            {


                GUIquery frame = new GUIquery();
                p.add(graphComponent, BorderLayout.CENTER);
                frame.setLayout(new BorderLayout());
                frame.add(p, BorderLayout.CENTER);
                frame.setJMenuBar(GUIquery.createMenuBar());
                frame.pack();
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setResizable(true);
                frame.setSize(1600, 1200);
                frame.setVisible(true);


            }



    }
readexcel类只读取Excel文件的Excel工作表,并返回一些在graphgen类中处理的arraylist。

public class graphgen extends JFrame {

public graphgen() {

        super("Results");



        gen();

    }

    public void gen(){

//creates the graphcomponent

getContentPane().add(graphComponent);
    add(graphComponent);

}

    public static void main(String[] args)
    {


        graphgen frame = new graphgen();
        p2.add(graphComponent, BorderLayout.CENTER);

    frame.add(p2, BorderLayout.CENTER);
        frame.pack();
        frame.setResizable(true);
        frame.setSize(1600, 1200);
        frame.setVisible(true);

}

用于封装目标组件、文件和图纸,如图和所示。添加一个方法以基于所选工作表更新类的状态。在卡片之间导航的示例见和。另请参见引用的卡片布局操作。

“我想知道,每次单击用于创建要添加到新jframe cardlayout中的图形的jmenuitems时,是否有可能……”。。对要得到更具体的答案,可以问一个更具体的问题,然后贴一个。对不起,我不明白。我对这件事有点不知所措,因为我查了这么多东西,都查不透@垃圾桶在这一行中好像是
在卡片之间导航的例子在这里和这里都可以看到
,两个链接都指的是同一件事:-)@nIcEcOw:好主意!已更新。@user2598911:请更新您的帐户以显示您的卡滞位置。