在java中创建框架内的可移动面板

发布于 2024-11-05 18:18:59 字数 145 浏览 3 评论 0原文

我正在尝试构建简单的应用程序,只是为了获取知识。我想构建类似选项框的东西。当用户单击菜单中的任何选项(如首选项)时,会出现一个可移动面板。

JFrame 包含菜单栏,单击合适的菜单项应该会出现 JPanel。

我不知道继续下去。谁能帮助我吗?

I am trying to build simple application, just for knowledge. I would like to build something like option box. From menu when user clicks any option(like preferences) then a movable panel appears.

JFrame contains menu bar, and suitable menu item on clicked should cause a JPanel to appear.

I got no idea to proceed. Can anyone help me?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

风向决定发型 2024-11-12 18:18:59

如果您想打开一个对话框,请查看 JDialog

If you mean to open a dialog, have a look at JDialog.

奶气 2024-11-12 18:18:59

如果您希望 JFrame 内有可移动窗格,您应该检查 JDesktopPane + InternalFrame< /a>.

If you want the moveable pane inside your JFrame, you should check JDesktopPane + InternalFrame.

暮光沉寂 2024-11-12 18:18:59

明白了这一点,我猜你正在尝试构建一个类似桌面的结构,如果你需要有不同的框架,就像在桌面中一样,我们同时打开两个 notpad 文件,它应该是可移动的,我可以建议你使用 JInternalframe< /strong> 在 JFrame 内的 Desktoppane 上,如下所示:

public class Demo {
    public static void main(String[] args) {
        
        JFrame jf=new JFrame();
        jf.setLayout(null);
        jf.setSize(1280, 720);
        jf.setVisible(true);
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        JDesktopPane jDesktopPane=new JDesktopPane();
        jDesktopPane.setBounds(0, 0, 1280, 720);
        jDesktopPane.setVisible(true);
        jDesktopPane.setLayout(null);
        jf.add(jDesktopPane);
        jf.repaint();
        
        
        JInternalFrame jInternalFrame=new JInternalFrame();
        jInternalFrame.setLocation(100, 100);
        jInternalFrame.setSize(500, 300);
        jInternalFrame.setTitle("Internal frame");
        jInternalFrame.setVisible(true);
        jInternalFrame.setClosable(true);
        jInternalFrame.setResizable(true);
        jDesktopPane.add(jInternalFrame);
        jDesktopPane.repaint();
        jf.repaint();
    }
}

输出:
输入图片此处描述

Getting the point i guess you are trying to build a desktop like structure were you need to have different frame like in desktop we open two notpad files at same time n it should be movable in that can i suggesst you to use JInternalframe on a Desktoppane inside a JFrame like this:

public class Demo {
    public static void main(String[] args) {
        
        JFrame jf=new JFrame();
        jf.setLayout(null);
        jf.setSize(1280, 720);
        jf.setVisible(true);
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        JDesktopPane jDesktopPane=new JDesktopPane();
        jDesktopPane.setBounds(0, 0, 1280, 720);
        jDesktopPane.setVisible(true);
        jDesktopPane.setLayout(null);
        jf.add(jDesktopPane);
        jf.repaint();
        
        
        JInternalFrame jInternalFrame=new JInternalFrame();
        jInternalFrame.setLocation(100, 100);
        jInternalFrame.setSize(500, 300);
        jInternalFrame.setTitle("Internal frame");
        jInternalFrame.setVisible(true);
        jInternalFrame.setClosable(true);
        jInternalFrame.setResizable(true);
        jDesktopPane.add(jInternalFrame);
        jDesktopPane.repaint();
        jf.repaint();
    }
}

Output:
enter image description here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文