l Swing特点
l 1.Swing组件通常别称为“轻量级组件”,因为它完全有Java编写,而Java是不依赖于操作系统的语言,它可以在任何平台上运行;依赖于本地平台的组件被称为“重量级组件”,如Awt组件就依赖于本地平台的窗口系统来决定窗口系统来决定组件的功能、外观和风格。2.可插入外观组件。
l Swing包
l Swing组件大多数GUI组件都是Component类的直接子类或间接子类,JComponrnt类是Swing组件各种特性的存放位置,这些组件的特性包括设定组建边界,GUI组件自动滚动等
在Swing组件中最重要的父类是Container类,而Container类有两个最重要的子类,分别为java.awt.Window与java.awt.Frame,除了以往的AWT类组件会继承这两个类外,现在的Swing组件也扩展了这两个类
l 常见Swing组件
l 组件名称
l 组件名称 | l 定义 |
l JButton | l 代表Swing按钮,按钮可以带一些文字或图片 |
l JCheckBox | l 代表Swing中的一些复选框组件 |
l JComBox | l 代表下拉列表框,可以在下拉显示区域显示多个选项 |
l JFrame | l 代表Swing的框架类 |
l JDialog | l 代表Swing版本的对话框 |
l JLabel | l 代表Swing中的标签组件 |
l JRadioButton | l 代表Swing的单选按钮 |
l JList | l 代表能在用户界面显示一系列条目的组件 |
l JTextFied | l 代表文本框 |
l JPassWordField | l 代表密码框 |
l JTextArea | l 代表Swing中的文本区域 |
l JOptionPane | l 代表Swing中的一些对话框 |
l 常用窗体
l 窗体作为Swing应用程序中组建的承载体,处于非常重要的位置。常用的窗体包括:JFrame和JDialog.
l JFrame窗体是一个容器,它是Swing程序中各个组建的载体,可以将JFrame看作是承载这些Swing组件的容器。在开发应用程序时都可以继承java.swing.JFrame类创建一个窗体,在这个窗体中添加组件,同时为组件设置事件。由于该窗口继承了JFrame类,所以它拥有“最大化”,“最小化”,和“关闭”按钮。
l JFrame在程序中的语法格式如下:
参数含义:
Jf:JFrame类的对象
Container:container类的对象,可以使用JFrame对象调用getContentPane()方法获取。
Example:
public class Examplel extends JFrame {//定义一个类继承JFrame类
public void CreateJFrame(String title){//定义一个CreateJFrame()方法
JFrame jFrame = new JFrame(title);//实例化一个JFrame对象
Container container = jFrame.getContentPane();//获取一个容器
JLabel jLabel = new JLabel("这是一个JFrame窗体");//创建一个JLabel标签
//是标签的文字居中
jLabel.setHorizontalAlignment(SwingConstants.CENTER);
container.add(jLabel);//将标签添加到容器里
container.setBackground(Color.white);//设置容器的背景颜色
jFrame.setVisible(true);//使窗体可现
jFrame.setSize(200,150);//设置窗体大小
//设置窗体关闭方式
jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[]args){//在主方法调用CreatJFrame()方法
new Examplel().CreateJFrame("创建一个JFrame窗体");
}
}
结果:
窗体的关闭形式常用的有四种:
①DO_NOTHING_ON_CLOSE
②DISPOSE_ON_CLOSE
③HIDE_ON_CLOSE
④EXIT_ON_CLOSE
这几种操作实质上将一个int类型的常量封装在javax.swing.WindowConstants接口中。
第一种窗体退出方式代表什么都不做就将窗体关闭;第二种退出方式则代表任何注册监听程序对象后会自动关闭并释放窗体;第三种方式表示隐匿窗口的默认窗口关闭;第四种退出方式表示退出应用程序默认窗口关闭。
JDialog窗体
JDialog窗体是Swing组建中的对话框,它继承了AWT组件中java.awt.Dialog类。
DJialog窗体的功能是从一个窗体中弹出另一个窗体,就像是在使用IE浏览器时弹出的确定对话框一样。JDialog窗体实质上就是另一种类型的窗体,它是与JFrame窗体类似,在使用时需要调用getContentPane()方法将窗体转换为容器,然后在容器中设置窗体的特性。
在应用程序中创建JDialog窗体需要实例化JDialog类,通常使用一下JDialog类的构造方法
(1)public JDialog();创建一个没有标题和父类窗的对话框。
(2)Public JDialog();创建一个指定父类窗的对话框,但窗体没有标题
(3)Public JDialog(Frame f,boolean model):创建一个指定类型的对话框,并指定父窗体,但该窗体没有指定标题
(4)Public JDialog(Frame f,String title);创建一个指定标题和父类窗的对话框。
(5)Public JDialog(Frame f,String title,boolean model);创建一个指定标题、窗体和模式的对话框
案例:
public class MyDialog extends JDialog {//创建新类继承JDialog
public MyDialog(Frame frame){
//实例化一个Dialog类对象,指定对话框的父窗体,窗体标题和类型
super(frame,"第一个JDialog窗体",true);
Container container =getContentPane();//创建一个容器
container.add(new Label("这是一个对话框"));//在容器中添加标签
setBounds(120,120,100,100);//设置对话框窗体大小
}
}
public class MyFrame extends JFrame {//创建新类
public static void main(String[]args){//实例化MyDialog类对象
new MyFrame();
}
public MyFrame(){
Container container =getContentPane();//创建一个容器
container.setLayout(null);
JLabel jLabel = new JLabel("这是一个JFrame窗体");//在窗体中设置标签
//将标签中的文字至于标签中间的位置
jLabel.setHorizontalAlignment(SwingConstants.CENTER);
container.add(jLabel);
JButton jButton = new JButton("弹出对话框");//定义一个按钮
jButton.setBounds(10,10,100,21);//设置按钮大小
jButton.setBackground(Color.white);
jButton.addActionListener(new AbstractAction() {//为按钮添加鼠标点击事件
@Override
public void actionPerformed(ActionEvent e) {
//使MyJDialog窗体可见
new MyDialog(MyFrame.this).setVisible(true);
}
});
container.add(jButton);//将按钮添加到容器里
container.setBackground(Color.white);
setSize(200,200);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
setVisible(true);
}
}
结果:
便签组件和图表
便签的使用:
标签由JLabel类定义,它的父类是JCompopent类
标签可以显示一行只读文本、一个图像或带图像的文本,它并不能产生任何类型的事件,只是简单地显示文本和图片,但是可以使用标签的特性指定标签生文本的对齐方式。
JLabel类提供了多种构造方法,可以创建多种标签,如显示只有文本的标签、只有图标的标签或包含文本与图标的标签。JLabel类常见的几种构造方法如下:
Public JLabe();创建一个不带图标和文本的JLabel对象
Public JLabel(Icon icon);创建一个带图标的JLabel对象
Public JLabel(Icon icon,int aligment);创建一个带图标的JLabel对象,并设置图标水平对齐方式
Public JLabel(String text,int aligment);创建一个带文本的JLabel对象,并设置文字水平对齐方式
Public JLabel(String text,Icon icon,int aligment);创建一个带文本,带图标的JLabel对象。并设置标签内容的水平对齐方式
图标的使用:
Swing中的图标可以放置在按钮、标签等组件中,用于描述组建的用途。标签可以用java支持的图标文件类型进行创建,也可以使用java.awt.Graphics类提供的功能方法来创建。
创建图标:
在Swing中通过Icon借口来创建图标,可以在创建时给定图标的大小、颜色等特性。如果使用Icon接口,必须实现Icon接口中的三个方法:
①public int getIconHeight();
②Public int getIconWidth();
③public void painIcon(Component arg(),Graphics,int arg2,int arg3);
getIconHeight()与getIconWidth()方法用于获取图标的长与宽,paintIcon()方法用于实现指定坐标位置画图
实现Icon接口创建图标的例子:
public class DrawIcon implements Icon {//实现Icon接口
private int width;//声明图标的宽
private int height;//声明图标的长
//定义构造方法
public DrawIcon(int width,int height){
this.width = width;
this.height = height;
}
//paintIcon()方法
@Override
public void paintIcon(Component args0, Graphics args1, int x, int y) {
args1.fillOval(x,y,width,height); //绘制一个圆
}
//实现getIconWidth()方法
@Override
public int getIconWidth() {
return this.width;
}
//实现getIconHeight()方法
@Override
public int getIconHeight() {
return this.height ;
}
public static void main(String[]args){
DrawIcon icon = new DrawIcon(15,15);
//创建一个标签,并设置标签上的文字在标签正中间
JLabel jLabel= new JLabel("测试",icon,SwingConstants.CENTER);
jLabel.setBackground(Color.YELLOW);
JFrame jFrame = new JFrame();//创建一个JFrame窗口
Container container = jFrame.getContentPane();
container.add(jLabel);
container.setSize(200,200);
jFrame.setVisible(true);
jFrame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
}
}
结果:
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务