中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java Swing組件定制CheckBox示例

發布時間:2020-10-08 16:33:39 來源:腳本之家 閱讀:186 作者:fearlessMore 欄目:編程語言

本文實例講述了Java Swing組件定制CheckBox。分享給大家供大家參考,具體如下:

先來看看運行效果:

Java Swing組件定制CheckBox示例

具體代碼如下:

package themedemo;
import java.awt.BasicStroke;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.GridLayout;
import java.awt.RenderingHints;
import java.util.Map;
import javax.swing.BorderFactory;
import javax.swing.JCheckBox;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.Painter;
import javax.swing.SwingUtilities;
import javax.swing.UIDefaults;
import javax.swing.UIManager;
import javax.swing.WindowConstants;
public class CheckBoxSkinDemo {
  public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {
      public void run() {
        for (UIManager.LookAndFeelInfo laf : UIManager
            .getInstalledLookAndFeels()) {
          if ("Nimbus".equals(laf.getName())) {
            try {
              UIManager.setLookAndFeel(laf.getClassName());
            } catch (Exception e) {
              e.printStackTrace();
            }
          }
        }
        for (Map.Entry<Object, Object> entry : UIManager
            .getLookAndFeelDefaults().entrySet()) {
          if ((entry.getKey().toString()).startsWith("CheckBox")) {
            System.out.println(entry.getKey() + " = "
                + entry.getValue());
          }
        }
        JFrame frame = new JFrame("www.jb51.net - CheckBox Skining Demo");
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.getContentPane().setLayout(new BorderLayout());
        JPanel panel = new JPanel(new GridLayout(0, 1, 20, 20));
        panel.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
        panel.setBackground(Color.darkGray);
        UIDefaults checkBoxDefaults = new UIDefaults();
        checkBoxDefaults.put("CheckBox.iconPainter",
            new Painter<JComponent>() {
              public void paint(Graphics2D g, JComponent c,
                  int w, int h) {
                g.setRenderingHint(
                    RenderingHints.KEY_ANTIALIASING,
                    RenderingHints.VALUE_ANTIALIAS_ON);
                g.setStroke(new BasicStroke(2f));
                g.setColor(Color.WHITE);
                g.fillRect(1, 1, w - 4, h - 4);
                g.setColor(Color.LIGHT_GRAY);
                g.drawRect(1, 1, w - 4, h - 4);
              }
            });
        checkBoxDefaults.put("CheckBox[Selected].iconPainter",
            new Painter<JComponent>() {
              public void paint(Graphics2D g, JComponent c,
                  int w, int h) {
                g.setRenderingHint(
                    RenderingHints.KEY_ANTIALIASING,
                    RenderingHints.VALUE_ANTIALIAS_ON);
                g.setStroke(new BasicStroke(2f));
                g.setColor(Color.WHITE);
                g.fillRect(1, 1, w - 4, h - 4);
                g.setColor(Color.DARK_GRAY);
                g.drawPolyline(new int[] { 2, w / 3, w - 2 },
                    new int[] { h / 2 - 1, h - 4, 0 }, 3);
                g.setColor(Color.LIGHT_GRAY);
                g.drawRect(1, 1, w - 4, h - 4);
              }
            });
        JCheckBox checkBox = new JCheckBox("myCheckBox");
        panel.add(checkBox);
        checkBox.putClientProperty("Nimbus.Overrides", checkBoxDefaults);
        checkBox.putClientProperty("Nimbus.Overrides.InheritDefaults",
            false);
        // Add a normal themed slider for comparison
        JCheckBox normalCheckBox = new JCheckBox("normalCheckBox");
        panel.add(normalCheckBox);
        frame.getContentPane().add(panel, BorderLayout.CENTER);
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
      }
    });
  }
}

更多關于java算法相關內容感興趣的讀者可查看本站專題:《Java數據結構與算法教程》、《Java操作DOM節點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》

希望本文所述對大家java程序設計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴彦淖尔市| 老河口市| 砚山县| 双城市| 西丰县| 博爱县| 宝坻区| 西畴县| 苏州市| 宜章县| 尉犁县| 上栗县| 荥经县| 庄河市| 闽清县| 蓬安县| 错那县| 乌恰县| 三河市| 江华| 鸡泽县| 松溪县| 高州市| 县级市| 黎城县| 台湾省| 肃宁县| 义乌市| 鸡东县| 蒲城县| 赫章县| 闸北区| 青龙| 巩义市| 吉木乃县| 丰台区| 卫辉市| 宁晋县| 岑溪市| 玉龙| 忻州市|