>  기사  >  类库下载  >  Java 그래픽 인터페이스의 그래픽 버튼

Java 그래픽 인터페이스의 그래픽 버튼

高洛峰
高洛峰원래의
2016-10-17 09:13:562166검색

버튼 그래픽을 만들려면 ImageIcon 개체를 만들고 ImageIcon 개체에 그래픽 경로를 할당한 다음 해당 개체를 버튼에 전달하면 됩니다.

여기에는 (프로젝트 경로 아래, 비프로젝트 경로 아래, 상대 경로, 절대 경로), /가 앞에 오지 않는 상대 경로, 상대 경로를 포함하여 Eclipse의 그래픽 경로 설정이 포함됩니다. 여기서는 Eclipse를 기준으로 한 것입니다. 프로젝트 폴더의 경우 절대 경로는 그래픽이 있는 알 수 없는 특정 경로입니다. pictureJava 그래픽 인터페이스의 그래픽 버튼 (H:/java/workspace/study/src/picture 경로 아래)를 예로 들어보겠습니다:

1. 그림 폴더를 (프로젝트 경로가 아닌) Study/src 경로 아래에 놓으면 ):

1.1 절대 경로: H:/java/workspace/study/src/picture/pictureJava 그래픽 인터페이스의 그래픽 버튼

1.2 상대 경로: src/picture/pictureJava 그래픽 인터페이스의 그래픽 버튼

2.그림 폴더를 스터디 경로(프로젝트 경로) 아래에 놓는 경우:

2.1 절대 경로는 변경되지 않습니다: H:/java/workspace/study/picture/pictureJava 그래픽 인터페이스의 그래픽 버튼

2.2 상대 경로: picture/pictureJava 그래픽 인터페이스의 그래픽 버튼

package test;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import static net.mindview.util.SwingConsole.*;

public class PictureLabel extends JFrame{
    private static Icon[] pictures;
    private JButton jb,jb1 = new JButton("Disable");
    private boolean mad = false;
    
    public PictureLabel()
    {
        pictures = new Icon[]{
                new ImageIcon("src/picture/pictureJava 그래픽 인터페이스의 그래픽 버튼"),   //相对路径
                new ImageIcon("H:/java/workspace/study/src/picture/picture2.jpg"),  //绝对路径
                new ImageIcon("src/picture/picture3.jpg"),
                new ImageIcon("src/picture/picture4.jpg"),
                new ImageIcon("src/picture/picture5.jpg")
        };
        //路径前不加/为相对路径
        
        jb = new JButton("JButton",pictures[3]);
        setLayout(new FlowLayout());
        jb.addActionListener(new ActionListener(){
            @Override//保证被标注的方法确实覆盖了基类的方法,否则编译会出错
            public void actionPerformed(ActionEvent e)
            {
                if(mad)
                {
                    jb.setIcon(pictures[3]);
                    mad = false;
                }else
                {
                    jb.setIcon(pictures[0]);
                    mad = true;
                }
                jb.setVerticalAlignment(JButton.TOP);
                jb.setHorizontalAlignment(JButton.LEFT);
            }
        });
        
        jb.setRolloverEnabled(true);  //允许翻转图标
        jb.setRolloverIcon(pictures[1]);
        jb.setPressedIcon(pictures[2]);
        jb.setDisabledIcon(pictures[4]);
        jb.setToolTipText("Yow");
        add(jb);
        //如果 setRolloverEnabled 为 true,则当鼠标移动到按钮上时,setRolloverIcon的内容就被用到该按钮的图形上,即picture[1];
        //当按下按钮时,setPressedIcon的内容被用到该按钮的图形上,即picture[2];当按钮被禁止时,setDisabledIcon的内容被应用到按钮,
        //即picture[4]。
       
        jb1.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e)
            {
                if(jb.isEnabled())
                {
                    jb.setEnabled(false);
                    jb1.setText("Enable");
                }else
                {
                    jb.setEnabled(true);
                    jb1.setText("Disable");
                }
            }
        });
        add(jb1);
    }
    
    public static void main(String[] args)
    {
        run(new PictureLabel(),500,200);
    }
}

컴파일 후 사용할 수 있는 버튼에는 애니메이션 효과가 있습니다.

Java 그래픽 인터페이스의 그래픽 버튼

참고: 1. 상대 경로 앞에 /를 추가하지 마세요.

2. Eclipse에서 프로그램에 소개된 파일의 경로는 상대 경로입니다. 프로젝트 파일에 클리핑 측면에서


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.