定制设计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 } }
您的滚动条图形非常简单,因此实现起来应该不会太难。
1)覆盖JToolBar
2)大多数自定义外观都超过了它
不要忘记,如果您打算使用UIManager覆盖所有这样的滚动条
UIManager.put("ScrollBarUI", "my.custom.SimpleScrollBarUI");
那么你的SimpleScrollBarUI类必须有createUI方法,即:
public class SimpleScrollBarUI extends BasicScrollBarUI { public static ComponentUI createUI(JComponent c) { return new SimpleScrollBarUI(); } //... }
- 如何在没有垃圾收集的情况下在Java 5上进行堆转储?
- 如何在WebSphere中管理ClassPath
- 启动Java项目时的类冲突:ClassMetadataReadingVisitor将接口org.springframework.asm.ClassVisitor作为超类
- Java setFullScreenWindow()保持在最顶层
- 如何为JTable中的特定行着色
- com.amazonaws.services.s3.model.AmazonS3Exception:拒绝访问
- Spring Security – 在重定向到登录时保留URL参数
- Java:构造函数中的NULL
- Java通用枚举function使用java 8默认方法和实用程序类