我已经看过java库了,不知道该怎么做才能做到这一点.. 我已经尝试过JInternalFrame,但那不是我真正想要的......因为它需要被添加到JDesktopPanel中吗?
在我的程序中,我有一个使用BorderLayout的内容窗格的JFrame .. 然后在borderlayout中心我有一个JTextArea,在borderlayout东边我有一个列表..在borderlayout南部我有一个JPanel ..
我想要的是,当我做某个动作时,它会弹出一个“迷你窗口”,我需要选择一些东西......你看到了吗? 如果我创建JDesktopLane,它将重叠我在容器上的内容..
窗口将由我像一个颜色选择器托盘,就像一个带有颜色的网格......以及一个标签顶部说一些文字..
我只是不知道如何在其他组件上创建一个“窗口”,用户仍然可以拖动框架,并与所有其他组件进行交互.. jtextarea等...
我猜你明白了,非常感谢! 如果你不明白的东西请告诉我,我真的想这样做:) 只是不知道该用什么..
再次感谢;)
答案 0 :(得分:2)
您是否尝试过JDialog?
答案 1 :(得分:2)
这是因为Jdialog不是要在JFrame中添加的组件,它是一个独立的东西,它自己运行
如果使用JDialog,则构造参数parent表示与JDialog相关的帧。
答案 2 :(得分:1)
此任务的典型类是JWindow
,一个可以自由定位的无边框顶层窗口。您可以使用SwingUtilities.getPointFromComponent
获取已实现坐标的屏幕坐标。
顶级窗口(JFrame,JDialog,JWindow)未添加到容器中。他们可以将其他窗户作为父母。
我不想使用另一个JFrame ..这对代码来说有点不好,它是一个功能简单的小窗口..
构建您的代码以便您可以阅读它,其他人可以阅读它,您可以轻松地调试它(后者是第一个的结果)。低级别的计数是无用的,而且大部分时间都是反作用的。
为什么另一个JFrame(或其他窗口)不好?
如果您绝对想要避免打开顶级窗口(例如,为了避免applet警告图标或实现特殊类型的用户界面),您可以使用JLayeredPane
在您的上方添加额外的JPanel
现有的GUI元素。