AWT Frame类
1 什么是Java AWT Frame
Frame类是一个带有边框和标题的顶级窗口。它使用 BorderLayout 作为默认布局管理器。
2 Java AWT Frame的语法
public class Frame
extends Window
implements MenuContainer
3 Java AWT Frame的构造方法
构造方法 | 描述 |
---|---|
Frame() | 构造一个最初不可见的 Frame 的新实例。 |
Frame(GraphicsConfiguration gc) | 使用指定的 GraphicsConfiguration 构造一个新的、最初不可见的 Frame。 |
Frame(String title) | 用指定的标题构造一个新的、最初不可见的 Frame 对象。 |
Frame(String title, GraphicsConfiguration gc) | 使用指定的标题和 GraphicsConfiguration 构造一个新的、最初不可见的 Frame 对象。 |
4 Java AWT Frame的方法
方法 | 描述 |
---|---|
void addNotify() | 通过将其连接到本机屏幕资源,使此 Frame 可显示。 |
AccessibleContext getAccessibleContext() | 获取与此 Frame 关联的 AccessibleContext。 |
int getCursorType() | 已弃用。从 JDK 1.1 版开始,由 Component.getCursor() 取代。 |
int getExtendedState() | 获取此帧的状态。 |
static Frame[] getFrames() | 返回此应用程序创建的所有帧的数组。 |
Image getIconImage() | 返回要显示为该框架图标的图像。 |
Rectangle getMaximizedBounds() | 获取此帧的最大化边界。 |
MenuBar getMenuBar() | 获取此框架的菜单栏。 |
int getState() | 获取此帧的状态(已过时)。 |
String getTitle() | 获取框架的标题。 |
boolean isResizable() | 指示此框架是否可由用户调整大小。 |
boolean isUndecorated() | 指示此框架是否未修饰。 |
protected String paramString() | 返回表示此 Frame 状态的字符串。 |
void remove(MenuComponent m) | 从此框架中删除指定的菜单栏。 |
void removeNotify() | 通过移除与其原生屏幕资源的连接,使此 Frame 无法显示。 |
void setCursor(int cursorType) | 已弃用。从 JDK 1.1 版开始,由 Component.setCursor(Cursor) 取代。 |
void setExtendedState(int state) | 设置此帧的状态。 |
void setIconImage(Image image) | 设置要作为此窗口图标显示的图像。 |
void setMaximizedBounds(Rectangle bounds) | 设置此帧的最大化边界。 |
void setMenuBar(MenuBar mb) | 将此框架的菜单栏设置为指定的菜单栏。 |
void setResizable(boolean resizable) | 设置此框架是否可由用户调整大小。 |
void setState(int state) | 设置此帧的状态(已过时)。 |
void setTitle(String title) | 将此帧的标题设置为指定的字符串。 |
void setUndecorated(boolean undecorated) | 禁用或启用此框架的装饰。 |
5 Java AWT Frame的例子
让我们看一个简单的Java AWT Frame类示例。
package com.yiidian;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
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 yiidian.com 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);
}
}
输出结果为:
热门文章
优秀文章