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

来源:互联网 发布:淘宝高级搜索准确性 编辑:程序博客网 时间:2024/04/29 16:27

    本节主要讲解图示(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);
    }

}

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

原创粉丝点击