[英]Custom design JScollPane Java Swing
我需要為我的所有scrollpanes設計這個滾動條:
使用Java Swing。 我正在使用Netbeans IDE。 什么是最簡單的解決方案?
非常感謝你。
問候
您可以通過設置自定義UI來自定義 Swing組件的外觀 。 如果是滾動窗格的滾動條,則可以
scrollPane.getVerticalScrollBar().setUI(new MyScrollBarUI());
其中MyScrollBarUI
派生自javax.swing.plaf.basic.BasicScrollBarUI
。 要對所有滾動條(不僅在JScrollPane
實例中)執行此操作,請調用
UIManager.put("ScrollBarUI", "my.package.MyScrollBarUI");
在創建任何Swing組件之前。
在MyScrollBarUI
,您重寫以下方法:
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
}
}
您的滾動條圖形非常簡單,因此實現起來應該不會太難。
不要忘記,如果您打算使用UIManager覆蓋所有這樣的滾動條
UIManager.put("ScrollBarUI", "my.custom.SimpleScrollBarUI");
那么你的SimpleScrollBarUI類必須有createUI方法,即:
public class SimpleScrollBarUI extends BasicScrollBarUI {
public static ComponentUI createUI(JComponent c) {
return new SimpleScrollBarUI();
}
//...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.