GUI的概念
1,到目前为止,我们编写的都是控制输入的程序,操作使用非常不直观,采取一直方式让效果呈现在窗口上。
2,GUI及图形界面指采用图像方式显示的用户界面,与早期计算机的命令行界面相比,图形界面对于用户在视觉上更易于接受。
swing概述
1 swing 是一个为Java设计的GUI工具包javax.swing,该包中包括了图形用户界面
的各种组件支持。
2 一个 Java 的图形界面,由各种不同类型的“元素”组成,这些“元素”被称为
组件(Component)。
3 swing中的组件可以分为两大类:容器(如窗口,对话框,面板)和功能组件(如按钮,输
入框,菜单等).
4 它们的区别主要是在概念上的。因为每个容器也都是组件。
5 容器是一种可以包含组件的特殊组件。
容器组件
功能组件不能独立的展示出来,必须将组件放在一定的容器中慈爱可以显示出来。
容器可以容纳多个组件,通过调用组件的add方法向容器添加组件。
(其中:窗口JFrame和面板JPanel是最常用的两个容器)
用JFrame类用来创建窗体的基本架构
JFrame常用方法
this.setTitle("欢迎登录");//设置名字 this.setSize(300, 300);//设置窗口的长宽 this.setLocationRelativeTo(null);//水平垂直居中 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口时也关闭程序 //this.setResizable(false);//禁止拖拽
/*
要进行的代码
*/
this.setVisible(true);//创建窗口
Jpanel
• JPanel面板,它是轻量级的容器;
• 面板中可以添加其它组件,也可以设置布局,我们一般使用面板来实现布局嵌套;
自己创建Jpanel面板对象,把JPanel作为一个组件添加到窗口或某个面板中.
常用方法:
void setBackground(Color bg)设置面板的背景色,由参数bg指定颜色
void setLayout(LayoutManager mgr)设置面板的布局,参数是布局管理器
Component add(Component comp)往面板中添加一个组件
简单的代码演示
结果:
常用组件
标签(JLabel)标签是容纳文本和图标的控件,通常用来在界面中标识别的控件。
JLabel() | 创建一个空的标签 |
JLabel(String text) | 创建一个带文本的标签 |
方法: | |
void setText(String text) | 设置标签上的文本 |
String getText() | 获得标签上的文本 |
setFont(new Font(“宋体”,Font.BOLD, 18)); 设置字体
单行文本(JTextField)
JTextField的构造函数:
JTextField(int columns)
方法:
void setText(String text) | 设置文本框中的文本 |
String getText() | 获得文本框中的文本 |
多行文本框(JTextArea)
构造函数:
JTextArea(int rows, int columns) 创建一个指定行数和列数的空文本域
方法:
void setText(String text) 设置文本域中的文本
String getText() 获得文本域中的文本
void setFont(Font font) 设置文本域中文本的字体
void setLineWrap(boolean wrap) //是否自动换行,默认false
如果需要文本区自动出现滚动条,可将文本区对象放入滚动窗格(JScrollPane)中:
JScrollPane scrollPane = new JScrollPane(txtArea);
add(scrollPane );
密码框:JPasswordField
构造函数:
JPasswordField(String text)
JPasswordField(String text, int columns)
方法:
char[] getPassword()
按钮(JButton)
构造方法:
JButton(String text) 方法: | 创建一个带文本的标签 |
void setBackground(Color bg) | 设置按钮的背景色 |
void setEnabled(boolean b) 定 | 设置启用(或禁用)按钮,由参数b决 |
vo
id setToolTipText(String text) 设置按钮的悬停提示信息
利用上述组件创建一个简单的窗口
输出: