初学 Swing 组件

Swing 是一个为Java设计的GUI工具包。

Swing是JAVA基础类的一部分。

Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。

Swing提供许多比AWT更好的屏幕显示元素。它们用纯Java写成,所以同Java本身一样可以跨平台运行,这一点不像AWT。它们是JFC的一部分。它们支持可更换的面板和主题(各种操作系统默认的特有主题),然而不是真的使用原生平台提供的设备,而是仅仅在表面上模仿它们。这意味着你可以在任意平台上使用JAVA支持的任意面板。轻量级组件的缺点则是执行速度较慢,优点就是可以在所有平台上采用统一的行为。


1.框架(JFrame)

框架SwingGUI应用程序的主窗口,窗口包括边界、标题、关闭按钮等。

JFrame类是java.awt包中Frame类的子类,其子类创建的对象是窗体,对象(窗体)是重量容器。不能把组件直接添加到Swing窗体中,其含有内容面板容器,应该把组件添加到内容面板中;不能为Swing窗体设置布局,而应当Swing窗体的内容面板设置布局。

Swing窗体通过getContentPane()方法获得JFrame的内容面板,再对其加入组件;

JFrame frame = new JFrame();

Container ct = frame.getContentPane(); //获取内容面板容器

Ct.add(childComponent);  //降内容面板容器加入组件

框架(JFrame)常用的方法和事件:

frame.setVisibel(true):显示框架对象代表的框架窗口。

frame.setSize(200,100)或frame.pack():设置框架的初始显示大小。

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE):当用户单机框架的关闭按钮则退出程序,或者添加WindowListener监听器实现关闭按钮退出程序。


2.面板(JPanel)

JPanel组件定义面板实际上是一种容器组件,用来容纳各种其他轻量级组件。此外,用户还可以用这种面板容器绘制图形。

JPanel的构造方法如下:

JPanel():创建具有双缓冲和流布局(FlowLayout)的面板。

JPanel(LayoutManager layout):创建具有制定布局管理器的面板。

JPanel的 常用方法:

void add(Component):添加组件。

void add(Component,int):添加组件至索引指定位置。

void add(Component,Object):按照指定布局限制添加组件。

void add(Component,Object,int):按照指定布局管理器限制添加组件到指定位置。

void remove(Component):移除组件。

void remove(int):移除指定位置的组件。

void removeAll():移除所有组件。

void paintComponent(Graphics):绘制组件。

void repaint():重新绘制。

void setPreferredSize(Dimension):设置组件尺寸。

Dimension getPreferredSize():获取最佳尺寸。


3.文本框(JTextFieldJPasswordField)

JTextField组件用于创建文本框。文本框是用来接收用户的单行文本信息输入的区域。通常文本框用于接收用户信息或其他文本信息的输入。当用户输入文本信息后,如果为JTextField对象添加了事件处理,按回车键后就会触发一定的操作。

JPasswordField是JTextField的子类,是一种特殊的文本框,也是用来接收单行文本信息输入的区域,但是会用回显字符串代替输入的文本信息。因此,JPasswordField组件也称为密码文本框。JPasswordField默认的是回显字符是”*”,用户可以自行设置回显字符。

JTextField的常见构造方法有如下几种:

JTextField():创建一个空文本框。

JTextField(String text):创建一个具有出事文本信息text的文本框。

JTextField(String text,int columns):创建一个具有出事文本信息text以及制定列数的文本框。

JTextField的常用方法:

void setText(String):设置显示内容。

String getText():获取显示内容。

JPasswordField的构造方法有如下几种:

JPasswordField():创建一个空的密码文本框。

JPasswordField(String text):创建一个指定初始文本信息的密码文本框。

JPasswordField(String text,int columns):创建一个指定文本和列数的密码文本框。

JPasswordField(int columns):创建一个指定列数的密码文本框。

JPasswordField是JTextField的子类,因此JPasswordField也具有与JTextField类似的名称和功能的方法,此外,它还具有与JTextField类似的名称和功能的方法,此外,它还具有自己的独特方法:

boolean echoCharIsSet():获取设置回显字符的状态。

void setEchoChar(char):设置回显字符。

void getEchoChar():获取回显字符。

char[] getPassword():获取组件的文本。


4.按钮(Jbutton)

Swing中的按钮是Jbutton,它是javax.swing.AbstracButton类的子类,swing中的按钮可以显示图像,并且可以将按钮设置为窗口的默认图标,而且还可以将多个图像指定给一个按钮。

在JButton中有如下几个比较常用的构造方法。

JButton(Icon icon): 按钮上显示图标。

JButton(String text): 按钮上显示字符。

JButton(String text,Icon icon): 按钮上既显示图标又先施字符。

JButton类的方法:

setText(String text): 设置按钮的标签文本。

setIcon(Icon defaultIcon): 设置按钮在默认状态下显示的图片。

setRolloverIcon(Icon rolloverIcon): 设置当光标移动到按钮上方时显示的图片。

setPressedIcon(Icon pressedIcon): 设置当按钮被按下时显示的图片。

setContentAreaFilled(boolean b): 设置按钮的背景为同名,当设为fase时表示不绘制,默认为绘制。

setBorderPainted(boolean b): 设置为不绘制按钮的边框,当设为false时表示不绘制,默认为绘制。

按钮组件是GUI中最常用的一种组件。按钮组件可以捕捉到用户的单击事件,同时利用按钮事件处理机制响应用户的请求。JButton类是Swing提供的按钮组件,在单击JButton类对象创建的按钮时,会产生一个ActionEvent事件。



CLASSPATH

.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

你可能感兴趣的:(初学 Swing 组件)