AWT Frame 类



简介

Frame 类是一个带有边框和标题的顶级窗口。它使用 BorderLayout 作为默认布局管理器。

类声明

以下是java.awt.Frame类的声明

public class Frame
   extends Window
      implements MenuContainer

字段

以下是java.awt.Frame类的字段

  • static float BOTTOM_ALIGNMENT -- 获取 getAlignmentY 的易用性常量。

  • static int CROSSHAIR_CURSOR -- 已弃用。已由 Cursor.CROSSHAIR_CURSOR 替代。

  • static int DEFAULT_CURSOR -- 已弃用。已由 Cursor.DEFAULT_CURSOR 替代。

  • static int E_RESIZE_CURSOR -- 已弃用。已由 Cursor.E_RESIZE_CURSOR 替代。

  • static int HAND_CURSOR -- 已弃用。已由 Cursor.HAND_CURSOR 替代。

  • static int ICONIFIED -- 此状态位表示窗口已最小化。

  • static int MAXIMIZED_BOTH -- 此状态位掩码表示窗口已完全最大化(即水平和垂直方向)。

  • static int MAXIMIZED_HORIZ -- 此状态位表示窗口已水平最大化。

  • static int MAXIMIZED_VERT -- 此状态位表示窗口已垂直最大化。

  • static int MOVE_CURSOR -- 已弃用。已由 Cursor.MOVE_CURSOR 替代。

  • static int N_RESIZE_CURSOR -- 已弃用。已由 Cursor.N_RESIZE_CURSOR 替代。

  • static int NE_RESIZE_CURSOR -- 已弃用。已由 Cursor.NE_RESIZE_CURSOR 替代。

  • static int NORMAL -- 窗口处于“正常”状态。

  • static int NW_RESIZE_CURSOR -- 已弃用。已由 Cursor.NW_RESIZE_CURSOR 替代。

  • static int S_RESIZE_CURSOR -- 已弃用。已由 Cursor.S_RESIZE_CURSOR 替代。

  • static int SE_RESIZE_CURSOR -- 已弃用。已由 Cursor.SE_RESIZE_CURSOR 替代。

  • static int SW_RESIZE_CURSOR -- 已弃用。已由 Cursor.SW_RESIZE_CURSOR 替代。

  • static int TEXT_CURSOR -- 已弃用。已由 Cursor.TEXT_CURSOR 替代。

  • static int W_RESIZE_CURSOR -- 已弃用。已由 Cursor.W_RESIZE_CURSOR 替代。

  • static int WAIT_CURSOR -- 已弃用。已由 Cursor.WAIT_CURSOR 替代。

类构造函数

序号构造函数 & 描述
1

Frame()

构造一个新的 Frame 实例,最初不可见。

2

Frame(GraphicsConfiguration gc)

使用指定的 GraphicsConfiguration 构造一个新的、最初不可见的 Frame。

3

Frame(String title)

使用指定的标题构造一个新的、最初不可见的 Frame 对象。

4

Frame(String title, GraphicsConfiguration gc)

使用指定的标题和 GraphicsConfiguration 构造一个新的、最初不可见的 Frame 对象。

类方法

序号方法 & 描述
1

void addNotify()

通过将其连接到本机屏幕资源来使此 Frame 可见。

2

AccessibleContext getAccessibleContext()

获取与此 Frame 关联的 AccessibleContext。

3

int getCursorType()

已弃用。从 JDK 版本 1.1 开始,由 Component.getCursor() 替代。

4

int getExtendedState()

获取此窗口的状态。

5

static Frame[] getFrames()

返回此应用程序创建的所有 Frame 的数组。

6

Image getIconImage()

返回要显示为此窗口图标的图像。

7

Rectangle getMaximizedBounds()

获取此窗口的最大化边界。

8

MenuBar getMenuBar()

获取此窗口的菜单栏。

9

int getState()

获取此窗口的状态(已过时)。

10

String getTitle()

获取窗口的标题。

11

boolean isResizable()

指示此窗口是否可由用户调整大小。

12

boolean isUndecorated()

指示此窗口是否没有修饰。

13

protected String paramString()

返回表示此 Frame 状态的字符串。

14

void remove(MenuComponent m)

从此窗口中删除指定的菜单栏。

15

void removeNotify()

通过删除其与本机屏幕资源的连接来使此 Frame 不可见。

16

void setCursor(int cursorType)

已弃用。从 JDK 版本 1.1 开始,由 Component.setCursor(Cursor) 替代。

17

void setExtendedState(int state)

设置此窗口的状态。

18

void setIconImage(Image image)

设置要显示为此窗口图标的图像。

19

void setMaximizedBounds(Rectangle bounds)

设置此窗口的最大化边界。

20

void setMenuBar(MenuBar mb)

将此窗口的菜单栏设置为指定的菜单栏。

21

void setResizable(boolean resizable)

设置此窗口是否可由用户调整大小。

22

void setState(int state)

设置此窗口的状态(已过时)。

23

void setTitle(String title)

将此窗口的标题设置为指定的字符串。

24

void setUndecorated(boolean undecorated)

禁用或启用此窗口的修饰。

继承的方法

此类继承自以下类的方法

  • java.awt.Window

  • java.awt.Container

  • java.awt.Component

  • java.lang.Object

Frame 示例

使用您选择的任何编辑器创建以下 Java 程序,例如在D:/ > AWT > com > tutorialspoint > gui >

AwtContainerDemo.java
package com.tutorialspoint.gui;

import java.awt.*;
import java.awt.event.*;

public class AwtContainerDemo {
   private Frame mainFrame;
   private Label headerLabel;
   private Label statusLabel;
   private Panel controlPanel;
   private Label msglabel;

   public AwtContainerDemo(){
      prepareGUI();
   }

   public static void main(String[] args){
      AwtContainerDemo  awtContainerDemo = new AwtContainerDemo();          
      awtContainerDemo.showFrameDemo();
   }

   private void prepareGUI(){
      mainFrame = new Frame("Java AWT Examples");
      mainFrame.setSize(400,400);
      mainFrame.setLayout(new GridLayout(3, 1));
      mainFrame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      });    
      headerLabel = new Label();
      headerLabel.setAlignment(Label.CENTER);
      statusLabel = new Label();        
      statusLabel.setAlignment(Label.CENTER);
      statusLabel.setSize(350,100);
   
      msglabel = new Label();
      msglabel.setAlignment(Label.CENTER);
      msglabel.setText("Welcome to TutorialsPoint AWT Tutorial.");

      controlPanel = new Panel();
      controlPanel.setLayout(new FlowLayout());

      mainFrame.add(headerLabel);
      mainFrame.add(controlPanel);
      mainFrame.add(statusLabel);
      mainFrame.setVisible(true);  
   }
   
   private void showFrameDemo(){
      headerLabel.setText("Container in action: Frame");   

      final Frame frame = new Frame();
      frame.setSize(300, 300);
      frame.setLayout(new FlowLayout());       
      frame.add(msglabel);
      frame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            frame.dispose();
         }        
      });    
      Button okButton = new Button("Open a Frame");

      okButton.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
            statusLabel.setText("A Frame shown to the user.");
            frame.setVisible(true);
         }
      });
      controlPanel.add(okButton);

      mainFrame.setVisible(true);  
   }
}

使用命令提示符编译程序。转到D:/ > AWT并键入以下命令。

D:\AWT>javac com\tutorialspoint\gui\AwtContainerDemo.java

如果没有错误,则表示编译成功。使用以下命令运行程序。

D:\AWT>java com.tutorialspoint.gui.AwtContainerDemo

验证以下输出

AWT Frame
awt_containers.htm
广告
© . All rights reserved.