import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.SwingConstants;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class Projeto_Cores extends JFrame{
// Autor: João Matheus Santos Assis
private JPanel Geral = new JPanel();
private JPanel Palheta = new JPanel();
private JPanel Panel = new JPanel();
private GridLayout Layout = new GridLayout(4,1, 50, 50);
private JSlider Vermelho = new JSlider(SwingConstants.HORIZONTAL, 0, 255, 17);
private JSlider Verde = new JSlider(SwingConstants.HORIZONTAL, 0, 255, 17);
private JSlider Azul = new JSlider(SwingConstants.HORIZONTAL, 0, 255, 17);
public Projeto_Cores(){
super("Palheta RGB");
/* Para saber o que cada comando faz recomenda-se
que se troque os valores boleanos e os números*/
Vermelho.setMinorTickSpacing(17);
Vermelho.setMajorTickSpacing(85);
Vermelho.setPaintTicks(true);
Vermelho.setPaintLabels(true);
Vermelho.setPaintTrack(false);
Vermelho.setLabelTable(Vermelho.createStandardLabels(85));
Panel.add(Vermelho, "Verde");
Verde.setMinorTickSpacing(17);
Verde.setMajorTickSpacing(85);
Verde.setPaintTicks(true);
Verde.setPaintLabels(true);
Verde.setPaintTrack(false);
Verde.setLabelTable(Vermelho.createStandardLabels(85));
Panel.add(Verde, "Verde");
Azul.setMinorTickSpacing(17);
Azul.setMajorTickSpacing(85);
Azul.setPaintTicks(true);
Azul.setPaintLabels(true);
Azul.setPaintTrack(false);
Azul.setLabelTable(Vermelho.createStandardLabels(85));
Panel.add(Azul, "Azul");
Panel.add(Palheta);
Panel.setLayout(Layout);
Geral.add(Panel);
add(Geral);
ConjuntoHandler Handler = new ConjuntoHandler();
Vermelho.addChangeListener(Handler);
Verde.addChangeListener(Handler);
Azul.addChangeListener(Handler);
// Inicializa a cor do Panel
Palheta.setBackground(new Color(17,17,17));
// Configurando a janela
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);
this.setSize(310,390);
this.setVisible(true);
}
/* Parte responsável por mudar a cor do
Panel a medida que se arrasta o JSlider*/
private class ConjuntoHandler implements ChangeListener{
private int q,w,e;
public void stateChanged(ChangeEvent event) {
if (event.getSource() == Vermelho){
// Obtêm o valor do JSlider
q = Vermelho.getValue();
}
if (event.getSource() == Verde){
w = Verde.getValue();
}
if (event.getSource() == Azul){
e = Azul.getValue();
}
// Colore o Panel
Palheta.setBackground(new Color(q,w,e));
}
}
public static void main(String [] args){
Projeto_Cores a = new Projeto_Cores();
}
}
Artigos relacionados em Java:
- Criando um JFrame em Java
- Somando dois números com JOptionPane em Java
- Primeiro programa em Java
- Trabalhando com JRadioButton em Java
- Calculadora simples em Java
- Trabalhando com JCheckBox em Java
- Introdução ao componente JSlider em Java
- Barra de Carregamento em Java
- IMC em Java
Feito no NetBeans-5.5.1 | Executável
|