一、命名的含义
先来看一下类的层次结构:
这里所说的按钮是广义的按钮。所有的按钮、复选框(check boxes)、单选按钮(radio buttons)、甚至菜单项(nemu item)都继承自AbstractButton。
二、事例讲解
下面就BasicArrowButton、JButton、JcheckBox 、JRadioButton、JToggleButton举例说明一下他们的用法
import
javax.swing.
*
;
import java.awt. * ;
import javax.swing.plaf.basic. * ;
import javax.swing.border. * ;
public class Buttons extends JApplet ... {
//建立一个名字为JButton的普通按钮
JButton jb = new JButton("JButton");
//建立四个BasicArrowButton按钮
BasicArrowButton up = new BasicArrowButton(BasicArrowButton.NORTH),
down = new BasicArrowButton(BasicArrowButton.SOUTH),
right = new BasicArrowButton(BasicArrowButton.EAST),
left = new BasicArrowButton(BasicArrowButton.WEST);
public void init() ...{
Container cp = getContentPane();//获得容器
cp.setLayout(new FlowLayout());//设置布局
//在容器里添加四个按钮
cp.add(jb);
cp.add(new JToggleButton("JToggleButton"));//按一下会凹下去的按钮(双态按钮)
cp.add(new JCheckBox("JCheckBox"));
cp.add(new JRadioButton("JRadioButton"));
JPanel jp = new JPanel();
//设置名字为Directions的边界
jp.setBorder(new TitledBorder("Directions"));
jp.add(up);
jp.add(down);
jp.add(left);
jp.add(right);
cp.add(jp);
}
public static void main(String[] args) ...{
Buttons applet = new Buttons();
JFrame frame = new JFrame(applet.getClass().toString().substring(6));//建立一个名字为Buttons的frame
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//frame关闭方法
frame.getContentPane().add(applet);
applet.init();
applet.start();
frame.setSize(300, 300);
frame.setVisible(true);
}
import java.awt. * ;
import javax.swing.plaf.basic. * ;
import javax.swing.border. * ;
public class Buttons extends JApplet ... {
//建立一个名字为JButton的普通按钮
JButton jb = new JButton("JButton");
//建立四个BasicArrowButton按钮
BasicArrowButton up = new BasicArrowButton(BasicArrowButton.NORTH),
down = new BasicArrowButton(BasicArrowButton.SOUTH),
right = new BasicArrowButton(BasicArrowButton.EAST),
left = new BasicArrowButton(BasicArrowButton.WEST);
public void init() ...{
Container cp = getContentPane();//获得容器
cp.setLayout(new FlowLayout());//设置布局
//在容器里添加四个按钮
cp.add(jb);
cp.add(new JToggleButton("JToggleButton"));//按一下会凹下去的按钮(双态按钮)
cp.add(new JCheckBox("JCheckBox"));
cp.add(new JRadioButton("JRadioButton"));
JPanel jp = new JPanel();
//设置名字为Directions的边界
jp.setBorder(new TitledBorder("Directions"));
jp.add(up);
jp.add(down);
jp.add(left);
jp.add(right);
cp.add(jp);
}
public static void main(String[] args) ...{
Buttons applet = new Buttons();
JFrame frame = new JFrame(applet.getClass().toString().substring(6));//建立一个名字为Buttons的frame
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//frame关闭方法
frame.getContentPane().add(applet);
applet.init();
applet.start();
frame.setSize(300, 300);
frame.setVisible(true);
}