importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassMycolorextendsJFrame{Colorc;intred;intgreen;intblue;Stringinfo;JTextArealbeMycolor;JScrollBarhsbR;J...
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Mycolor extends JFrame{
Color c;
int red;
int green;
int blue;
String info;
JTextArea lbeMycolor;
JScrollBar hsbR;
JScrollBar hsbG;
JScrollBar hsbB;
private JTextField txtR;
private JTextField txtG;
private JTextField txtB;
private JLabel labR,labG,labB;
public Mycolor(){
createComponents();
registerEventHandlers();
layoutComponents();
setTitle("aaa");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();}
private void createComponents(){
lbeMycolor=new JTextArea(7,20);
lbeMycolor.setEditable(false);
lbeMycolor.setBackground(Color.RED);
hsbR=new JScrollBar(JScrollBar.HORIZONTAL,0,10,0,255);
hsbG=new JScrollBar(JScrollBar.HORIZONTAL,125,10,0,255);
hsbB=new JScrollBar(JScrollBar.HORIZONTAL,128,10,0,255);
hsbB.setPreferredSize(new Dimension(200,18));
hsbG.setPreferredSize(new Dimension(200,18));
hsbR.setPreferredSize(new Dimension(200,18));
txtR=new JTextField();
txtR.setPreferredSize(new Dimension(4,18));
txtR.setText("0");
txtG=new JTextField(3);
txtG.setPreferredSize(new Dimension(4,18));
txtG.setText("125");
txtB=new JTextField(3);
txtB.setPreferredSize(new Dimension(4,18));
txtB.setText("128");
labR=new JLabel("R=");
labG=new JLabel("G=");
labB=new JLabel("B=");
}
private void layoutComponents(){
Container c=this.getContentPane();
JPanel jsbPane=new JPanel(new GridLayout(0,1,0,50));
jsbPane.add(hsbR);
jsbPane.add(hsbG);
jsbPane.add(hsbB);
JPanel jxtPane=new JPanel(new GridLayout(0,1,0,50));
jxtPane.add(txtR);
jxtPane.add(txtG);
jxtPane.add(txtB);
JPanel jabPane=new JPanel(new GridLayout(0,1,0,50));
jabPane.add(labR);
jabPane.add(labG);
jabPane.add(labB);
JPanel panel=new JPanel(new FlowLayout(FlowLayout.LEFT));
panel.setBorder(BorderFactory.createEmptyBorder(20,10,10,20));
panel.add(jsbPane);
panel.add(lbeMycolor);
panel.add(jabPane);
panel.add(jxtPane);
c.add(panel);
}
private void registerEventHandlers(){
TextFieldListener handler1=new TextFieldListener();
txtR.addTextListener(handler1);
txtG.addTextListener(handler1);
txtB.addTextListener(handler1);
}
public static void main(String[] args){
Mycolor fr=new Mycolor();
fr.setVisible(true);
}
private class TextFieldListener implements TextListener{
public void textValueChanged(TextEvent evt){
red=Integer.parseInt(txtR.getText());
green=Integer.parseInt(txtG.getText());
blue=Integer.parseInt(txtB.getText());
hsbR.setValue(Integer.valueOf(txtR.getText()));
hsbG.setValue(Integer.valueOf(txtG.getText()));
hsbB.setValue(Integer.valueOf(txtB.getText()));
lbeMycolor.setBackground(new Color(red,green,blue));
}
}
}
经测试 addTextListener()添加监听事件时出现 未找到符号 ,变量符号等不会出现输入错误,其他地方没有问题。请大虾帮吗解惑,解决后加分
展开