有一个问题
就是有一个园,分成三个部分分成红,绿,黑,
园的下边有三个滑动条,拖动一个滑动条,对应的和颜色的大小就会变化比如说,拖动第一个滑动条,红色的区域的大小就会变化,同时,绿色和黑的区域相应的发生变化
哪位大哥能帮忙解决一下??
解决好了,分数全是他的,呵呵
谢谢
就是有一个园,分成三个部分分成红,绿,黑,
园的下边有三个滑动条,拖动一个滑动条,对应的和颜色的大小就会变化比如说,拖动第一个滑动条,红色的区域的大小就会变化,同时,绿色和黑的区域相应的发生变化
哪位大哥能帮忙解决一下??
解决好了,分数全是他的,呵呵
谢谢
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.Color;public class ColorSelect extends JFrame
implements AdjustmentListener
{ int r1;
int g1;
int b1;
private JLabel redLabel;
private JLabel greenLabel;
private JLabel blueLabel;
private JScrollBar red;
private JScrollBar green;
private JScrollBar blue;
private JP1 colorPanel;
class JP1 extends JPanel{
public void paintComponent(Graphics g){
super.paintComponent(g);
g.setColor(Color.red);
g.fillArc(0,0,100,100,0,r1);
g.setColor(Color.green);
g.fillArc(0,0,100,100,r1,(360-r1)/2);
g.setColor(Color.blue);
g.fillArc(0,0,100,100,(360+r1)/2,(360-r1)/2);}
}
public ColorSelect()
{
r1=b1=g1=120;
setTitle("ColorSelect");
setSize(300,200);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
} );
Container contentPane=getContentPane();
JPanel p=new JPanel();
p.setLayout(new GridLayout(3,2));
p.add(redLabel=new JLabel("Red 0"));
p.add(red=new JScrollBar(Adjustable.HORIZONTAL,
0,0,0,360));
red.setBlockIncrement(16);
red.addAdjustmentListener(this);
p.add(greenLabel=new JLabel("Green 0"));
p.add(green=new JScrollBar(Adjustable.HORIZONTAL,
0,0,0,360));
green.setBlockIncrement(16);
green.addAdjustmentListener(this);
p.add(blueLabel=new JLabel("Blue 0"));
p.add(blue=new JScrollBar(Adjustable.HORIZONTAL,
0,0,0,360));
blue.setBlockIncrement(16);
blue.addAdjustmentListener(this);
contentPane.add(p,"South");
colorPanel=new JP1();
colorPanel.setBackground(new Color(0,0,0));
contentPane.add(colorPanel, "Center");
}
public void adjustmentValueChanged(AdjustmentEvent evt)
{ r1=red.getValue();
g1=green.getValue();
b1=blue.getValue();
redLabel.setText("Red "+red.getValue());
greenLabel.setText("Green "+green.getValue());
blueLabel.setText("Blue "+blue.getValue());
//xiugai here
colorPanel.repaint();
}
public static void main(String[] args)
{
JFrame f=new ColorSelect();
f.show();
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.Color;
public class ColorSelect extends JFrame implements AdjustmentListener
{ int r1;
int g1;
int b1;
private JLabel redLabel;
private JLabel greenLabel;
private JLabel blueLabel;
private JScrollBar red;
private JScrollBar green;
private JScrollBar blue;
private JP1 colorPanel;
class JP1 extends JPanel{
public void paintComponent(Graphics g){
super.paintComponent(g);
if(r1!=0){
g.setColor(Color.red);
g.fillArc(0,0,100,100,0,r1);
g.setColor(Color.green);
g.fillArc(0,0,100,100,r1,(360-r1)/2);
g.setColor(Color.blue);
g.fillArc(0,0,100,100,(360+r1)/2,(360-r1)/2);
}
else if(r1==0&&b1!=0){
r1=b1;
g.setColor(Color.blue);
g.fillArc(0,0,100,100,0,r1);
g.setColor(Color.green);
g.fillArc(0,0,100,100,r1,(360-r1)/2);
g.setColor(Color.red);
g.fillArc(0,0,100,100,(360+r1)/2,(360-r1)/2);
}
else if(b1==0&&g1!=0){
r1=g1;
g.setColor(Color.green);
g.fillArc(0,0,100,100,0,r1);
g.setColor(Color.blue);
g.fillArc(0,0,100,100,r1,(360-r1)/2);
g.setColor(Color.red);
g.fillArc(0,0,100,100,(360+r1)/2,(360-r1)/2);
}
else {
r1=120;
g.setColor(Color.green);
g.fillArc(0,0,100,100,0,r1);
g.setColor(Color.blue);
g.fillArc(0,0,100,100,r1,(360-r1)/2);
g.setColor(Color.red);
g.fillArc(0,0,100,100,(360+r1)/2,(360-r1)/2);
}
}
}
public ColorSelect()
{
r1=b1=g1=120;
setTitle("ColorSelect");
setSize(300,200);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
} );
Container contentPane=getContentPane();
JPanel p=new JPanel();
p.setLayout(new GridLayout(3,2));
p.add(redLabel=new JLabel("Red 0"));
p.add(red=new JScrollBar(Adjustable.HORIZONTAL, 0,0,0,360));
red.setBlockIncrement(16);
red.addAdjustmentListener(this);
p.add(greenLabel=new JLabel("Green 0"));
p.add(green=new JScrollBar(Adjustable.HORIZONTAL, 0,0,0,360));
green.setBlockIncrement(16);
green.addAdjustmentListener(this);
p.add(blueLabel=new JLabel("Blue 0"));
p.add(blue=new JScrollBar(Adjustable.HORIZONTAL, 0,0,0,360));
blue.setBlockIncrement(16);
blue.addAdjustmentListener(this);
contentPane.add(p,"South");
colorPanel=new JP1();
colorPanel.setBackground(new Color(0,0,0));
contentPane.add(colorPanel, "Center");
}
public void adjustmentValueChanged(AdjustmentEvent evt){
r1=red.getValue();
g1=green.getValue();
b1=blue.getValue();
redLabel.setText("Red "+red.getValue());
greenLabel.setText("Green "+green.getValue());
blueLabel.setText("Blue "+blue.getValue());
colorPanel.repaint();
}
public static void main(String[] args)
{
JFrame f=new ColorSelect();
f.show();
}
}