问题标签 [jframe]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 绘制 JPanel 并将 JPanel 添加到 JFrame
我需要通过覆盖 JPanel 的 paintComponent() 方法在 JPanel 上绘制图形。
当我在 JFrame 上拖放 JPanel 时使用 netbeans 设计 gui 时,它通过创建私有变量 JPanel 对象来生成代码。在这种情况下,我如何覆盖它的方法来绘制它......
或者,如果我通过扩展 JPanel 为类编写代码并覆盖绘制它的方法,我必须创建一个新的 JFrame 并将 JPanel 添加到它。
JFrame fr=new JFrame(); fr.add(窗格); //pane 是扩展 JPanel 的类的对象,我在其中绘制 fr.setVisible(true);
在这种情况下它有效..
但是,如果我得到自动创建的类的引用,该类通过 netbeans 扩展 JFrame 并使用它使用引用的 add 方法添加 JPanel,那么它就不起作用了......
它没有显示错误,但是当我运行程序时,只有 Jframe 可见.. JPanel 没有显示...
如果问题很愚蠢,请原谅我..我是初学者..
提前致谢...
java - 使用系统框架上的按钮关闭 Java 小程序的 JFrame 会导致延迟
我编写了一个打开 JFrame 的 java 小程序(所以当在浏览器中运行时,它会弹出一个小的新窗口)。
问题是,当按下窗口框架的一个按钮时,在窗口关闭/最小化/最大化之前会有轻微的延迟(不能移动鼠标 2 或 3 秒)。隐藏的菜单操作(按左上窗口图标时访问)完美运行。
在开发环境中,不会出现任何问题。
我目前正在使用 jdk 1.6 更新 16。
任何人的想法?
java - 侦听 JFrame 的动作
我正在尝试为 JFrame 制作的 swing gui 收听 tab-in tab-out 动作。我在 JFrame 中添加了一个 JTextField,只要选择了窗口,它就会获取用户剪贴板,这样用户就可以在程序之间进行选项卡,复制一些 url,这样当回到我的程序时,这个 JTextField 将由复制的 url 字符串填充。
编辑:
我试过这个:
它不起作用
java - JFrame 上的 MouseListener
我想在我的 JFrame 上收到鼠标事件(特别是鼠标进入和退出事件)的通知。但是当我向它添加鼠标侦听器时,我会在框架的边界上得到事件,而不是在整个框架及其内容。
关于为什么的任何想法?
编辑:或者至少你有其他选择吗?我想要一种“全局”方式来捕捉 JFrame 上的鼠标事件。也许鼠标监听器不是答案。
java - 多次调用 JFrame.setGlassPane(Component)
JFrame.setGlassPane(Component)
多次调用有什么技巧吗?在下面的代码中,我首先调用它在玻璃窗格中创建一个红色框。这很好用。然后,在鼠标单击处理程序中,我再次调用它以在新的玻璃窗格中创建一个蓝色框。这行不通。原来的红色玻璃板消失了,但蓝色玻璃板没有出现。我在这里做错了什么?
像这样调用repaint()
并不能解决问题:
java - 来自 JAR 的多个 JFrame
我有一个启动多个窗口 (JFrame) 的 Java 应用程序。当我从命令行运行它时它工作正常。但是在将应用程序打包到 JAR 中并从 JAR 中运行之后,并不是所有的窗口都打开了。
有谁知道为什么会发生这种情况?JAR 文件有什么东西会阻止打开多个窗口吗?谷歌对此没有帮助;)
如果有一个简单的解决方案,我很想听听。同时,我正在考虑使用多文档界面,这样我就可以在 MDI 中添加和删除窗口,同时只有一个顶级容器。
java - JFrame 在 setVisible(false) 时不隐藏
在 setVisible(false) 命令之后。JFrame 窗口仍然显示在我的桌面上。我该如何解决?
java - 强制 JFrame 刷新
我在 JFrame 中构建了一个 UI。其中一个按钮启动了一个长时间运行的调用(仍在同一个 java 进程中),并且在它执行期间,UI 被冻结。
我想,为了清楚地表明事情仍在运行,我可以显示一个进度条,也许在一个弹出窗口中,以便用户可以随时了解程序正在做什么。
所以我正在创建一个新的 JDialog,向它添加一个 JProgressBar,并在事情发生时对其进行更新。问题是该对话框的内容没有得到更新。我对其标题所做的更改会立即显示,我输出到控制台的任何内容都会立即显示,但 UI 本身没有任何内容。
有没有我可以发出强制重绘的命令?
这是本节的核心:
然后,随着我们的进步......:
我错过了什么?我尝试在 SO 上搜索和搜索,并没有真正看到任何明显的东西?
swing - 保持在主应用程序窗口顶部的最小化 JFrame
我的应用程序会弹出一个对话框。用户通常希望在此对话框和应用程序窗口之间来回切换一段时间。我希望这个对话框保持在顶部,这样它就不会隐藏在主应用程序窗口后面。但同时我希望对话框有一个最小化按钮,以便在一段时间内不需要它时可以让开。
这是我尝试过的:
使用无模式的 JDialog - 对话框很好地保持在前面,但它没有最小化按钮,也没有自己的任务栏按钮
使用 JFrame - 对话框现在有一个最小化按钮和它自己的任务栏按钮,但是当主窗口获得焦点时,对话框隐藏在它后面。
使用 JFrame 并在对话框中添加 WindowListener.windowDeactivated() { this.toFront() }。这样做的问题是 toFront() 也设置了焦点,所以你会得到一个奇怪的焦点闪烁效果。
使用带有 setAlwaysOnTop 的 JFrame - 这是最接近的解决方案,但现在窗口将位于所有其他应用程序之上,而不仅仅是我的应用程序。
如果 toFront 只是在不改变焦点的情况下将 JFrame 带到前面会很容易,但不幸的是,情况并非如此。是否有另一种方法来更改 JFrame Z 顺序?
编辑:我突然想到,如果有一种简单的方法可以“汇总”JDialog,即最小化它而不是任务栏,那也可以解决我的问题。
java - 如何在 Swing java 中制作 JFrame 模态
我创建了一个使用 JFrame 的 GUI。我应该如何使它成为模态的?