摘要:包括了图形用户界面器件如文本框,按钮,分隔窗格和表。按照指定布局限制添加组件。移除指定位置的组件。通常文本框用于接收用户信息或其他文本信息的输入。因此,组件也称为密码文本框。创建一个具有出事文本信息以及制定列数的文本框。
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.文本框(JTextField和JPasswordField)
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事件。
欢迎加入学习交流群569772982,大家一起学习交流。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/67926.html
摘要:从不知为何物到现在一个小小的项目经理虽说不上此道高手,大概也算有点斤两了吧每次上网,泡逛论坛,没少去相关的版面总体感觉初学者多,高手少,精通的更少由于我国高等教育制度教材陈旧,加上自身发展不过十年左右的时间还有一个很重要的原因就是这门语言更 从不知java为何物到现在一个小小的j2ee项目经理虽说不上此道高手,大概也算有点斤两了吧每次上网,泡bbs逛论坛,没少去java相关的版 面总体...
摘要:事件对象携带了动作发生时的相关信息,比如通过事件对象获取按钮的字符串,通过字符串判断后执行不同的代码。使用监听器的步骤自己创建一个类使用这个类创建一个对象,用按钮对象的添加监听器方法添加这个对象。 ...
摘要:介绍是一个轻量级组件,它允许编辑单行文本。把字段文本用作针对的命令字符串。右对齐尾部对齐在所需的字段文本尺寸小于为它分配的尺寸时使用。这是由和方法确定的。如果具有操作侦听器,则导致侦听器获取一个,并使用事件。 介绍 JTextField是一个轻量级组件,它允许编辑单行文本。 JTextField 具有建立字符串的方法,此字符串用作针对被激发的操作事件的命令字符串。java.awt.T...
摘要:布局管理器也是通过构造器来创建的。流布局管理器的对齐方式如下所示。方法和方法分别获取和设置流布局管理器中控件和控件之间的水平间距。 流布局(FlowLayout)默认的JApplet,JPanel,JScrollPane 流布局是相对比较简单的一种布局管理器,也是最常用的布局管理器。在流布局中放置控件时,将按照控件的添加顺序,依次将控件从左到右进行摆放,并且在一行的最后会进行自动换...
阅读 2245·2021-11-24 09:38
阅读 1732·2021-11-22 14:44
阅读 1128·2021-07-29 13:48
阅读 2586·2019-08-29 13:20
阅读 1097·2019-08-29 11:08
阅读 2013·2019-08-26 10:58
阅读 1239·2019-08-26 10:55
阅读 3089·2019-08-26 10:39