Swing技术应用与开发桌面图形界面程序,Swing由纯Java实现,不在依赖本地平台的GUI,因此可以在有操作系统平台上都保持相同的界面外观。用Swing编写图形用户界面主要涉及JFrame, JPanel, JButton等等类。其中,JFrame是界面布局的桌子;JPanel是放置控件的幕布,铺在JFrame上将空间分成若干块;JButton等控件添加到JPanel的指定位置中。
JFrame窗口容器
JFrame是Swing组件的顶层容器
JFrame的常用方法:
方法名 | 说明 |
---|---|
void setLayout( LayoutManager mg ) | 设置当前窗体使用的布局管理器 |
void setTitle( String title ) | 设置当前窗体的标题 |
void setBounds( int x,int b,int width,int hight ) | 设置当前窗体的大小 |
void setIconImage( Image image ) | 设置当前窗体的图标 |
void setResizable( false ) | 设置窗体不能调整大小 |
布局管理器
管理窗体中的组件的排列摆放顺序为:
默认:多个组件时重叠摆放
常见布局:
1.流式布局 FlowLayout 默认方向:从上到下 ,从左到右
2.网格布局 GridLayout 特点:表明行和列
3.边框布局 BorderLayout 默认方向:上北下南,左西右东,特点:标明位置和方向
常用控件
1.JLabel标签组件:能显示文字,还可以添加图像,并且当鼠标移动到标签位置时,会显示一段文字提示。
2.JTexField文本框:用与输入单行文本。
3.JPasswordField密码框:用于密码的输入。
4.JButton按钮组件:设置按钮,可以设置文字,图形等。
5.JPanel面板组件:可以将其他控件放在JPanel中,以组成一个子界面。
6.JComboBox选择框组件:将所有选项收藏,仅显示前面一个选项或被用户心中的某一个选项。
7.JRadioButton单选按钮:即用户只能选择一个按钮。
8.JCheckBox复选框组件:即可以有多个选项。
实践事例:
import javax.swing.ImageIcon;
import javax.swing.JFrame;
public class JFrameExample {
public static void main(String[] args) {
JFrame jf = new JFrame();
// 显示JF窗口
jf.setVisible(true);
// 调整尺寸
jf.setBounds(300, 200, 500, 600);
// 设置标题
jf.setTitle("xxx的窗口");
// 窗体不可变
jf.setResizable(false);
// 修改图标
ImageIcon ico = new ImageIcon("C:\\Users\\86151\\Pictures\\Saved Pictures\\123.jpg");
jf.setIconImage(ico.getImage());
}
}
package com.section10;
import java.awt.FlowLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
public class LoginFrame extends JFrame {
public LoginFrame() {
this.setBounds(300, 200, 500, 600);
this.setTitle("xxx的窗口");
ImageIcon ico = new ImageIcon("C:\\Users\\86151\\Pictures\\Saved Pictures\\123.jpg");
this.setIconImage(ico.getImage());
JButton jb1 = new JButton("登录");
JButton jb2 = new JButton("注册");
JButton jb3 = new JButton("注销");
// 流式布局
this.setLayout(new FlowLayout());
this.add(jb1);
this.add(jb2);
this.add(jb3);
}
public static void main(String[] args) {
LoginFrame j = new LoginFrame();
j.setVisible(true);
}
}
结果如下: