如何通过代码最大化 JFrame?
Posted
技术标签:
【中文标题】如何通过代码最大化 JFrame?【英文标题】:How to maximize a JFrame through code? 【发布时间】:2011-07-12 14:34:24 【问题描述】:如何通过代码最大化一个JFrame?
【问题讨论】:
您是否尝试查看为 JFrame 及其超类定义的方法? @Andrew:是的,先生,我做到了,这对我的大脑来说太复杂了。 这是一个相关的example。 另见我给here的答案。 【参考方案1】:对于类似的问题: http://bugs.sun.com/view_bug.do?bug_id=7177173
jdk7 的一个问题。尝试不直接在 .setVisable() 之后调用 .setExtendedState()
【讨论】:
【参考方案2】:是的,Toolkit 解决方案会忽略 Windows 任务栏并使用全屏,这不是您想要的。
要立即最大化您的表单,只需在 JFrame
构造函数中添加 InitiateComponents()
调用之后。
this.setExtendedState(JFrame.MAXIMIZED_BOTH);
课程当然扩展JFrame
:
public class MyForm extends javax.swing.JFrame
【讨论】:
【参考方案3】:setExtendedState(JFrame.MAXIMIZED_BOTH);不工作是java 7
你可以试试这个代码是否有效。
Toolkit tk = Toolkit.getDefaultToolkit();
int xSize = ((int) tk.getScreenSize().getWidth());
int ySize = ((int) tk.getScreenSize().getHeight());
setSize(xSize,ySize);
【讨论】:
hmm ... 在任何最新版本中,MAXIMIZED_BOTH 对我来说都很好。你的操作系统是什么?顺便说一句:手动调整大小的问题是没有考虑任务栏(至少不可靠) 更好的使用setPreferredSize【参考方案4】:这在 Java 7 之前完美运行
public class TEST
public static void main(String args[])
JFrame jf= new JFrame();
jf.setVisible(true);
jf.setExtendedState(JFrame.MAXIMIZED_BOTH);
【讨论】:
【参考方案5】:试试这个:
f.setExtendedState( f.getExtendedState()|JFrame.MAXIMIZED_BOTH );
【讨论】:
我在谷歌搜索后发现了同样的情况。但是,上面的代码不适用于较新版本的 Java。JFrame
没有该成员...MAXIMIZED_WHATEVER
.
@Tony:你使用的是哪个版本的 Java?
@Harry:他们将常量MAXIMIZED_WHATEVER
从JFrame
移动到java.awt.Frame
。这一改变解决了我的问题。我建议您也更新您的答案。谢谢。
@TonyOgrewall 是的,但是 afaik 它从 Frame
继承到 JFrame
所以你仍然可以使用它。以上是关于如何通过代码最大化 JFrame?的主要内容,如果未能解决你的问题,请参考以下文章