JDK 소스 -JCheckBox을 통해 상세 갉아 먹다

상속 시스템

재산

  • 평면 특성의 변경을 식별합니다.
  • 플랫 JCheckBox에 스윙 상자에 있습니다.
  • 박스
    이러한 제어 다수 존재할 수 있고, 그것들은 선택 상태로 복수를 가질 수있다. 각 확인란에 관한 한, 그것은 단지 확인하고 체크되지 않은 상태입니다.

JCheckBox에 일반적인 방법이 아래에 도시된다 :

생성자

  • JCheckBox에 ()는
    초기 상태로 선택 체크 박스 버튼, 텍스트가없는, 아니 아이콘을 만들 수 있습니다.

  • JCheckBox에 (작업 A)의
    체크 박스를 생성 동작에서 촬영 속성이 공급된다.

  • JCheckBox에 (아이콘 아이콘)
    원래 아이콘 확인란을 만들기 위해 사용은 선택되어 있지 않습니다.

  • JCheckBox에 (부울 선택 아이콘 아이콘)
    아이콘이있는 체크 박스를 생성하고 원래 선택한 여부를 지정합니다.

  • JCheckBox에 (문자열 텍스트)
    확인란을 만들기 위해 원래의 텍스트를 사용하여이 선택되어 있지 않습니다.

  • JCheckBox에 (부울 선택한 문자열 텍스트)
    텍스트가 포함 된 체크 박스를 생성하고 원래 선택한 여부를 지정합니다.

  • JCheckBox에 (문자열 텍스트, 아이콘 아이콘)
    초기 확인란을 만들 지정된 텍스트와 아이콘을 사용하여이 선택되어 있지 않습니다.

  • JCheckBox에 (문자열 텍스트, 아이콘 아이콘, 부울 선택)은
    텍스트와 아이콘의 체크 박스를 생성 해, 지정은 초기에 선택되어 있는지 여부

API

  • AccessibleContext를 취합니다은 ()
    이 JCheckBox에 관련 지을 수 있었던 AccessibleContext를 가져옵니다.

2
문자열 getUIClassID ()는
문자열이 컴퍼넌트 전시의 이름 L & F 클래스를 지정하는 문자열을 반환.

. (3)
부울 isBorderPaintedFlat는 ()
값 borderPaintedFlat 속성을 취득.

. 4
paramString 현재 문자열 O를 보호 ()
JCheckBox의 캐릭터 라인 표현을 돌려줍니다.

. 5
공극 setBorderPaintedFlat (부울 B)는
프롬프트 상자 테두리의 외관에 대해 제공 borderPaintedFlat 특성을 제공.

. 6
공극에 updateUI ()는
사용자 인터페이스 속성 값의 현재의 모습을 재설정

package com.company;

import java.util.ArrayList;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

/**
 * @author JavaEdge
 */
public class JCheckBoxExample {
    private JFrame mainFrame;
    private JLabel headerLabel;
    private JLabel statusLabel;
    private JPanel controlPanel;

    public JCheckBoxExample() {
        prepareGUI();
    }

    public static void main(String[] args) {
        JCheckBoxExample swingControlDemo = new JCheckBoxExample();
        swingControlDemo.showCheckBoxDemo();
    }

    private void prepareGUI() {
        mainFrame = new JFrame("JCheckBox实例");
        mainFrame.setSize(400, 400);
        mainFrame.setLayout(new GridLayout(3, 1));

        mainFrame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent windowEvent) {
                System.exit(0);
            }
        });
        headerLabel = new JLabel("", JLabel.CENTER);
        statusLabel = new JLabel("", JLabel.CENTER);
        statusLabel.setSize(350, 100);

        controlPanel = new JPanel();
        controlPanel.setLayout(new FlowLayout());

        mainFrame.add(headerLabel);
        mainFrame.add(controlPanel);
        mainFrame.add(statusLabel);
        mainFrame.setVisible(true);
    }

    private void showCheckBoxDemo() {
        headerLabel.setText("Control in action: CheckBox");

        final JCheckBox chkApple = new JCheckBox("Java");
        final JCheckBox chkMango = new JCheckBox("Go");
        final JCheckBox chkPeer = new JCheckBox("数据库");

        chkApple.setMnemonic(KeyEvent.VK_C);
        chkMango.setMnemonic(KeyEvent.VK_M);
        chkPeer.setMnemonic(KeyEvent.VK_P);

        chkApple.addItemListener(e -> statusLabel.setText("Java Checkbox: " + (e.getStateChange() == 1 ? "checked" : "unchecked")));
        chkMango.addItemListener(e -> statusLabel.setText("Go Checkbox: " + (e.getStateChange() == 1 ? "checked" : "unchecked")));
        chkPeer.addItemListener(e -> statusLabel.setText("数据库 Checkbox: " + (e.getStateChange() == 1 ? "checked" : "unchecked")));
        controlPanel.add(chkApple);
        controlPanel.add(chkMango);
        controlPanel.add(chkPeer);

        mainFrame.setVisible(true);
    }
}

  • 효과
게시 된 428 개 원래 기사 · 원 찬양 1172 ·은 590,000 + 조회수

추천

출처blog.csdn.net/qq_33589510/article/details/105363742