Tutorial NetBeans GUIs
Tutorial NetBeans GUIs
Tutorial NetBeans GUIs
Prof. Carlos
UTILIZANDO A INTERFACE GRFICA GUI NO NETBEANS FAZENDO PROJETOS RPIDOS, DIGITANDO POUCO CDIGO
Adicao no campo Nome do projeto e escolha um caminho, ou seja, em seu diretrio base
como a localizao do projeto, em outras palavra um lugar onde voc vai grav-lo. 4. No apague nenhum cdigo do formulrio, o cdigo ser criado automaticamente. 5. Verifique se a caixa de verificao Definir como projeto principal est selecionada. 6. Desmarque a caixa de verificao Criar classe principal caso esteja selecionada. 7. Clique em Terminar. Ok o projeto Adio foi iniciado
Material didtico Java GUI do NetBeans Criando interfaces grficas rpidas 2. Indique o nome da classe: NumeroAdicao. 3. Indique o pacote: Adicao. 4. Clique em Terminar.
Prof. Carlos
Percebe que:
Obs. Se voc no vir a janela Paleta no canto direito superior do IDE, escolha Janelas > Paleta.
1. Comece selecionando um JPanel na paleta e solte-o no JFrame. 2. Enquanto o JPanel estiver realado, v para a janela Propriedades e clique no boto de reticncias (...) ao lado da borda para escolher um estilo de borda. 3. Na caixa de dilogo Borda, selecione TitledBorder na lista, e digite Adio de nmeros no campo Ttulo. Clique em OK para salvar as alteraes de e saia da caixa de dilogo. 4. Voc agora deve ver um JFrame intitulado vazio que diz Adio de nmero como na captura de tela. Observe a captura de tela e os trs JLabels, trs JTextFields e trs JButtons como voc v acima.
Material didtico
Prof. Carlos
Renomeando os componentes
Nesta etapa, vamos renomear o texto de exibio dos componentes que acabamos de adicionar ao JFrame. 1. Clique duas vezes em 2. Clique duas vezes em 3. Clique duas vezes em
jLabel1 e altere a propriedade do texto para Primeiro nmero: jLabel2 e altere o texto para Segundo nmero: jLabel3 e altere o texto para Resultado:
4. Exclua o texto da amostra de jTextField1. Voc pode tornar o texto de exibio editvel, clicando no campo de texto,
Talvez voc tenha que redimensionar o jTextField1 para seu tamanho original. Repita esta etapa para jTextField2 e jTextField3. 5. Renomeie o texto de exibio de
boto, clicando com o boto direito do mouse no boto e escolhendo Editar texto. Ou voc pode clicar no boto, pausar e clicar novamente.) 6. Renomeie o texto de exibio de 7. Renomeie o texto de exibio de
Sua GUI finalizada agora deve ser semelhante captura de tela seguinte:
Material didtico
Prof. Carlos
1. private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) { 2. //TODO: Add your handling code here: - Traduzindo: Adicione todo o seu cdigo aqui: } 3. 4. private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) { System.exit(0); }
Material didtico Java GUI do NetBeans Criando interfaces grficas rpidas resultado = num1+num2; // Vamos colocar o resultado na caixa de texto // para isso temos que converter float para string. jTextField3.setText(String.valueOf(resultado));
Prof. Carlos
Agora nosso programa est completo e podemos constru-lo e execut-lo para v-lo em ao.
De agora em diante vamos utilizar o Netbeans para fazermos as interfaces grficas com maior rapidez e tornar o trabalho mais agradvel.
Material didtico
Prof. Carlos
2 EXEMPLO: FORMULRIO PARA CADASTRO DE CLIENTES Neste segundo exerccio vamos fazer um cadastro de clientes com o seguinte layout:
Material didtico Java GUI do NetBeans Criando interfaces grficas rpidas Prof. Carlos 7 3. Campo Formatvel (jFormattedTextField): CEP escolhe a propriedade FormattedFactory e escolha Mscara e Personalizado, formate assim: #####-### para o CEP. Para telefone faa o mesmo fazendo o formato: (##)####-#### 4. Na Caixa de combinao, escolha a propriedade Model e altere os itens: tem1 para SP, tem2 para MG, enfim... 5. Para digitar no botes, faa o mesmo: d um clique para selecion-lo espere 2 a 3 segundos e d outro clique para ativ-lo e digitar 6. Mude a cor da fonte com Foreground e mude a cor de fundo com BackGround, mude a fonte na propriedade font....
// TODO add your handling code here: = Digite todo o seu cdigo aqui: System.exit(0); 2. D duplo clique no boto
jTextField1.setText(""); jTextField2.setText(""); jTextField3.setText(""); jTextField4.setText(""); jRadioButton1.setSelected(false); jRadioButton2.setSelected(false); jRadioButton3.setSelected(false); jRadioButton4.setSelected(false); jComboBox1.setSelectedIndex(0); 3. O boto confirmar, ficar para codificar depois ou fazemos um arquivo ou fazemos um banco de dados. Assim terminamos mais um exemplo.
Material didtico
Prof. Carlos
Boto Calcular:
float vlr_dolar, vlr_real,cotacao; vlr_dolar=Float.parseFloat(jTextField1.getText()); cotacao=Float.parseFloat(jTextField2.getText()); vlr_real=vlr_dolar*cotacao; jTextField3.setText(String.valueOf(vlr_real));
Boto Limpar:
jTextField1.setText(""); jTextField2.setText(""); jTextField3.setText("");
Boto Sair:
System.exit(0);
Boto Calcular:
Material didtico Java GUI do NetBeans Criando interfaces grficas rpidas double pi=0, altura, pa, imc; altura = Float.parseFloat(jTextField2.getText()); pa = Float.parseFloat(jTextField3.getText()); imc = pa/(altura*altura); jLabel8.setText(String.valueOf(imc)); if (jRadioButton1.isSelected()) { jRadioButton2.setSelected(false); pi = (72.7 * altura) - 62; } else if (jRadioButton2.isSelected()) { jRadioButton1.setSelected(false); pi = ((62.1 * altura) - 48.7); } jLabel9.setText(String.valueOf(pi)); if (imc <= 18.5) jLabel10.setText("Voce esta abaixo do peso"); else if (imc <= 24.9) jLabel10.setText("Parabns, voc est em seu peso normal"); else if (imc <= 29.9) jLabel10.setText("Voc est acima do peso (Sobrepeso)"); else if (imc <= 34.9) jLabel10.setText("Obesidade grau I"); else if (imc <= 39.9) jLabel10.setText("Obesidade grau II"); else jLabel10.setText("Obesidade grau III - Grave!");
Prof. Carlos
Boto Limpar:
jTextField1.setText(""); jTextField2.setText(""); jTextField3.setText(""); jLabel8.setText(""); jLabel9.setText(""); jLabel10.setText(""); jRadioButton1.setSelected(false); jRadioButton2.setSelected(false);
Sair:
System.exit(0);
4.
Material didtico
Prof. Carlos
10
5. Programa Salrio:
Boto Calcular:
double sh, ht, salbruto, perc,desc, saliq, abono; int cod; String nome; cod = Integer.parseInt(jTextField1.getText()); nome = jTextField2.getText(); sh = Float.parseFloat(jTextField3.getText()); ht = Float.parseFloat(jTextField4.getText()); if ((jRadioButton2.isSelected()) || (jRadioButton3.isSelected())) abono = 200; else
Material didtico Java GUI do NetBeans Criando interfaces grficas rpidas Prof. Carlos abono = 100; salbruto = (sh*ht)+abono; if (salbruto <= 1000) perc = 0f; else if (salbruto <= 4000) perc = 0.1f; else if (salbruto <= 6000) perc = 0.15f; else perc = 0.2f; desc = salbruto * perc; saliq = salbruto - desc; JOptionPane.showMessageDialog(null,"Cdigo = "+cod+"\nNome = "+nome+"\nSalrio Bruto = R$ "+salbruto+"\nDesconto = R$ "+desc+"\nSalrio Lquido = R$ "+saliq);
11
Limpar:
jTextField1.setText(""); jTextField2.setText(""); jTextField3.setText(""); jTextField4.setText(""); jRadioButton1.setSelected(false); jRadioButton2.setSelected(false); jRadioButton3.setSelected(false); jRadioButton4.setSelected(false);
Sair:
System.exit(0);
6.
Mltiplos painis: Pega-se um painel tabulado e sobre este coloca-se outros painis (no tabulado e sim painel comum); Neste caso coloquei 3 Paineis comuns sobre o Painel tabulado.
7.
Dia ms e Ano: Ao rodar deve aparecer no jLabels o Dia, Ms e Ano. Utilizamos Controles Giratrios (Controle Giratrio = jSpinner), para o dia, ms e ano com a hora do sistema. Ao selecion-los e clicarmos no boto exibir deve aparecer no jlabels. Propriedade: Model (Spinner Model) e escolha data.
Material didtico
Prof. Carlos
12
Boto Exibir:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:
8.
Salrio2: Retomemos o exemplo 4 (Salrio) acima e consistimos o JRadioButton, pois se um deles for marcado os outros no podero mais serem marcados o que o correto.
Boto Calcular:
O novo cdigo do boto calcular ficou assim: private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: double sh, ht, salbruto, perc,desc, saliq, abono=0; int cod; String nome; cod = Integer.parseInt(jTextField1.getText()); nome = jTextField2.getText(); sh = Float.parseFloat(jTextField3.getText()); ht = Float.parseFloat(jTextField4.getText()); //Consistncia do jRadioButton, se um for marcado os outros no podem
Material didtico Java GUI do NetBeans Criando interfaces grficas rpidas if (jRadioButton2.isSelected()) { abono = 200; jRadioButton1.setSelected(false); jRadioButton3.setSelected(false); jRadioButton4.setSelected(false); } else if (jRadioButton3.isSelected()) { abono = 200; jRadioButton1.setSelected(false); jRadioButton2.setSelected(false); jRadioButton4.setSelected(false); } else if (jRadioButton1.isSelected()) { abono = 100; jRadioButton2.setSelected(false); jRadioButton3.setSelected(false); jRadioButton4.setSelected(false); } else if (jRadioButton4.isSelected()) { abono = 100; jRadioButton1.setSelected(false); jRadioButton2.setSelected(false); jRadioButton3.setSelected(false); }
Prof. Carlos
13
salbruto = (sh*ht)+abono; if (salbruto <= 1000) perc = 0f; else if (salbruto <= 4000) perc = 0.1f; else if (salbruto <= 6000) perc = 0.15f; else perc = 0.2f; desc = salbruto * perc; saliq = salbruto - desc; JOptionPane.showMessageDialog(null,"Cdigo = "+cod+"\nNome = "+nome+"\nSalrio Bruto = R$ "+salbruto+"\nDesconto = R$ "+desc+"\nSalrio Lquido = R$ "+saliq); }
Boto Limpar:
jTextField1.setText(""); jTextField2.setText(""); jTextField3.setText(""); jTextField4.setText(""); jRadioButton1.setSelected(false); jRadioButton2.setSelected(false); jRadioButton3.setSelected(false); jRadioButton4.setSelected(false);
Material didtico
Prof. Carlos
14
Formatao de nmeros
Esses exemplos abaixo podem serem testados no JCreator A classe NumberFormat, faz parte do pacote java.text e permite formatar nmeros conforme a localizao geogrfica em que voc se encontra, realizando a distino entre o sinal de ponto,milhar e de decimal, tambm identifica a posio do sinal do nmero e identifica o prefixo que indica a moeda em caso de valores monetrios. A Classe NumberFormat possui trs mtodos para formatar nmeros, valores monetrios e percentuais. Para fazer uso dela necessrio importa-la. ex: import java.text.NumberFormat; Os principais mtodos do NumberFormat so: getNumberInstance() Retorna a instncia de um objeto com base no formato da localidade padro. utilizado para numeros getCurrencyInstance() Usado para formatar moedas getIntegerInstance() Usado para formatar nmeros ignorando casas decimais getPercentInstance() Usado para formatar fraes pro exemplo 0,15 formatado e mostrado como 15% Exemplo: import java.text.NumberFormat; public class Formata { public static void main(String[] args) {
System.out.println(NumberFormat.getCurrencyInstance().format(12345678.9 0)); // imprimir R$ 12.345.678,90 } } Agora um exemplo para uma situao em que se h muitos nmeros a serem formatados. import java.text.NumberFormat; public class Formata2 {
Material didtico
Prof. Carlos
15
public static void main(String[] args) { double n[]={523.34, 54344.23 ,95845.223 ,1084.895}; NumberFormat z = NumberFormat.getCurrencyInstance(); for (int a = 0; a < n.length; a++) { if(a != 0) System.out.print(", "); System.out.print(z.format(n[a])); } System.out.println(); /* Imprime: R$ 523,34, R$ 54.344,23, R$ 95.845,22, R$ 1.084,90 */ } } Ainda possvel criar uma formatao personlizada utilizando o objeto DecimalFormat. por exemplo: import java.text.DecimalFormat; public class Formata { public static void main(String[] args) { double valor = 2000.0; double vezes = 3.0; double prestacao = valor/vezes; DecimalFormat df = new DecimalFormat("0.##"); String dx = df.format(prestacao); System.out.print(dx); } // sera impresso : 666,67 } Algumas strings de formatao que podem ser utilizadas com o Decimal Format
Marcara de formatao ,##0,00 Formato impresso 1,242.50 Descrio Separa grupo dos milhares com vrgulas, se nmero menor que um mostra zeros na frente. Nmeros negativos entre parnteses. mostra $ Se nmero entre -1 e 1
$,##0.00;($,##0.00) 0.#####
($1,535,50) 1244.5
Material didtico
Prof. Carlos
16
importante lembrar que DecimalFormat no adequada para formatar notaes cientfica, tabelas com colunas de largura fixa e nem nmeros em formato hexadecimal ou octal. 9. Uso de Menus Vrios Forms: demais forms (jFrames) No menu dp Sistemade Locao chama-se os
Cdigo java:
Material didtico
Prof. Carlos
17
Insira o seguinte cdigo que vai chamar o outro formulrio jFrame: private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: Clientes FormClientes = new Clientes(); FormClientes.show(); setVisible(false); }
No boto Menu segundo form (jFrame2) digite o evento seguinte: private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: Cadastro FormCadastro = new Cadastro(); FormCadastro.show(); setVisible(false); }
Agora voc primeiramente compila pressionando F9 e em seguida Executa pressionando <SHIFT> +F6
Material didtico
Prof. Carlos
18
No boto Retorna do outro formulrio (Horistas): Folha FormFolha = new Folha(); FormFolha.show(); setVisible(false);
Exerccio prtico: Vamos completar o projeto Folha de pagamento para horistas e comissionados. Os resultados de cada folha de pagamento ser colocado em um JOptionPane a parte. Vamos usar a Formatao de nmeros para colocar os valores. Bom trabalho!