Java开发工程师是怎样炼成的------按钮篇(Buttons)之三

    本节主要讲解图示(Icons)

    我们常常能够看到每个按钮上都有一个小小的图片。下面我们就讲讲Icons和按钮搭配的一些用法。先看看下面的程序代码

 

import  java.awt. * ;
import  java.awt.event. * ;

public   class  Faces  extends  JApplet  {
    
static String path = "E:/java/java编程思想源代码/c13/";

    
static Icon[] faces = new ImageIcon(path + "face0.gif"),
            
new ImageIcon(path + "face1.gif"),
            
new ImageIcon(path + "face2.gif"),
            
new ImageIcon(path + "face3.gif"),
            
new ImageIcon(path + "face4.gif"), }
;

    JButton jb 
= new JButton("JButton", faces[3]),//构造函数中设置图片
            jb2 = new JButton("Disable");

    
boolean mad = false;

    
public void init() {
        Container cp 
= getContentPane();
        cp.setLayout(
new FlowLayout());
        
//按钮按下触发的事件
        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!");//鼠标置于其上时,显示汉字
        cp.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");
                }

            }

        }
);
        cp.add(jb2);
    }


    
public static void main(String[] args) {
        Faces applet 
= new Faces();
        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(
600300);
        frame.setVisible(
true);
    }

}

     本例演示了,按钮在不同的状态下能够显示不同的问题和图片。让按钮有了更好的动画效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值