当前位置: 代码迷 >> J2SE >> JSlider的滑道如何控制颜色
  详细解决方案

JSlider的滑道如何控制颜色

热度:81   发布时间:2016-04-24 12:43:56.0
JSlider的滑道怎么控制颜色
现在我生成了一个0~254的JSlider,我想将它的0~100的滑道变为红色,提示用户这个区间无效,这个怎么实现,
还有一个问题,怎么对JSlider进行缩放,setBounds只能控制它显示区域的大小,并没有缩放

------解决方案--------------------
JSlider
public JSlider(int min,
int max)
Creates a horizontal slider using the specified min and max with an initial value equal to the average of the min plus max. 

使用这个构造参数来避开0-100我觉得比较可行,修改颜色估计要去修改Lookandfell,比较麻烦,至于缩放的话,如果布局正确的话,会自动缩放的
------解决方案--------------------
1、如果0~100不会被使用,就不从0开始构造就可以了。

2、如果需要,重写 SliderUI 实现。(如果需要的话,可以给你部分源码)

3、不要使用setBounds函数设置绝对位置,设置相应的Layout,并且添加到相应的位置,由Layout控制界面进行缩放。
但是每个组件都会有最小的Size限制,缩到一定程度之后就不能正常全部显示了
------解决方案--------------------
Java code
import java.awt.BorderLayout;import java.awt.Color;import java.awt.Dimension;import java.awt.GradientPaint;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.Rectangle;import java.awt.RenderingHints;import javax.swing.Box;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JSlider;import javax.swing.String 分隔符   * @