【发布时间】:2011-05-05 15:59:28
【问题描述】:
我正在尝试构建简单的应用程序,只是为了获取知识。我想构建类似选项框的东西。当用户单击任何选项(如首选项)时,从菜单中会出现一个可移动面板。
JFrame 包含菜单栏,点击合适的菜单项应该会出现一个 JPanel。
我不知道继续。谁能帮帮我?
【问题讨论】:
-
可移动是什么意思?你想像动画一样展示它吗?
我正在尝试构建简单的应用程序,只是为了获取知识。我想构建类似选项框的东西。当用户单击任何选项(如首选项)时,从菜单中会出现一个可移动面板。
JFrame 包含菜单栏,点击合适的菜单项应该会出现一个 JPanel。
我不知道继续。谁能帮帮我?
【问题讨论】:
如果您要打开一个对话框,请查看JDialog。
【讨论】:
如果您想要 JFrame 中的可移动窗格,您应该检查 JDesktopPane + InternalFrame。
【讨论】:
明白这一点,我猜你正在尝试构建一个类似桌面的结构,如果你需要像桌面一样有不同的框架,我们同时打开两个 notpad 文件 n 它应该是可移动的,我建议你使用 JInternalframe 在 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();
}
}
【讨论】: