Custom design JScollPane Java Swing

前端 未结 3 1548
轻奢々
轻奢々 2020-12-02 16:14

I need to design this scrollbar for all my scrollpanes :

\"enter

With Java Swi

相关标签:
3条回答
  • 2020-12-02 16:53

    You can customize the look of a Swing component by setting a custom UI. In the case of a scroll pane's scroll bar, you do

    scrollPane.getVerticalScrollBar().setUI(new MyScrollBarUI());
    

    where MyScrollBarUI is derived from javax.swing.plaf.basic.BasicScrollBarUI. To do this for all scroll bars (not only in JScrollPane instances), call

    UIManager.put("ScrollBarUI", "my.package.MyScrollBarUI");
    

    before you create any Swing components.

    In MyScrollBarUI, you override the following methods:

    public class MyScrollBarUI extends BasicScrollBarUI {
    
        @Override
        protected void paintTrack(Graphics g, JComponent c, Rectangle trackBounds) {
            // your code
        }
    
        @Override
        protected void paintThumb(Graphics g, JComponent c, Rectangle thumbBounds) {
            // your code
        }
    }
    

    Your scroll bar is graphically very simple, so it should not be too hard to implement.

    0 讨论(0)
  • 2020-12-02 16:55

    Don't forget that if you plan to use the UIManager to override all scrollbars like this

    UIManager.put("ScrollBarUI", "my.custom.SimpleScrollBarUI");
    

    then your SimpleScrollBarUI class must have the createUI method, i.e:

    public class SimpleScrollBarUI extends BasicScrollBarUI {
    
        public static ComponentUI createUI(JComponent c) {
            return new SimpleScrollBarUI();
        }
    
        //...
    
    }
    
    0 讨论(0)
  • 2020-12-02 16:56

    1) override JToolBar

    2) most of Custom Look and Feel overrode that

    0 讨论(0)
提交回复
热议问题