JToggleButton的使用.
JToggleButton类层次结构图:
java.lang.Object --java.awt.Component --java.awt.Container --javax.swing.JComponent --javax.swing.AbstractButton --javax.swing.JToggleButton
JToggleButton跟一般JButton其实很像,主要的差别在于一般的按钮按下去会自动弹回来,而JToggleButton按钮按下去会陷下 去,不会弹回来,除非你再按一次。由上面的类层次结构图可知JToggleButton也继承AbstractButton抽象类而来,因此 JToggleButton组件可以使用所有AbstractButton类所提供的方法。下面是JToggleButton所提供的构造函数:
JToggleButton构造函数:
- JToggleButton():建立一个新的JToggleButton。
- JToggleButton(Icon icon):建立一个有图像但没有文字的JToggleButton。
- JToggleButton(Icon icon,boolean selected):建立一个有图像但没有文字的JToggleButton,且设置其初始状态(有无选取)。
- JToggleButton(String text):建立一个有文字的JToggleButton。
- JToggleButton(String text,boolean selected):建立一个有文字的JToggleButton,初始状态有无被选取。
- JToggleButton(String text,Icon icon):建立一个有文字且有图像的JToggleButton,初始状态为有无被选取。
- JToggleButton(String text,Icon icon,boolean selected):建立一个有文字且有图像的JToggleButton,且设置其初始状态( 有无选取).
例子:
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ToggleButton { public static void main(String[] args) { JFrame f = new JFrame("ToggleButton"); Container contentPane = f.getContentPane(); contentPane.setLayout(new GridLayout(3, 1)); JToggleButton b1 = new JToggleButton("Button 1"); JToggleButton b2 = new JToggleButton("Button 2"); JToggleButton b3 = new JToggleButton("Button 3"); contentPane.add(b1); contentPane.add(b2); contentPane.add(b3); f.pack(); f.show(); f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } }
在5-5-1节中,我们曾介绍过JButton上使用Rollover的方法,且还有3种方法我们还没有使用过,那就是setDisableSelected Icon()、setSelectedIcon()与setRolloverSelectedIcon().我们来介绍一下setSelectedIcon()与setRolloverSelectedIcon()方法 ,而setDisableSelectedIcon方法就作为习题。
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ToggleRovllover { public static void main(String[] args) { JFrame f = new JFrame("ToggleRollover"); Container contentPane = f.getContentPane(); JToggleButton b = new JToggleButton(); b.setRolloverEnabled(true); b.setIcon(new ImageIcon(".\\icons\\rollover1.jpg")); b.setRolloverSelectedIcon(new ImageIcon(".\\icons\\rollover2.jpg")); b.setSelectedIcon(new ImageIcon(".\\icons\\rollover3.jpg")); contentPane.add(b); f.pack(); f.show(); f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } }