JToggleButton的使用

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);
			}
		});
	}
}

你可能感兴趣的:(SWING)