职业教育新东方网 > 职业教育 > 计算机 > 等级考试 > 计算机二级 > JAVA > 文章正文

2012年计算机二级Java按钮控件学习教程

分享到:

2011-12-30 10:57  作者:  来源:互联网  字号:T|T

8.2 按钮控件

  图8-1中有一个AbstractButton类,该类是Swing中所有按钮的父类,该类的三个直接派生类JButton、JToggleButton和JMenuItem。

  JButton与AWT中的Button类似,JButton有一个直接子类为BasicArrowButton,是一个带有箭头的按钮(箭头有上、下、左、右四个方向)。

  JToggleButton表示一个切换按钮,该类有两个直接子类是我们经常使用到的,JRadioButton—单选按钮和JCheckBox—复选按钮。

  JMenuItem包括三个直接子类,它们都是与菜单相关的按钮。

  程序[例8-3]演示了各个按钮的用法。

  [8-3]

  import java.awt.*;

  import javax.swing.*;

  import javax.swing.plaf.basic.BasicArrowButton;

  import java.awt.event.*;

  class ButtonsTest extends JFrame{

  private JButton jbutton = new JButton("JButton");

  private BasicArrowButton

  basicArrowButtonUp= new BasicArrowButton(BasicArrowButton.NORTH),

  basicArrowButtonDown= new BasicArrowButton(BasicArrowButton.SOUTH),

  basicArrowButtonLeft= new BasicArrowButton(BasicArrowButton.WEST),

  basicArrowButtonRight= new BasicArrowButton(BasicArrowButton.EAST);

  private JToggleButton jtoggleButton = new JToggleButton("JToggleButton");

  private JCheckBox jcheckBox = new JCheckBox("JCheckBox");

  private JRadioButton jradioButton = new JRadioButton("JRadioButton");

  public ButtonsTest(String title){

  super(title);

  Container contentPane = this.getContentPane();

  contentPane.setLayout(new FlowLayout(5));

  contentPane.add(jbutton);

  contentPane.add(basicArrowButtonUp);

  contentPane.add(basicArrowButtonDown);

  contentPane.add(basicArrowButtonLeft);

  contentPane.add(basicArrowButtonRight);

  contentPane.add(jtoggleButton);

  contentPane.add(jcheckBox);

  contentPane.add(jradioButton);

  this.pack();

  this.setVisible(true);

  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  }

  }

  public class Test8_3 {

  public static void main(String[] args) {

  new ButtonsTest("java各种按钮测试");

  }

  }

  运行结果如下。

图8-4 例8-3运行结果

  所有按钮组件单击时都可触发ActionListener事件,如果需要对这些按钮做某些处理,可构造事件处理器实现ActionListener进行事件处理。JRadioButton和JCheckBox在编程中经常使用到,我们会在8.4节选择组件中详细介绍。

 

《《《我要报班:  点击进入

(责任编辑:单月)

 

热点课讯

精彩问答

提问