자바 스윙 JToggleButton 스위치 단추 의 실현

1.개술
공식 자바 DocsApi:javax.swing.JToggleButton
JToggleButton,스위치 버튼.JToggleButton 은 Jradio Button,JCheckBox 의 부모 클래스 로 하나의 단추 의 두 가지 상태(선택 과 선택 되 지 않 음)를 실현 하여 스위치 전환 효 과 를 실현 합 니 다.
JToggleButton 상용 구조 방법:

//    ,     
JToggleButton()

//    ,     
JToggleButton(String text)

//    ,       
JToggleButton(String text, boolean selected)

JToggleButton 상용 방법:

//           、         
void setText(String text)
void setFont(Font font)
void setForeground(Color fg)

/*         javax.swing.AbstractButton     */

//             
void setSelected(boolean b)

//           
boolean isSelected()

//           
void setEnabled(boolean enable)

//           ( )、   ( )、          
void setIcon(Icon defaultIcon)
void setPressedIcon(Icon pressedIcon)
void setDisabledIcon(Icon disabledIcon)

//             
void setIconTextGap(int iconTextGap)
JToggleButton 상용 모니터:

//          
void addChangeListener(ChangeListener l)
2.코드 인 스 턴 스:기본 스위치 단추

package com.xiets.swing;

import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

public class Main {

 public static void main(String[] args) {
  JFrame jf = new JFrame("    ");
  jf.setSize(250, 250);
  jf.setLocationRelativeTo(null);
  jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

  JPanel panel = new JPanel();

  //       
  JToggleButton toggleBtn = new JToggleButton("    ");

  //    toggleBtn          
  toggleBtn.addChangeListener(new ChangeListener() {
   @Override
   public void stateChanged(ChangeEvent e) {
    //      (       )
    JToggleButton toggleBtn = (JToggleButton) e.getSource();
    System.out.println(toggleBtn.getText() + "     : " + toggleBtn.isSelected());
   }
  });

  panel.add(toggleBtn);

  jf.setContentPane(panel);
  jf.setVisible(true);
 }

}
결과 전시:

코드 를 실행 하고 스위치 단 추 를 누 르 면 콘 솔 출력 을 볼 수 있 습 니 다.
3.코드 인 스 턴 스:사용자 정의 그림 스위치
다음 두 그림 을 사용 하면 스위치 단추 의 선택(열기)과 선택 되 지 않 은(끄 기)상 태 를 나타 내 며 각각'toggle'이 라 고 명명 합 니 다.on.png,toggle_off.png:

package com.xiets.swing;

import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

public class Main {

  public static void main(String[] args) {
    JFrame jf = new JFrame("    ");
    jf.setSize(250, 250);
    jf.setLocationRelativeTo(null);
    jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

    JPanel panel = new JPanel();

    //       
    JToggleButton toggleBtn = new JToggleButton();

    //            
    toggleBtn.setBorderPainted(false);

    //      ( )      ( )       
    toggleBtn.setSelectedIcon(new ImageIcon("toggle_on.png"));
    toggleBtn.setIcon(new ImageIcon("toggle_off.png"));

    //    toggleBtn          
    toggleBtn.addChangeListener(new ChangeListener() {
      @Override
      public void stateChanged(ChangeEvent e) {
        //      (       )
        JToggleButton toggleBtn = (JToggleButton) e.getSource();
        System.out.println(toggleBtn.getText() + "     : " + toggleBtn.isSelected());
      }
    });

    panel.add(toggleBtn);

    jf.setContentPane(panel);
    jf.setVisible(true);
  }

}


코드 를 실행 하고 스위치 단 추 를 누 르 면 콘 솔 출력 을 볼 수 있 습 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기