我一直在尝试获取使用Netbeans自动最大化的窗口。

我可能已经浏览了Google的4到5页来寻找答案。

网页总是提供如下内容:

public void run() {
    MyFrame myFrame = new MyFrame();
    myFrame.setVisible(true);
    myFrame.setExtendedState(myFrame.getExtendedState() | JFrame.MAXIMIZED_BOTH);
}


我正在使用Netbeans 6.9.1

这不再有效吗?还有另一种方法吗?

另外,如果您在网页上找到答案,请提供链接,以便我进一步调查。预先感谢您的任何投入! :)

最佳答案

关于setExtendedState(),“请注意,如果给定平台不支持该状态,则不会发生任何事情。”

如果这不相关,则sscce可能会有所帮助。

附录:此示例似乎可以正常运行:

import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;

/** @see http://stackoverflow.com/questions/5207425 */
public class NewJavaGUI extends JPanel {

    private void display() {
        JFrame f = new JFrame("NewJavaGUI");
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.add(this);
        f.pack();
        f.setExtendedState(f.getExtendedState() | JFrame.MAXIMIZED_BOTH);
        f.setVisible(true);
    }

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {

            @Override
            public void run() {
                new NewJavaGUI().display();
            }
        });
    }
}


附录:相关的状态常量似乎形成了一个连贯的集合。特别是MAXIMIZED_HORIZ | MAXIMIZED_VERT == MAXIMIZED_BOTH

正常0 0000
MAXIMIZED_HORIZ 2 0010
MAXIMIZED_VERT 40100
MAXIMIZED_BOTH 60110

10-04 20:18