当前位置:编程学习 > JS >>

JSlider 个性化

[java]
package com.han; 
  
import java.awt.BasicStroke; 
import java.awt.BorderLayout; 
import java.awt.Color; 
import java.awt.Container; 
import java.awt.Graphics2D; 
import java.awt.GridLayout; 
import java.awt.Image; 
import java.awt.RenderingHints; 
import java.awt.Toolkit; 
  
import javax.swing.BorderFactory; 
import javax.swing.JComponent; 
import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.JRootPane; 
import javax.swing.JSlider; 
import javax.swing.Painter; 
import javax.swing.SwingUtilities; 
import javax.swing.UIDefaults; 
import javax.swing.UIManager; 
import javax.swing.UnsupportedLookAndFeelException; 
import javax.swing.UIManager.LookAndFeelInfo; 
  
@SuppressWarnings("serial") 
public class JSlider_customized extends JFrame { 
  
    public JSlider_customized() { 
        // TODO Auto-generated constructor stub  
        for (LookAndFeelInfo laf : UIManager.getInstalledLookAndFeels()) { 
            if (laf.getName().equals("Nimbus")) { 
                try { 
                    UIManager.setLookAndFeel(laf.getClassName()); 
                } catch (ClassNotFoundException | InstantiationException 
                        | IllegalAccessException 
                        | UnsupportedLookAndFeelException e) { 
                    // TODO Auto-generated catch block  
                    e.printStackTrace(); 
                } 
            } 
        } 
  
        JPanel panel = new JPanel(new GridLayout(0, 1, 20, 20)); 
        JSlider slider = new JSlider(0, 100, 50); 
        Container c = getContentPane(); 
        c.add(panel, BorderLayout.CENTER); 
        panel.setBackground(Color.DARK_GRAY); 
        panel.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20)); 
        panel.add(slider); 
        UIDefaults sliderDefaults = new UIDefaults(); 
        sliderDefaults.put("Slider.thumbWidth", 20); 
        sliderDefaults.put("Slider.thumbHeight", 20); 
        sliderDefaults.put("Slider:SliderThumb.backgroundPainter", 
                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.RED); 
                        g.fillOval(1, 1, w - 3, h - 3); 
                        g.setColor(Color.WHITE); 
                        g.drawOval(1, 1, w - 3, h - 3); 
                         Image img = Toolkit.getDefaultToolkit().getImage( 
                         JSlider_customized.class 
                         .getResource("/images/Luxun.jpg")); 
                          
                         g.drawImage(img, 0, 0, w, h, null); 
                    } 
                }); 
        sliderDefaults.put("Slider:SliderTrack.backgroundPainter", 
                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)); 
  

补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,