import java.awt.*;
import javax.swing.*;
import java.awt.event.*;public class BigFrame extends JFrame
{
public BigFrame()
{
Container c=getContentPane();
c.setLayout(new BorderLayout());
c.add(new JLabel("Maximize frame at startup"),BorderLayout.CENTER);
Dimension screensize=Toolkit.getDefaultToolkit().getScreenSize();
setSize(screensize);
setVisible(true);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
public static void main(String args[])
{
new BigFrame();
}
}

解决方案 »

  1.   

    这样是占满整个Screen,与最大化是有区别的.
      

  2.   

    使用Robot 类 (1.3以上)模拟鼠标点击该窗口的相对位置(也就是从最大化按钮的位置)
      

  3.   

    JDK1.4可以!
    无修饰的 Frame 
    使用这两种功能的最简单之处是支持无修饰 Frame。要隐藏 Frame 上的 Title bar,需要将指定 Frame 的 undecorated 属性设为 true。缺省情况下,该值为 false,当 Frame 显示出来后,您就无法更改此设置(如果您尝试更改的话,系统会抛出一个 IllegalComponentStateException 异常)。清单 1. 创建一个无修饰的 Frame 
      Frame frame = new Frame();
      frame.setUndecorated(true); 
    由于 Title bar 和其它的窗口修饰现在都已被隐藏,您无法依靠底层窗口管理系统提供对拖曳 Frame 的支持。您必须自己用一对鼠标侦听器来添加该支持。清单 2. 添加拖曳支持 
      // Avoid creating a point with each mousePressed() call
      Point origin = new Point();
      frame.addMouseListener(new MouseAdapter() {
        public void mousePressed(MouseEvent e) {
          origin.x = e.getX();
          origin.y = e.getY();
        }
      });
      frame.addMouseMotionListener(new MouseMotionAdapter() {
        public void mouseDragged(MouseEvent e) {
          Point p = frame.getLocation();
          frame.setLocation(
            p.x + e.getX() - origin.x, 
            p.y + e.getY() - origin.y);
        }
      }); 
    最大化 Frame 
    版本 1.2 中添加了 setState() 方法可实现编程控制图标化。现在,在版本 1.4 中用的是 setExtendedState() 方法。这种方法使用可接受状态(共 4 种)的位掩码标志。第 5 个标志 MAXIMIZED_BOTH,是其它两者的组合。可接受状态有:
    NORMAL — Frame 正常大小状态 
    ICONIFIED — 图标化状态 
    MAXIMIZED_BOTH — Frame 最大化状态(水平最大化和垂直最大化) 
    MAXIMIZED_HORIZ — 水平最大化状态(窗口环境可能不支持) 
    MAXIMIZED_VERT — 垂直最大化状态(窗口环境可能不支持) 通常情况下,您可能只用前 3 种状态。如果您发现需要组合状态,比如您希望将 Frame 图标化,但又要保留其当前最大化状态,您就要使用竖线(|)组合多种状态。然后,一旦您已经确定了正确的状态,就要使用新的 setExtendedState() 方法来更改 Frame 状态。 清单 3. 保留最大化状态 
      // Preserve maximized
      frame.setExtendedState(Frame.ICONIFIED 
        | frame.getExtendedState()); 
    一个完整的示例 
    下面是一个完整的示例,它隐藏 Frame 修饰,然后添加用于最大化、正常化、图标化(最小化)窗口的窗口按钮,并通过简单的 AWT 按钮组件关闭这个 Frame。除了按钮之外,还有一个区域可供拖曳 Frame。清单 4. Frame 修饰的完整示例 
    import java.awt.*;
    import java.awt.event.*;public class FrameTest {
      static Point origin = new Point();
      public static void main (String args[]) {
        final Frame frame = new Frame();
        frame.setUndecorated(true);
        frame.addMouseListener(new MouseAdapter() {
          public void mousePressed(MouseEvent e) {
            origin.x = e.getX();
            origin.y = e.getY();
          }
        });
        frame.addMouseMotionListener(new MouseMotionAdapter() {
          public void mouseDragged(MouseEvent e) {
            Point p = frame.getLocation();
            frame.setLocation(
              p.x + e.getX() - origin.x, 
              p.y + e.getY() - origin.y);
          }
        });
        frame.setSize(300, 300);
        Button b1 = new Button("Maximize");
        b1.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            frame.setExtendedState(Frame.MAXIMIZED_BOTH);
          }
        });
        Button b2 = new Button("Iconify");
        b2.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            // Preserve maximizing
            frame.setExtendedState(Frame.ICONIFIED 
       | frame.getExtendedState());
          }
        });
        Button b3 = new Button("Normal");
        b3.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            frame.setExtendedState(Frame.NORMAL);
          }
        });
        Button b4 = new Button("Close");
        b4.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            System.exit(0);
          }
        });
        frame.setLayout(new GridLayout(5,1));
        frame.add(b1);
        frame.add(b2);
        frame.add(b3);
        frame.add(b4);
        frame.show();
      }
      

  4.   

    我的JDK是1.3的,setStatus()就只有两个量可选.还有其它方法吗?
      

  5.   

    也许可以通过事件触发,可以找找Frame是如何捕捉到最大化事件的,然后可以自己触发一个。
      

  6.   

    在IBM的中文网站上你可以找到答案,上面推荐使用jdk1.4。jdk1.4获得比较方便。
      

  7.   

    在IBM的中文网站上你可以找到答案,上面推荐使用jdk1.4。jdk1.4获得比较方便。
      

  8.   

    在IBM的中文网站上你可以找到答案,上面推荐使用jdk1.4。jdk1.4获得比较方便。
      

  9.   

    Maximize a Frame
    // place this in the Frame constructor, after the show()
    this.move(0,0);
    resize(Toolkit.getDefaultToolkit().getScreenSize());
     
    NOTE: JDK1.2 offers a new method, setState(), to minimize or maximize a Frame.