java AbstractButton_java中的JLable或AbstractButton里如何设置图标

我们可在一个JLable或从AbstractButton处继承的任何事物中使用一个图标(包括JButton,JCheckbox,JradioButton及不同类型的JMenuItem)。利用JLables的图标十分的简单容易(我们会在随后的一个程序例子中看到)。下面的程序例子探索了我们可以利用按钮的图标和它们的衍生物的其它所有方法。

0356d67712f44d40ac1a7a4a4f34f521.png

我们可以使用任何我们需要的GIF文件,但在这个例子中使用的这个GIF文件是这本书编码发行的一部分,为了打开一个文件和随之带来的图像,简单地创建一个图标并分配它文件名。从那时起,我们可以在程序中使用这个产生的图标。

//: Faces.java

// Icon behavior in JButtons

package c13.swing;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class Faces extends JPanel {

static Icon[] faces = {

new ImageIcon("face0.gif"),

new ImageIcon("face1.gif"),

new ImageIcon("face2.gif"),

new ImageIcon("face3.gif"),

new ImageIcon("face4.gif"),

};

JButton

jb = new JButton("JButton", faces[3]),

jb2 = new JButton("Disable");

boolean mad = false;

public Faces() {

jb.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e){

if(mad) {

jb.setIcon(faces[3]);

mad = false;

} else {

jb.setIcon(faces[0]);

mad = true;

}

jb.setVerticalAlignment(JButton.TOP);

jb.setHorizontalAlignment(JButton.LEFT);

}

});

jb.setRolloverEnabled(true);

jb.setRolloverIcon(faces[1]);

jb.setPressedIcon(faces[2]);

jb.setDisabledIcon(faces[4]);

jb.setToolTipText("Yow!");

add(jb);

jb2.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e){

if(jb.isEnabled()) {

jb.setEnabled(false);

jb2.setText("Enable");

} else {

jb.setEnabled(true);

jb2.setText("Disable");

}

}

});

add(jb2);

}

public static void main(String args[]) {

Show.inFrame(new Faces(), 300, 200);

}

} ///:~

一个图标可以在许多的构建器中使用,但我们可以使用setIcon()方法增加或更换图标。这个例子同样展示了当事件发生在JButton(或者一些AbstractButton)上时,为什么它可以设置各种各样的显示图标:当JButton被按下时,当它被失效时,或者“滚过”时(鼠标从它上面移动过但并不击它)。我们会注意到那给了按钮一种动画的感觉。

注意工具提示条也同样增加到按钮中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值