目录
Swing分为:
- 顶级容器
- 中间容器
- 组件
给界面分开设置
给自己写一个界面 实质是自己写一个类 继承JFrame 其次JPanel也可以这样被继承
add
用于添加
比如 JFrame add JPanel 或者 JPanel add组件
图片后缀名
后缀名不要直接修改 如果真想改 要用工具转化
Swing菜单
在顶级容器中 设置菜单
最外面 菜单栏JMenuBar
中间 菜单JMenu
菜单里面 菜单项JMenuItem
其中菜单栏的添加是特殊的
菜单栏 加入Jframe的时候 使用的不是add 而是setJMenuBar
布局
用于管理组件位置的方式
1、自由布局
由中间容器设置布局 因为组件在中间容器里
setLayout(null);
所有组件 不会有默认位置和大小 所以不能显示
所以咱们自己设置组件布局的布局和大小
方法1:
btn1.setLocation(200,200);//设置位置
btn1.setSize(120,36);//设置大小
方法2:
myfield.setBounds(200,90,100,100);
2:FlowLayout 流式布局
为Jpanel的默认布局 将组件一排排放置 如果放不下 就自动往下掉
构造函数FlowLayout(FlowLayout.CENTER,水平间距,垂直间距))
3:BorderLayout: 边界布局
五个区域:North上,South下,East右,West左,Center中 优先满足上下左右 剩下的给中
不同界面大小中 上下高度不变 左右宽度不变
setPreferredSize();//设置首选大小
4:GridLayout 网格布局
让组件 呈现网格效果
//网格布局 两个参数 一个代表行 一个代表列 行优先满足
setLayout(new GridLayout(row,cols));
5:CardLayout 卡片布局
将多个组件堆成一摞的布局
背景图的设置
绘制背景图的方法swing自带
但是我们重写该方法
在JPanel中
g.drawImage(图,x,y,w,h,null)
//不能改变大小
setResizable(flase);
JButton
JButton(Icon icon):icon表示使用的图标
例子:
ImageIcon buttonIcon1 = new ImageIcon("images/1.gif");
JButton b1 = new JButton("First Button", buttonIcon1);
Jlable
JLabel(Icon icon):icon表示使用的图标
JLabel(String text,Icon icon,int align):text表示使用的字符串; icon表示使用的图标;align表示水平对齐方式,其值可以为:LEFT、RIGHT、CENTER。
例子:
ImageIcon icon = new ImageIcon("Calv.gif");
JLabel calv_label = new JLabel("这是 Calvin", icon,
SwingConstants.LEFT);
JTextField
JTextField 组件允许输入或编辑单行文本
JTextArea
JTextArea 组件用于接受来自用户的多行文本
实现可滚动界面
复选框
JCheckBox 类具有下列构造函数:
JCheckBox()
JCheckBox(Icon icon)
JCheckBox(Icon icon, boolean selected)
JCheckBox(String text)
JCheckBox(String text, boolean selected)
JCheckBox(String text, Icon icon)
JCheckBox(String text, Icon icon, boolean selected)
单选按钮
单选按钮允许用户从多个选项中选择其中一个
ButtonGroup 用于在 Swing 中创建组
JRadioButton 对象可使用下列构造函数创建:
JRadioButton()
JRadioButton(Icon icon)
JRadioButton(Icon, boolean selected)
JRadioButton(String text)
JRadioButton(String text, boolean selected)
JRadioButton(String text, Icon icon)
JRadioButton(String text, Icon icon, boolean selected)
JList 构造函数
public JList() : 使用空模型构造 JList
public JList(ListModel dataModel) :构造一个列表,用它显示指定模型中的元素。
public JList (Object[ ] listData) :构造一个列表以显示指定数组listData的元素。
JList 不支持滚动。要启用滚动,可使用下列代码:
组合框
文本域和下拉列表的组合
在 Swing 中,组合框由 JComboBox 表示
构造函数如下:
public JComboBox() : 此构造函数使用缺省数据模型创建 JComboBox
public JComboBox(ComboBoxModel asModel) : 使用现有 ComboBoxModel 中的项目的组合框
public JComboBox(Object [] items) : 包含指定数组元素的组合框
调字体
代码如下JLabel jl1 = new JLabel("床前明月光"); //创建1个JLabel实例
Font font = new Font("宋体", Font.PLAIN, 25);//创建1个字体实例
jl1.setFont(font);//设置JLabel的字体
jl1.setForeground(Color.PINK);//设置文字的颜色
Font 类的构造函数
public Font(String familyName,int style,int size)
具体解释如下:
familyName 是字体类型,例如宋体、仿宋、Times New Roman 等;
style 是字体风格,例如斜体字、加粗等;
size 是字体大小,其默认单位为 pt(磅),数字越大、字就越大(例如 12pt 字比 10pt 的字要大)。
官方提供 4 种字体风格固定值,如下:
Font.PLAIN(普通)
Font.BOLD(加粗)
Font.ITALIC(斜体)
Font.BOLD+ Font.ITALIC(粗斜体)