本文实例讲述了Java Swing组件定制复选框。分享给大家供大家参考,具体如下:
先来看看运行效果:
具体代码如下:
包themedemo; 进口java.awt.BasicStroke; 进口java.awt.BorderLayout; 进口java.awt.Color; java . awt . graphics2d进口; 进口java.awt.GridLayout; 进口java.awt.RenderingHints; 进口java.util.Map; 进口javax.swing.BorderFactory; 进口javax.swing.JCheckBox; 进口javax.swing.JComponent; 进口javax.swing.JFrame; 进口javax.swing.JPanel; 进口javax.swing.Painter; 进口javax.swing.SwingUtilities; 进口javax.swing.UIDefaults; 进口javax.swing.UIManager; 进口javax.swing.WindowConstants; 公开课CheckBoxSkinDemo { 公共静态void main (String [] args) { SwingUtilities。invokeLater(新Runnable () { 公共空间run () { (UIManager。laf LookAndFeelInfo: UIManager .getInstalledLookAndFeels ()) { 如果(“灵气”.equals (laf.getName ())) { 尝试{ UIManager.setLookAndFeel (laf.getClassName ()); }捕捉(异常e) { e.printStackTrace (); } } } (Object> Map.Entry<对象;条目:UIManager .entrySet .getLookAndFeelDefaults () ()) { 如果((entry.getKey () .toString ()) .startsWith(“复选框”)){ System.out.println (entry.getKey () + "=" + entry.getValue ()); } } JFrame?new JFrame (" www.jb51.net——复选框皮肤演示”); frame.setDefaultCloseOperation (WindowConstants.EXIT_ON_CLOSE); frame.getContentPane ()。setLayout(新BorderLayout ()); JPanel面板=new JPanel(新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”, 新的Painter() { 公共空间油漆(Graphics2D g, JComponent c, int, int h) { g.setRenderingHint ( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g。setStroke(新BasicStroke (2 f)); g.setColor (Color.WHITE); g。fillRect (1、1 w - 4 h - 4); g.setColor (Color.LIGHT_GRAY); g。绘制矩形(1,- 1,w - 4 h - 4); } }); checkBoxDefaults.put(“复选框选中.iconPainter”, 新的Painter () { 公共空间油漆(Graphics2D g, JComponent c, int, int h) { g.setRenderingHint ( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g。setStroke(新BasicStroke (2 f)); g.setColor (Color.WHITE); g。fillRect (1、1 w - 4 h - 4); g.setColor (Color.DARK_GRAY); g。drawPolyline(新int [] {2 w/3 w - 2}, 新int [] {h/2 - 1 h - 4 0}, 3); g.setColor (Color.LIGHT_GRAY); g。绘制矩形(1,- 1,w - 4 h - 4); } }); JCheckBox窗口复选框=new JCheckBox窗口(“myCheckBox”); panel.add(复选框); checkBox.putClientProperty(“灵气。覆盖”,checkBoxDefaults); checkBox.putClientProperty (“Nimbus.Overrides.InheritDefaults”, 假);//添加一个正常的主题滑块进行比较 JCheckBox窗口normalCheckBox=new JCheckBox窗口(“normalCheckBox”); panel.add (normalCheckBox); frame.getContentPane ()。添加(面板,BorderLayout.CENTER); frame.pack (); frame.setLocationRelativeTo(空); frame.setVisible(真正的); } }); } } >之前 更多关于java算法相关内容感兴趣的读者可查看本站专题:《java数据结构与算法教程》、《java操作DOM节点技巧总结》,《java文件与目录操作技巧汇总》和《java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
Java Swing组件定制复选框示例