如何将具有多个类(每个类都有自己的框架)的java应用程序转换为小程序

如何将具有多个类(每个类都有自己的框架)的java应用程序转换为小程序,java,applet,Java,Applet,我有一个java应用程序,它有多个类,每个类都有自己的框架。如果我想转到另一个类,我会关闭或隐藏当前的类框架并启动新的类框架。如果我想回到旧的类,我会关闭新的类框架并启动或使旧的类框架可见,我将如何在applet中做到这一点 我主课的一部分 private static void createAndShowGUI() { //Create and set up the window. JFrame frame = new JFrame("MDCAP");

我有一个java应用程序,它有多个类,每个类都有自己的框架。如果我想转到另一个类,我会关闭或隐藏当前的类框架并启动新的类框架。如果我想回到旧的类,我会关闭新的类框架并启动或使旧的类框架可见,我将如何在applet中做到这一点

我主课的一部分

private static void createAndShowGUI() {

        //Create and set up the window.
        JFrame frame = new JFrame("MDCAP");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLocationRelativeTo(null);

        //Set up the content pane.
        addComponentsToPane(frame, frame.getContentPane());

        //position the frame in the center 
        frame.setSize(350, 500);
        frame.setLocationRelativeTo(null);
        frame.setResizable(false);
        frame.setVisible(true);
在我的主课上,如果我想上另一节课

        //close the frame and run contractInfromation
        button4.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent arg0) {
                frame.setVisible(false);
                frame.dispose();
                contractInformation.main(null);
            }
        });

我想我会把它改成。可能更容易-可能没有代码更改

我想我会把它转换成。可能更容易-可能没有代码更改

每次打开一个框架都不利于用户友好的应用程序。您最好使用JPanels,并在需要时将正确的一个放入小程序或JFrame(或任何组件)中。

每次打开一个框架都不利于用户友好的应用程序。您最好使用JPanels,并在需要时将正确的JPanels放入Applet或JFrame(或任何组件)。

事实上,这通常可以在几乎不更改代码的情况下完成。我觉得这是部署此GUI的一个很好的替代方案,并将此设置为a+1,尽管可能会有人认为它应该作为注释进行设置。;)WebStart稍微有点困难,但如果在浏览器中运行小程序,可能会耗尽内存。当然,您可以在自己的
类FramePanel Extendes JPanel
中打开JFrames,并在小程序框架面板中替换它。@JoopEggen“WebStart比小程序稍微难一点?!”?!?几乎不关于JWS,唯一更困难的是它需要所有资源都在一个Jar中。applet的(许多)困难之处都是从“浏览器”(以及applet/JRE/browser交互问题)开始的。嗯,jar必须为webstart:)签名——但我认为你的评论对我的“答案”来说确实是一个评论。这是真的!但是,老实说,我想帮你!我真的认为不必为了部署应用程序而修改应用程序(即,使用webstart)可能是一种“可行之道”。事实上,它通常可以在几乎不更改代码的情况下完成。我觉得这是部署此GUI的一个很好的替代方案,即使可能有人认为它应该作为一个注释进行修改,也会给它一个+1。;)WebStart稍微有点困难,但如果在浏览器中运行小程序,可能会耗尽内存。当然,您可以在自己的
类FramePanel Extendes JPanel
中打开JFrames,并在小程序框架面板中替换它。@JoopEggen“WebStart比小程序稍微难一点?!”?!?几乎不关于JWS,唯一更困难的是它需要所有资源都在一个Jar中。applet的(许多)困难之处都是从“浏览器”(以及applet/JRE/browser交互问题)开始的。嗯,jar必须为webstart:)签名——但我认为你的评论对我的“答案”来说确实是一个评论。这是真的!但是,老实说,我想帮你!我真的认为不必为了部署应用程序而修改应用程序(即,使用webstart)可能是一条“可行之路”。“我有一个java应用程序,它有多个类,每个类都有自己的框架。”这就是这个GUI开始出错的地方。这里有三种选择。1)
CardLayout
2)
JDesktopPane
/
JInternalFrame
(s)3)1
JFrame
具有多个
JDialog
实例。@androwthson您一般不会重新编译JPanels吗?我想这取决于GUI。@owlstead包含许多组件的嵌套布局是我经常推荐的,但是对于这个用例来说,它听起来不太“正确”(或者至少不是“前三名”)。决定这一点的两个因素是应用程序。目前正在帧中,OP希望它的各个方面在需要时出现和消失。后者在嵌套布局中是可行的,但有点棘手。“我有一个java应用程序,有多个类,每个类都有自己的框架。”这就是这个GUI开始出错的地方。这里有三种选择。1)
CardLayout
2)
JDesktopPane
/
JInternalFrame
(s)3)1
JFrame
具有多个
JDialog
实例。@androwthson您一般不会重新编译JPanels吗?我想这取决于GUI。@owlstead包含许多组件的嵌套布局是我经常推荐的,但是对于这个用例来说,它听起来不太“正确”(或者至少不是“前三名”)。决定这一点的两个因素是应用程序。目前正在帧中,OP希望它的各个方面在需要时出现和消失。后者在嵌套布局中是可行的,但有点棘手。
CardLayout
非常适合交换这些面板。:)我想我误解了你先前对我的评论应该删除“一般”-我在一般情况下使用了太多的形容词:),谢谢大家竖起大拇指。
CardLayout
非常适合交换这些面板。:)我想我误解了你先前对我的评论应该删除“一般”-我在一般情况下使用了太多的形容词:),谢谢大家竖起大拇指。