1
JSliderに3種類の色(それぞれ1〜10が緑、10〜20が黄色、20〜30が赤色など)を占めるようにしたいこれはどのように実装できますか?color javaティックの値に基づくJSlider
JSliderに3種類の色(それぞれ1〜10が緑、10〜20が黄色、20〜30が赤色など)を占めるようにしたいこれはどのように実装できますか?color javaティックの値に基づくJSlider
編集:
おっと、私はJComponentの中paintBackground()
方法があったと思ったいくつかの理由があります。あなたは背景が色の3本のストライプを持っていると思いますか
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();
}
:私はあなたの代わりに(
super
は、バックグラウンドをペイントしないように)setOpaque(false)
を行い、その後、このようなpaintComponent()
をオーバーライドする必要があるだろうと思いますか?それとも、選択した値に基づいて3つの色のうちの1つに色付けしたいのですか? –@Russell Zahniser:バックグラウンドに3つの色のストライプがあるようにしたいのですが、GradientPaintをバックグラウンドJPanelにするにはどうしたらいいですか? – user121196