sábado, 29 de dezembro de 2012

Prévia da Interface Gráfica: Stringless Guitar - Parte 2


Um JComboBox, que permite ao usuário escolher dentre vários elementos, pode ter duas formas diferentes. O formato padrão é uma combo box não-editável, que caracteriza um botão e uma lista drop-down de itens. A outra, editável, caracteriza um campo de texto com um pequeno botão ao lado. O usuário pode digitar um valor no campo de texto ou clicar no botão para mostrar a lista de itens. Aqui segue as duas formas de combo boxes, da esquerda para a direita, respectivamente, editável e não-editável em Java:


An uneditable combo box                            An editable combo box
An uneditable combo box                         An editable combo box


Outros componentes que podem mostrar uma de várias possibilidades de escolhas são grupos de radio buttons e lists. Selecionar um botão de opção diferente força a remoção da seleção de todos os outros que estão selecionados. Os botões de opção são utilizados para representar opções mutuamente exclusivas (isto é, não é possível selecionar múltiplas opções no grupo ao mesmo tempo).

A intenção de usar dois combo boxes é de fornecer ao usuário duas listas de tons (maior/menor) contendo cada uma 8 possibilidades de acordes para serem tocados (que vão ser representados pelos botões do último post). Segue o código que implementa essa funcionalidade:


import javax.swing.JComboBox;
import javax.swing.JFrame;
import java.awt.Container;
import java.awt.FlowLayout;


public class JComboBoxTeste extends JFrame {


JComboBox comboBoxTomMenor;
JComboBox comboBoxTomMaior;

public JComboBoxTeste(){
super("Teste");
Container container = this.getContentPane();
container.setLayout(new FlowLayout());
String[] listaAfinacaoMaior = {"Selecione um tom maior","C", "Db", "D", "Eb", "E", "F", "F#", "G", "Ab", "A", "Bb", "B"};
String[] listaAfinacaoMenor = {"Selecione um tom menor","C", "C#", "D", "Eb", "E", "F", "F#", "G", "G#", "A", "Bb", "B"};

comboBoxTomMaior = new JComboBox(listaAfinacaoMaior);
container.add(comboBoxTomMaior);

comboBoxTomMenor = new JComboBox(listaAfinacaoMenor);
container.add(comboBoxTomMenor);


comboBoxTomMaior.setEditable(false);
comboBoxTomMenor.setEditable(false);
}



public static void main(String[] args) {
JComboBoxTeste j = new JComboBoxTeste();
j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
j.setSize(250,150);
j.setVisible(true);
}

}







Fontes de Referência

DEITEL, H.M; DEITEL, P.J, Java, Como Programar -8ªed. – São Paulo: Prentice Hall, 2010.
http://docs.oracle.com/javase/tutorial/uiswing/components/combobox.html#eg


Nenhum comentário:

Postar um comentário