Java JFrame
1 Java JFrame的介绍
javax.swing.JFrame类是一种继承java.awt.Frame类的容器。JFrame的工作原理类似于主窗口,其中添加了标签,按钮,文本字段等组件以创建GUI。
与Frame不同,JFrame可以选择使用setDefaultCloseOperation(int) 方法来隐藏或关闭窗口。
2 Java JFrame的内部类
方法
描述
protected class JFrame.AccessibleJFrame
此类实现对JFrame类的可访问性支持。
3 Java JFrame的字段
方法
描述
protected AccessibleContext accessibleContext
可访问的上下文属性。
static int EXIT_ON_CLOSE
退出应用程序默认窗口关闭操作。
protected JRootPane rootPane
JRootPane实例,它管理该框架的contentPane和可选menuBar以及glassPane。
protected boolean rootPaneCheckingEnabled
如果为true,则对add和setLayout的调用将转发到contentPane。
4 Java JFrame的构造方法
方法
描述
JFrame()
构造了一个最初不可见的新框架。
JFrame(GraphicsConfiguration gc)
在屏幕设备的指定GraphicsConfiguration和空白标题中创建一个Frame。
JFrame(String title)
使用指定的标题创建一个新的,最初不可见的Frame。
JFrame(String title, GraphicsConfiguration gc)
使用屏幕设备的指定标题和指定GraphicsConfiguration创建一个JFrame。
5 Java JFrame的方法
方法
描述
protected void addImpl(Component comp, Object constraints, int index)
添加指定的子组件。
protected JRootPane createRootPane()
由构造方法调用以创建默认的rootPane。
protected void frameInit()
由构造函数调用以正确初始化JFrame。
void setContentPane(Containe contentPane)
设置contentPane属性
static void setDefaultLookAndFeelDecorated(boolean defaultLookAndFeelDecorated)
提供有关新创建的JFrame是否应具有当前外观提供的其Window装饰(例如边框,关闭窗口的小部件,标题...)的提示。
void setIconImage(Image image)
将图像设置为该窗口的图标。
void setJMenuBar(JMenuBar menubar)
设置此框架的菜单栏。
void setLayeredPane(JLayeredPane layeredPane)
设置了layeredPane属性。
JRootPane getRootPane()
返回此框架的rootPane对象。
getTransferHandler()
获取transferHandler属性。
6 Java JFrame的案例
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
import java.awt.FlowLayout;
import javax.swing.*;
public class JFrameExample {
public static void main(String s[]) {
JFrame frame = new JFrame("JFrame案例-一点教程网");
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
JLabel label = new JLabel("JFrame By Example");
JButton button = new JButton();
button.setText("Button");
panel.add(label);
panel.add(button);
frame.add(panel);
frame.setSize(200, 300);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
输出结果为: