codice:
package Es_313;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
/**
* @author Ongaro Samuele
*/
public class Rectangle extends JFrame implements ChangeListener, ActionListener {
private JSlider scrollerR, scrollerG, scrollerB;
private JLabel labelR, labelG, labelB;
private JTextField textFieldR, textFieldG, textFieldB;
private JButton genera;
public Rectangle() {
// Testo
labelR = new JLabel("Red");
labelG = new JLabel("Green");
labelB = new JLabel("Blue");
// Caselle di Testo
textFieldR = new JTextField("0");
textFieldG = new JTextField("0");
textFieldB = new JTextField("0");
// Bottone
genera = new JButton("Genera Rettangolo");
// Scroller
scrollerR = new JSlider(SwingConstants.HORIZONTAL,0, 255, 0);
scrollerR.setMajorTickSpacing(40);
scrollerR.setMinorTickSpacing(10);
scrollerR.setPaintTicks(true);
scrollerR.setPaintLabels(true);
scrollerG = new JSlider(SwingConstants.HORIZONTAL,0, 255, 0);
scrollerG.setMajorTickSpacing(40);
scrollerG.setMinorTickSpacing(10);
scrollerG.setPaintTicks(true);
scrollerG.setPaintLabels(true);
scrollerB = new JSlider(SwingConstants.HORIZONTAL,0, 255, 0);
scrollerB.setMajorTickSpacing(40);
scrollerB.setMinorTickSpacing(10);
scrollerB.setPaintTicks(true);
scrollerB.setPaintLabels(true);
// Posizionamento
labelR.setBounds(20,15,250,20);
labelG.setBounds(20,75,250,20);
labelB.setBounds(20,135,250,20);
textFieldR.setBounds(320,35,40,25);
textFieldG.setBounds(320,95,40,25);
textFieldB.setBounds(320,155,40,25);
genera.setBounds(60,220,200,30);
scrollerR.setBounds(20,35,290,40);
scrollerG.setBounds(20,95,290,40);
scrollerB.setBounds(20,155,290,40);
Container cp = getContentPane();
setLayout(null);
// ggiungi
cp.add(labelR);
cp.add(labelG);
cp.add(labelB);
cp.add(textFieldR);
cp.add(textFieldG);
cp.add(textFieldB);
cp.add(genera);
cp.add(scrollerR);
cp.add(scrollerG);
cp.add(scrollerB);
// Ascoltatori
scrollerR.addChangeListener(this);
scrollerG.addChangeListener(this);
scrollerB.addChangeListener(this);
genera.addActionListener(this);
}
MyColorChooser myColor = new MyColorChooser();
String cR, cG, cB;
public void paint(Graphics g) {
Graphics2D g2=(Graphics2D)g;
g2.draw(new Rectangle2D.Double(30,300,320,300));
g2.setColor(Color.red);
}
public void stateChanged(ChangeEvent event) {
if(event.getSource() == scrollerR || event.getSource() == scrollerG || event.getSource() == scrollerB) {
String iRed = "" +scrollerR.getValue();
String iGreen = "" +scrollerG.getValue();
String iBlue = "" +scrollerB.getValue();
textFieldR.setText(iRed);
textFieldG.setText(iGreen);
textFieldB.setText(iBlue);
myColor.setColor(iRed, iGreen, iBlue);
}
}
public void actionPerformed(ActionEvent e) {
String c = e.getActionCommand();
if(e.getSource() == genera) {
// textFieldB.setText(myColor.getColorR());
}
}
}
Grazie mille a tutti..