java - 基于刻度值的颜色java JSlider

标签 java swing colors jslider

我想要一个具有三种颜色的JSlider,每种颜色占据一定的值范围(例如1到10是绿色,10到20是黄色,20到30是红色),如何实现?

最佳答案

编辑:

哎呀,出于某种原因,我认为 JComponent 中有一个 paintBackground() 方法。我想您必须执行 setOpaque(false) (以便 super 不会绘制背景),然后覆盖 paintComponent() > 像这样:

protected void paintComponent(Graphics g) {
   int w = getWidth();
   int h = getHeight();
   int x1 = w / 3;
   int x2 = w * 2 / 3;

   g.setColor(Color.GREEN);
   g.fillRect(0, 0, x1, h)
   g.setColor(Color.YELLOW);
   g.fillRect(x1, 0, x2 - x1, h)
   g.setColor(Color.RED);
   g.fillRect(x2, 0, w - x2, h)

   super.paintComponent();
}

关于java - 基于刻度值的颜色java JSlider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10390251/

相关文章:

java - 单击鼠标后 JMenu 保持选中状态

java - 日历中的表格单元格编辑器

PHP分配没有图像资源的颜色

firefox - CSS Firefox 28 框阴影颜色溢出

java - Servlet 中的 404 错误

java - java中i &=(i-1) 的含义是什么

java - 启动 Thread 或进行计算的 SwingWorker 时的 Swing 伪 block

java - 高尔顿板的java实现

php - 使用 PHP 将特定的 RGB 颜色替换为另一个图像

java - 如何更改Maven默认项目输出目录?