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.