Introdução ao JColorChooser
O JColorChooser oferece um painel de controle projetado para permitir que o usuário escolha uma cor no formato RedGreenBlue (RGB). O painel de controle possui duas partes em que uma é um painel com guias para selecionar cores e a outra é a caixa de visualização. No seletor de cores, cinco seletores de cores estão presentes.
Eles são :
- Amostras : para selecionar a cor das amostras.
- HSV : Para selecionar a cor usando a representação de cores Hue-Saturation-Value
- HSL : para selecionar a cor usando a representação de cores Matiz-Saturação-Luminosidade.
- RGB : para selecionar a cor usando o modelo de cor Vermelho-Verde-Azul.
- CMYK : para selecionar a cor usando a cor de processo ou o modelo de quatro cores.
JColorChooser herda a classe JComponent. Sintaxe, diferentes construtores, métodos de JColorChooser são discutidos nas seções a seguir.
Sintaxe:
A sintaxe do JColorChooser é
public class JColorChooser extends JComponent implements Accessible
A seguir, estão os quatro campos da classe JLabel:
- affordableContext
- CHOOSER_PANELS_PROPERTY
- PREVIEW_PANEL_PROPERTY
- SELECTION_MODEL_PROPERTY
Construtor JColorChooser
A seguir estão os construtores do JColorChooser. Como eles são diferentes, dependendo dos parâmetros passados, eles são usados em diferentes condições.
- JColorChooser (): um painel de seleção de cores é criado com uma cor branca padrão.
- JColorChooser (Col de cores): Um painel de seleção de cores é criado com a coluna de cores inicial mencionada.
- JColorChooser (ColorSelectionModel m): um painel de seleção de cores é criado com o mencionado ColorSelectionModel.
Métodos JColorChooser
A seguir estão os métodos comumente usados no JColorChooser.
- addChooserPanel ()
- createDialog ()
- setColor
- getAccessibleContext ()
- setColor (int r, int g, int b)
- getChooserPanels ()
- showDialog ()
- getColor ()
- setSelectionModel (ColorSelectionModel mod)
- getDragEnabled ()
- setDragEnabled ()
- setPreviewPanel (JComponent pr)
- getPreviewPanel ()
- getSelectionModel ()
- getUI ()
- String protegida paramString ()
- setUI ()
- updateUI ()
Agora, vamos analisar cada um deles em detalhes.
-
addChooserPanel (AbstractColorChooserPanel p)
Um painel de seleção de cores será adicionado ao seletor de cores.
-
JDialog createDialog (Componente composto, Título da string, modal booleano, JColorChooser Cpane, ActionListener okListener, ActionListener cancelListener)
Uma nova caixa de diálogo será criada e retornará o painel ColorChooser mencionado com os botões Cancelar, Redefinir e OK. Se os botões OK ou Cancelar forem pressionados pelo usuário, a caixa de diálogo será ocultada automaticamente. Mas não será descartado nesse caso. Se o botão Redefinir for pressionado pelo usuário, a cor será definida para a última cor quando o show () for chamado pela última vez. Os parâmetros incluem o componente pai da caixa de diálogo, o nome do título da caixa de diálogo, um valor booleano em que o restante do programa fica inativo até que a caixa de diálogo seja fechada, o painel colorchooser, o ouvinte Ok Action e o ouvinte Cancel action.
-
setColor (Color col)
A cor existente do seletor de cores será definida para a cor mencionada.
-
AccessibleContext getAccessibleContext ()
Retorna o AccessibleContext relacionado ao JColorChooser.
-
setColor (int r, int g, int b)
A cor existente do seletor de cores será definida para a cor RGB (vermelha, verde, azul) mencionada. Os valores das cores vermelho, verde e azul devem estar entre os valores 0 e 255 (inclusive). Nos parâmetros, r implica a quantidade de vermelho, g implica a quantidade de verde eb implica a quantidade de azul.
-
AbstractColorChooserPanel () getChooserPanels ()
Os painéis de cores mencionados serão retornados.
-
showDialog (Componente composto, String t, Cor init_Col)
Um seletor de cores será exibido e bloqueado até que a caixa de diálogo fique oculta. ou seja, se o botão OK for pressionado, esse método descartará ou ocultará a caixa de diálogo e a cor escolhida será retornada. Se o botão Cancelar for pressionado ou o botão fechar for pressionado sem selecionar a cor, o valor nulo será retornado. Os parâmetros incluem o componente pai da caixa de diálogo, o título da caixa de diálogo e a cor inicial que é definida quando o seletor de cores é exibido.
-
Cor getColor ()
Retorna o valor da cor existente no seletor de cores.
-
setSelectionModel (ColorSelectionModel mod)
Um modelo contendo a cor mencionada será definido.
-
booleano getDragEnabled ()
O valor da propriedade dragEnabled será retornado.
-
setDragEnabled ()
Esse método ajuda na configuração da propriedade dragEnabled, que permite o manuseio automático de arrasto, definindo o valor como true. O valor padrão da propriedade dragEnabled é false. Uma opção de arrastar e soltar começará na Aparência quando o usuário passar o mouse sobre o painel.
-
setPreviewPanel (JComponent pr)
O painel de visualização atual será definido.
-
getPreviewPanel ()
O painel de visualização com a cor escolhida será retornado.
-
getSelectionModel ()
O modelo de dados que gerencia a cor será retornado.
-
getUI ()
O objeto L&F que renderiza o componente será retornado.
-
String protegida paramString ()
A representação String de JColorChooser será retornada.
-
setUI ()
O objeto L&F que renderiza o componente será definido.
-
updateUI ()
A notificação de alteração de L&F será acionada pelo UIManager.
Programa para implementar o JColorChooser
Agora, vamos ver o programa para implementar o Java JColorChooser. Vários métodos e construtores discutidos nas seções acima também são implementados no programa fornecido
Código :
//Java program to implement JColorChooser
//import all the packages that are needed to implement JColorChooser
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JColorExample (
//declaration of labels, panels and frame
private JFrame mFrame;
private JLabel headerLbl;
private JLabel statusLbl;
private JPanel cntrlpnl;
//constructor of the class JColorExample
public JColorExample()(
GUIcreate(); //calls the function
)
//main method
public static void main(String() args)(
JColorExample md = new JColorExample(); //object of the class is created
md.ColorChooserPane();//calls the function
)
//function for Graphical User Interface creation
private void GUIcreate()(
mFrame = new JFrame("Example for Java JColorChooser");
mFrame.setSize(600, 600);//size of the frame is set
mFrame.setLayout(new GridLayout(3, 1)); //GridLayout is chosen as the layout for the frame
mFrame.addWindowListener(new WindowAdapter() (
public void windowClosing(WindowEvent windowEvent)(
System. exit (0);
)
));
//layout description
headerLbl = new JLabel("", JLabel.CENTER);
statusLbl = new JLabel("", JLabel.CENTER);
statusLbl.setSize(350, 100);
cntrlpnl = new JPanel();
cntrlpnl.setLayout(new FlowLayout());
mFrame.add(headerLbl);
mFrame.add(cntrlpnl);
mFrame.add(statusLbl);
mFrame.setVisible(true);
)
// function to display pane
private void ColorChooserPane()(
headerLbl.setText("Here it is: JColorChooser");
JButton chooseButton = new JButton("Choose the color to set as Background");
chooseButton.addActionListener(new ActionListener() (
public void actionPerformed(ActionEvent e) (
Color bg = JColorChooser. showDialog (mFrame,
"Choose background color", Color.white);
if(bg != null)(
cntrlpnl.setBackground(bg);
mFrame.getContentPane().setBackground(bg);
)
)
));
cntrlpnl.add(chooseButton);
mFrame.setVisible(true);
)
)
Resultado:
Quando você clica nesse botão, a caixa a seguir é exibida.
Após selecionar a cor, uma tela aparece como abaixo.
Conclusão
O JcolorChooser ajuda a oferecer um painel de controle que permite ao usuário selecionar uma cor no formato Vermelho, Verde, Azul (RGB) como parte do objetivo do design. Como já discutido, o painel de controle criado terá duas partes nas quais uma é um painel com guias e a outra é a caixa de visualização.
Artigos recomendados
Este é um guia para o JColorChooser. Aqui discutimos os construtores e métodos, juntamente com seu programa para implementar o JColorChooser. Você também pode consultar os seguintes artigos para saber mais:
- Construtor em Java
- Matrizes 3D em Java
- BorderLayout em Java
- StringBuffer em Java
- JFrame em Java
- Matrizes 3D em C ++
- JLabel em Java
- Flowlayout em Java