【发布时间】:2012-11-13 22:04:15
【问题描述】:
This question 讨论了 JFrame 扩展到 Windows 任务栏的已知错误。 An answer 链接到错误报告(有各种重复)并提供解决方法。我发现这个问题也适用于 JDialogs。 JFrame 解决方法不适用。是否有类似的解决方法可以让 JDialogs 在 Windows 上表现自己?
示例代码:
import javax.swing.*;
public class Demo extends JDialog {
public Demo() {
setSize(250,12500);
setVisible(true);
}
public static void main(String[] args) {
new Demo();
}
}
编辑:
看起来这不会在 JDK 中修复。 This bug report 以评论结束,“如果开发人员希望他们的窗口在屏幕上完全可见,他们应该考虑自己检查屏幕插图[如下面的解决方案],并重新布局他们的以不同的方式组件,或在调用 pack() 后手动调整窗口大小,或使用屏幕插入感知布局管理器[不像 BorderLayout 和 GridBagLayout 等更常见的布局管理器]。” p>
【问题讨论】:
-
setMaximumSize(new Dimension(x, y));?
-
我希望有一个独立于分辨率的解决方案,就像链接的 JFrame 问题中的解决方案一样。
-
你为什么设置这么大的尺寸?你能给我们一些关于你实际尝试做的事情的背景吗?
-
我只是通过使 y 变得非常大来尽可能简单地揭示 JDK 错误。实际的界面是一个滚动窗格,上面有很多行,下面有一个 OK 按钮。在 Windows 上运行时,确定按钮被任务栏隐藏。
-
" 是否有类似的解决方法可以让 JDialogs 在 Windows 上表现自己?" 让它们比可用的屏幕尺寸小 10(?)%?
标签: java windows swing taskbar jdialog