Swing程序设计(4)

2019-06-11 19:50

this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); }

/*创建触发事件*/

public void actionPerformed(ActionEvent e) { if(e.getActionCommand().equals(\)){

JOptionPane.showMessageDialog(null,\弹出对话框\); //弹出选项面板对话框 } } }

运行结果如下:

说明:setToolTipText()方法是为按钮设置提示文本,setEnable()方法是设置按钮是否可用。

? 单选按钮组件JRadioButton

在默认情况下,单选按钮(JradioButton)显示一个圆形图标,并且通常在该图标旁放置一些说明性文字,而在应用程序中,一般将多个单选按钮放置在按钮组中,使这些单选按钮表现出某种功能,当用户选中某个单选按钮后,按钮组中其他按钮将被自动取消。单选按钮是Swing组件中JradioButton类的对象,该类是JtoggleButton的子类,而JtoggleButton类又是AbstractButton类的子类,所以控制单选按钮的诸多方法都是AbstractButton类中的方法。 按钮组ButtonGroup

在Swing中存在一个ButtonGroup类,用于产生按钮组,如果希望将所有的单选按钮放置在按钮组中,需要实例化一个ButtonGroup对象,并使用该对象调用add()方法添加单选按钮。 例子

import java.awt.*; import javax.swing.*;

public class Test extends JFrame{ /*定义组件*/

private JLabel jl;

private JRadioButton an1,an2,an3; private ButtonGroup anzu1;

public static void main(String[] args){ Test T=new Test(); //创建本类对象 T.setVisible(true); //设置显示窗体

}

public Test() {

Container c=this.getContentPane(); /*设置窗体布局管理器*/

c.setLayout(new GridLayout(4, 1)); /*创建组件*/

jl=new JLabel(\请选择您的月薪:\,SwingConstants.LEFT); an1=new JRadioButton(\元~2000元\); an2=new JRadioButton(\元~3500元\); an3=new JRadioButton(\元~5000元\); anzu1=new ButtonGroup(); /*设置组件属性*/

an1.setSelected(true); anzu1.add(an1); anzu1.add(an2); anzu1.add(an3); /*为按钮添加事件*/ /*添加组件*/ c.add(jl); c.add(an1); c.add(an2); c.add(an3);

/*设置窗体属性*/

this.setTitle(\单选按钮\); this.setSize(200, 150); Dimension

screenSize=Toolkit.getDefaultToolkit().getScreenSize();

this.setLocation((screenSize.width-this.getWidth())/2,(screenSize.height-this.getHeight())/2); this.setResizable(false);

this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); }

/*创建触发事件*/ }

运行结果如下:

注:从中可以看出,实质上单选按钮与提交按钮的用法基本类似,只是实例化单选按钮对象后需要将其添加至按钮组中。如果将单选按钮添加至容器,需要一个一个的添加,而不是将按钮组ButtonGroup添加到相应的容器中。 ? 复选框组件JcheckBox

复选框(JcheckBox)在Swing组件中的使用也非常广泛,它具有一个方块图标,外加一段描述性文字。与单选按钮唯一不同的是复选框可以进行多选设置,每一个复选框都提供“选中”与“不选中”两种状态。复选框由JcheckBox类的对象表示,它同样继承于AbstractButton类,所以复选框组件的属性设置也来源于AbstractButton类。 例子

import java.awt.*;

import java.awt.event.*; import javax.swing.*;

public class Test extends JFrame{ /*定义组件*/

private JPanel mb1,mb2; private JTextArea jt; private JScrollPane mb3;

private JCheckBox jc1,jc2,jc3;

public static void main(String[] args){ Test T=new Test(); //创建本类对象 T.setVisible(true); //设置显示窗体 }

public Test() {

Container c=this.getContentPane(); /*设置窗体布局管理器*/

c.setLayout(new BorderLayout()); /*创建组件*/

jt=new JTextArea(3,10); mb3=new JScrollPane(jt); jc1=new JCheckBox(\房子\); jc2=new JCheckBox(\汽车\); jc3=new JCheckBox(\其他\);

mb1=new JPanel(); mb2=new JPanel(); /*设置组件属性*/ /*为按钮添加事件*/

jc1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { jt.setText(null);

jt.append(\您选择了房子\); } });

jc2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { jt.setText(null);

jt.append(\您选择了汽车\); } });

jc3.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { jt.setText(null);

jt.append(\您选择了其他\); } });

/*添加组件*/ mb1.add(mb3);

mb2.add(jc1); mb2.add(jc2); mb2.add(jc3); c.add(mb1,BorderLayout.NORTH); c.add(mb2,BorderLayout.SOUTH); /*设置窗体属性*/

this.setTitle(\复选框\); this.setSize(200, 150); Dimension

screenSize=Toolkit.getDefaultToolkit().getScreenSize();

this.setLocation((screenSize.width-this.getWidth())/2,(screenSize.height-this.getHeight())/2); this.setResizable(false);

this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); } }

运行结果如下:

注:JtextArea类中的setText()方法可以删除旧文本,其中的append()方法可以追加文本。

九、列表组件

Swing中提供了两种列表组件,分别为下拉列表框与列表框。下拉列表框与列表框都是带有一系列项目的组件,用户可以从中选择需要的项目。列表框较下拉列表框更直观一些,它将所有的项目罗列在列表框中;但下拉列表框较列表框更为便捷和美观,它将所有的项目隐藏起来,当用户选用其中的项目时才会显现出来。 ? 下拉列表框组件JcomboBox 1、JcomboBox类

初次使用Swing中的下拉列表框时,会感觉到该类下拉列表框与Windows操作系统中的下拉列表框有一些相似,实质上两者并不完全相同,因为Swing中的下拉列表框不仅可以供用户从中选择项目,同时也提供编辑项目中内容的功能。

下拉列表框是一个带条状的显示区,它具有下拉功能,在下拉列表框的右方存在一个倒三角形的按钮,当用户单击该按钮时,下拉列表框中的项目将会以列表形式显示出来。

Swing中的下拉列表框使用JcomboBox类对象来表示,它是javax.swing.Jcomponent类的子类。它的常用构造方法如下: public JComboBox(); public JComboBox(ComboBoxModel dataModel); public JComboBox(Object[] arrayData); public JComboBox(Vector vector); 2、JComboBox模型

在开发程序中,一般将下拉列表框中的项目封装为ComboBoxModel的情况比较多。ComboBoxModel为接口,它代表一般模型,可以自定义一个类实现该接口,然后在初始化JComboBox对象时向上转型为ComboBoxModel接口类型,但是必须实现其中的方法。

自定义这个类除了实现该接口之外,还可以继承AbstractListModel类,在该类中也有两个操作下拉列表框的重要方法。 例子

import java.awt.*; import javax.swing.*;

public class Test extends JFrame { /* 定义组件 */

private JLabel jl1; private JComboBox jc1;

public static void main(String[] args) { Test T = new Test(); // 创建本类对象 T.setVisible(true); // 设置显示窗体 }

public Test() {

Container c = this.getContentPane(); /* 设置窗体布局管理器 */

c.setLayout(new FlowLayout()); /* 创建组件 */

jl1 = new JLabel(\请选择身份:\);

jc1 = new JComboBox(new MyComboBoxModel()); /* 设置组件属性 */


Swing程序设计(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:PSA 制氮装置操作规程

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: