在java中创建可移动面板

问题描述 投票:1回答:3

我想建立一个简单的应用程序,只是为了知识。我想建立一个类似于选项框的东西。当用户点击菜单中的任何一个选项(比如偏好),就会出现一个可移动的面板。

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

我不知道该怎么做。谁能帮帮我?

java swing panel frame
3个回答
2
投票

如果你的意思是要打开一个对话框,请看以下内容 JDialog.


0
投票

如果你想让可移动的窗格在你的JFrame里面,你应该检查一下。JDesktopPane + InternalFrame.


0
投票

我猜你是想建立一个类似于桌面的结构,你需要有不同的框架,就像在桌面上,我们同时打开两个notpad文件,它应该是可移动的,我建议你用 JInternalframe 关于 桌板 里面 JFrame 像这样。

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();
    }
}

输出:enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.