问题标签 [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.

0 投票
3 回答
8416 浏览

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 没有显示...

如果问题很愚蠢,请原谅我..我是初学者..

提前致谢...

0 投票
1 回答
991 浏览

java - 使用系统框架上的按钮关闭 Java 小程序的 JFrame 会导致延迟

我编写了一个打开 JFrame 的 java 小程序(所以当在浏览器中运行时,它会弹出一个小的新窗口)。

问题是,当按下窗口框架的一个按钮时,在窗口关闭/最小化/最大化之前会有轻微的延迟(不能移动鼠标 2 或 3 秒)。隐藏的菜单操作(按左上窗口图标时访问)完美运行。

在开发环境中,不会出现任何问题。

我目前正在使用 jdk 1.6 更新 16。

任何人的想法?

0 投票
3 回答
1018 浏览

java - 侦听 JFrame 的动作

我正在尝试为 JFrame 制作的 swing gui 收听 tab-in tab-out 动作。我在 JFrame 中添加了一个 JTextField,只要选择了窗口,它就会获取用户剪贴板,这样用户就可以在程序之间进行选项卡,复制一些 url,这样当回到我的程序时,这个 JTextField 将由复制的 url 字符串填充。

编辑:

我试过这个:

它不起作用

0 投票
4 回答
12393 浏览

java - JFrame 上的 MouseListener

我想在我的 JFrame 上收到鼠标事件(特别是鼠标进入和退出事件)的通知。但是当我向它添加鼠标侦听器时,我会在框架的边界上得到事件,而不是在整个框架及其内容。

关于为什么的任何想法?

编辑:或者至少你有其他选择吗?我想要一种“全局”方式来捕捉 JFrame 上的鼠标事件。也许鼠标监听器不是答案。

0 投票
1 回答
3009 浏览

java - 多次调用 JFrame.setGlassPane(Component)

JFrame.setGlassPane(Component)多次调用有什么技巧吗?在下面的代码中,我首先调用它在玻璃窗格中创建一个红色框。这很好用。然后,在鼠标单击处理程序中,我再次调用它以在新的玻璃窗格中创建一个蓝色框。这行不通。原来的红色玻璃板消失了,但蓝色玻璃板没有出现。我在这里做错了什么?

像这样调用repaint()并不能解决问题:

0 投票
1 回答
705 浏览

java - 来自 JAR 的多个 JFrame

我有一个启动多个窗口 (JFrame) 的 Java 应用程序。当我从命令行运行它时它工作正常。但是在将应用程序打包到 JAR 中并从 JAR 中运行之后,并不是所有的窗口都打开了。

有谁知道为什么会发生这种情况?JAR 文件有什么东西会阻止打开多个窗口吗?谷歌对此没有帮助;)

如果有一个简单的解决方案,我很想听听。同时,我正在考虑使用多文档界面,这样我就可以在 MDI 中添加和删除窗口,同时只有一个顶级容器。

0 投票
4 回答
18082 浏览

java - JFrame 在 setVisible(false) 时不隐藏

在 setVisible(false) 命令之后。JFrame 窗口仍然显示在我的桌面上。我该如何解决?

0 投票
2 回答
7558 浏览

java - 强制 JFrame 刷新

我在 JFrame 中构建了一个 UI。其中一个按钮启动了一个长时间运行的调用(仍在同一个 java 进程中),并且在它执行期间,UI 被冻结。

我想,为了清楚地表明事情仍在运行,我可以显示一个进度条,也许在一个弹出窗口中,以便用户可以随时了解程序正在做什么。

所以我正在创建一个新的 JDialog,向它添加一个 JProgressBar,并在事情发生时对其进行更新。问题是该对话框的内容没有得到更新。我对其标题所做的更改会立即显示,我输出到控制台的任何内容都会立即显示,但 UI 本身没有任何内容。

有没有我可以发出强制重绘的命令?

这是本节的核心:

然后,随着我们的进步......:

我错过了什么?我尝试在 SO 上搜索和搜索,并没有真正看到任何明显的东西?

0 投票
1 回答
933 浏览

swing - 保持在主应用程序窗口顶部的最小化 JFrame

我的应用程序会弹出一个对话框。用户通常希望在此对话框和应用程序窗口之间来回切换一段时间。我希望这个对话框保持在顶部,这样它就不会隐藏在主应用程序窗口后面。但同时我希望对话框有一个最小化按钮,以便在一段时间内不需要它时可以让开。

这是我尝试过的:

  • 使用无模式的 JDialog - 对话框很好地保持在前面,但它没有最小化按钮,也没有自己的任务栏按钮

  • 使用 JFrame - 对话框现在有一个最小化按钮和它自己的任务栏按钮,但是当主窗口获得焦点时,对话框隐藏在它后面。

  • 使用 JFrame 并在对话框中添加 WindowListener.windowDeactivated() { this.toFront() }。这样做的问题是 toFront() 也设置了焦点,所以你会得到一个奇怪的焦点闪烁效果。

  • 使用带有 setAlwaysOnTop 的 JFrame - 这是最接近的解决方案,但现在窗口将位于所有其他应用程序之上,而不仅仅是我的应用程序。

如果 toFront 只是在不改变焦点的情况下将 JFrame 带到前面会很容易,但不幸的是,情况并非如此。是否有另一种方法来更改 JFrame Z 顺序?

编辑:我突然想到,如果有一种简单的方法可以“汇总”JDialog,即最小化它而不是任务栏,那也可以解决我的问题。

0 投票
13 回答
151360 浏览

java - 如何在 Swing java 中制作 JFrame 模态

我创建了一个使用 JFrame 的 GUI。我应该如何使它成为模态的?