目录

Frame

介绍 (Introduction)

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

类声明

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

public class Frame
   extends Window
      implements MenuContainer

字段 (Field)

以下是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取代。

类构造函数

SN 构造函数和描述
1

Frame()

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

2

Frame(GraphicsConfiguration gc)

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

3

Frame(String title)

构造一个具有指定标题的新的,最初不可见的Frame对象。

4

Frame(String title, GraphicsConfiguration gc)

构造一个具有指定标题和GraphicsConfiguration的新的,最初不可见的Frame对象。

类方法

SN 方法和描述
1

void addNotify()

通过将此框架连接到本机屏幕资源,可以显示此框架。

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

框架示例

使用您选择的任何编辑器创建以下java程序,例如D:/ 》 AWT 》 com 》 iowiki 》 gui 》

AwtContainerDemo.java
package com.iowiki.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 IoWiki 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\iowiki\gui\AwtContainerDemo.java

如果没有错误,那意味着编译成功。 使用以下命令运行程序。

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

验证以下输出

AWT框架
↑回到顶部↑
WIKI教程 @2018