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

高洛峰
풀어 주다: 2016-10-17 09:13:56
원래의
2165명이 탐색했습니다.

버튼 그래픽을 만들려면 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에서 프로그램에 소개된 파일의 경로는 상대 경로입니다. 프로젝트 파일에 클리핑 측면에서


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿