Calculadora Java: Criação de aplicações em Java utilizando Swing
Como criar uma calculadora utilizando Java Swing de maneira simples e rápida no Netbeans.
Pré-requisitos
Para criar a aplicação é necessário ter instalado em seu computador o seguinte programa.- NetBeans – É necessário que se tenha instalado uma IDE para facilitar o desenvolvimento do projeto. Para o artigo foi escolhido o NetBeans, pois acredito ser mais fácil criar telas utilizando Swing com o mesmo.
Criando um projeto
Para criar um projeto no NetBeans é bem simples, basta clicar em: Arquivo > Novo Projeto- Categorias: Java
- Projetos: Aplicação Java
Na tela a seguir é necessário informar o nome do projeto, neste caso criei o projeto com nome de CalculadoraSwing.
Para criar uma classe no NetBeans, basta clicar no projeto com o botão direito e escolher a opção: Novo > Classe Java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package calculadoraswing;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author Robson Fernando Gomes
*/
public class Calculos {
public static void main(String args[])
{
Calculos c=new Calculos();
System.out.println(">>>>"+c.calculadora("5/5"));
}
public String calculadora(String expressao) {
String resultado;
List<Double> listaNumeros = new ArrayList<Double>();
List<Character> listaOperadores = new ArrayList<Character>();
listaNumeros = obterNumeros(expressao);
listaOperadores = obterOperadores(expressao);
resultado = calcularValor(listaNumeros, listaOperadores);
return resultado;
}
private String calcularValor(List<Double> listaNumeros,
List<Character> listaOperadores) {
String resultado = "";
double total = 0.0;
int j=0;
for (int i = 0; i < listaNumeros.size()-1; i++) {
if ( total==0.0) {
double numero1 = listaNumeros.get(i).doubleValue();
double numero2 = listaNumeros.get(i + 1).doubleValue();
char operador = listaOperadores.get(i).charValue();
total = executarOperacao(numero1, operador, numero2);
}
else if (total>0.0) {
double numero2 = listaNumeros.get(i).doubleValue();
char operador = listaOperadores.get(j).charValue();
total = executarOperacao(total, operador, numero2);
j++;
}
}
resultado = ""+total;
return resultado;
}
private double executarOperacao(double numero1, char operador, double numero2) {
double resultado = 0.0;
if (operador == '+') {
resultado = numero1 + numero2;
} else if (operador == '-') {
resultado = numero1 - numero2;
} else if (operador == '/') {
resultado = numero1 / numero2;
} else if (operador == '*') {
resultado = numero1 * numero2;
}
return resultado;
}
private List<Double> obterNumeros(String expressao) {
List<Double> listaNumeros = new ArrayList<Double>();
String numeroEmString = "";
for (int i = 0; i < expressao.length(); i++) {
if (isOperador(expressao.charAt(i))) {
Double numero = Double.valueOf(numeroEmString);
listaNumeros.add(numero);
numeroEmString = "";
} else {
numeroEmString = numeroEmString.concat("" + expressao.charAt(i));
}
}
if(!numeroEmString.isEmpty())
{
Double numero = Double.valueOf(numeroEmString);
listaNumeros.add(numero);
}
return listaNumeros;
}
private List<Character> obterOperadores(String expressao) {
List<Character> listaOperadores = new ArrayList<Character>();
for (int i = 0; i < expressao.length(); i++) {
if (isOperador(expressao.charAt(i))) {
listaOperadores.add(new Character(expressao.charAt(i)));
}
}
return listaOperadores;
}
private boolean isOperador(char caracter) {
boolean isOperador = false;
if (caracter == '-' || caracter == '+' || caracter == '/' || caracter == '*') {
isOperador = true;
}
return isOperador;
}
}
Listagem 1. Classe Calculo.java
Para criar uma classe do tipo JFrame, basta clicar no pacote no qual será criads e clicar em: Novo > Form JFrame.
Agora também é necessário alterar o texto do botão, Para alterar o texto do item, clique com o botão direito sobre ele e escolha a opção Editar Texto.
Logo que for adicionada essa ação, a tela será direcionada para código fonte.
Agora será necessário seguir esse processo para todos os botões da calculadora.
Abaixo é possível ver como ficará a tela neste exemplo:
Um exemplo de código que faz alteração no visor quando algum botão é apertado pode ser visto abaixo:
private void botao3MouseClicked(java.awt.event.MouseEvent evt) {
String valor = visorCalculador.getText();
visorCalculador.setText(valor + "3");
}
Listagem 2. Exemplo de código para alteração do valor do visor
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package calculadoraswing;
/**
*
* @author mago
*/
public class TelaCalculadora extends javax.swing.JFrame {
/**
* Creates new form TelaCalculadora
*/
public TelaCalculadora() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
visorCalculador = new javax.swing.JTextPane();
botaoCE = new javax.swing.JButton();
botao7 = new javax.swing.JButton();
botao8 = new javax.swing.JButton();
botao9 = new javax.swing.JButton();
botao5 = new javax.swing.JButton();
botao6 = new javax.swing.JButton();
botao4 = new javax.swing.JButton();
botao1 = new javax.swing.JButton();
botao2 = new javax.swing.JButton();
botao3 = new javax.swing.JButton();
botao0 = new javax.swing.JButton();
botaoVezes = new javax.swing.JButton();
botaoDiv = new javax.swing.JButton();
botaoMenos = new javax.swing.JButton();
botaoMais = new javax.swing.JButton();
botaoIgual = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jScrollPane1.setViewportView(visorCalculador);
botaoCE.setText("CE");
botaoCE.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
botaoCEMouseClicked(evt);
}
});
botao7.setFont(new java.awt.Font("Ubuntu", 0, 24)); // NOI18N
botao7.setText("7");
botao7.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
botao7MouseClicked(evt);
}
});
botao8.setFont(new java.awt.Font("Ubuntu", 0, 24)); // NOI18N
botao8.setText("8");
botao8.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
botao8MouseClicked(evt);
}
});
botao9.setFont(new java.awt.Font("Ubuntu", 0, 24)); // NOI18N
botao9.setText("9");
botao9.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
botao9MouseClicked(evt);
}
});
botao5.setFont(new java.awt.Font("Ubuntu", 0, 24)); // NOI18N
botao5.setText("5");
botao5.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
botao5MouseClicked(evt);
}
});
botao6.setFont(new java.awt.Font("Ubuntu", 0, 24)); // NOI18N
botao6.setText("6");
botao6.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
botao6MouseClicked(evt);
}
});
botao4.setFont(new java.awt.Font("Ubuntu", 0, 24)); // NOI18N
botao4.setText("4");
botao4.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
botao4MouseClicked(evt);
}
});
botao1.setFont(new java.awt.Font("Ubuntu", 0, 24)); // NOI18N
botao1.setText("1");
botao1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
botao1MouseClicked(evt);
}
});
botao2.setFont(new java.awt.Font("Ubuntu", 0, 24)); // NOI18N
botao2.setText("2");
botao2.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
botao2MouseClicked(evt);
}
});
botao3.setFont(new java.awt.Font("Ubuntu", 0, 24)); // NOI18N
botao3.setText("3");
botao3.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
botao3MouseClicked(evt);
}
});
botao0.setFont(new java.awt.Font("Ubuntu", 0, 24)); // NOI18N
botao0.setText("0");
botao0.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
botao0MouseClicked(evt);
}
});
botaoVezes.setFont(new java.awt.Font("Ubuntu", 0, 24)); // NOI18N
botaoVezes.setText("*");
botaoVezes.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
botaoVezesMouseClicked(evt);
}
});
botaoDiv.setFont(new java.awt.Font("Ubuntu", 0, 24)); // NOI18N
botaoDiv.setText("/");
botaoDiv.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
botaoDivMouseClicked(evt);
}
});
botaoMenos.setFont(new java.awt.Font("Ubuntu", 0, 24)); // NOI18N
botaoMenos.setText("-");
botaoMenos.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
botaoMenosMouseClicked(evt);
}
});
botaoMais.setFont(new java.awt.Font("Ubuntu", 0, 24)); // NOI18N
botaoMais.setText("+");
botaoMais.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
botaoMaisMouseClicked(evt);
}
});
botaoIgual.setText("=");
botaoIgual.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
botaoIgualMouseClicked(evt);
}
});
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup
(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup
(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent
(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 218,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent
(botaoCE, javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(26, 26, 26)
.addComponent(botao0, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING,
jPanel1Layout.createSequentialGroup()
.addComponent(botao1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap
(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(botao2, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING,
jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(botao7,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(botao4,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(botao5,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(botao8,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(botao3, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(botaoMais,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(botaoIgual, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(botao6,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(botaoMenos,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
.addComponent(botaoVezes,
javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addComponent(botao9,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(botaoDiv,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)))
.addGap(2, 2, 2)))))
.addContainerGap())
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(44, 44, 44)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(24, 24, 24)
.addGroup(jPanel1Layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(botaoVezes, javax.swing.GroupLayout.PREFERRED_SIZE, 33,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(botaoCE, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE, false)
.addComponent(botao7, javax.swing.GroupLayout.PREFERRED_SIZE, 0,
Short.MAX_VALUE)
.addComponent(botao8, javax.swing.GroupLayout.PREFERRED_SIZE, 0,
Short.MAX_VALUE)
.addComponent(botao9, javax.swing.GroupLayout.PREFERRED_SIZE, 33,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(botaoDiv, javax.swing.GroupLayout.PREFERRED_SIZE, 33,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanel1Layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(botao5, javax.swing.GroupLayout.PREFERRED_SIZE, 0,
Short.MAX_VALUE)
.addComponent(botao6, javax.swing.GroupLayout.PREFERRED_SIZE, 0,
Short.MAX_VALUE)
.addComponent(botao4, javax.swing.GroupLayout.PREFERRED_SIZE, 0,
Short.MAX_VALUE)
.addComponent(botaoMenos, javax.swing.GroupLayout.PREFERRED_SIZE, 33,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(botao1, javax.swing.GroupLayout.PREFERRED_SIZE, 33,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(botao2, javax.swing.GroupLayout.PREFERRED_SIZE, 33,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(botao3, javax.swing.GroupLayout.PREFERRED_SIZE, 33,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(botaoMais, javax.swing.GroupLayout.PREFERRED_SIZE, 33,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(botao0, javax.swing.GroupLayout.PREFERRED_SIZE, 33,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(botaoIgual, javax.swing.GroupLayout.PREFERRED_SIZE, 33,
javax.swing.GroupLayout.PREFERRED_SIZE)))
);
jPanel1Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[]
{botao7, botao8, botao9});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(31, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void botaoCEMouseClicked(java.awt.event.MouseEvent evt)
{
visorCalculador.setText("");
}
private void botaoVezesMouseClicked(java.awt.event.MouseEvent evt)
{
String valor = visorCalculador.getText();
visorCalculador.setText(valor + "*");
}
private void botao7MouseClicked(java.awt.event.MouseEvent evt)
{
String valor = visorCalculador.getText();
visorCalculador.setText(valor + "7");
}
private void botao8MouseClicked(java.awt.event.MouseEvent evt)
{
String valor = visorCalculador.getText();
visorCalculador.setText(valor + "8"); // TODO add your handling code here:
}
private void botao9MouseClicked(java.awt.event.MouseEvent evt)
{
String valor = visorCalculador.getText();
visorCalculador.setText(valor + "9"); // TODO add your handling code here:
}
private void botaoDivMouseClicked(java.awt.event.MouseEvent evt)
{
String valor = visorCalculador.getText();
visorCalculador.setText(valor + "/"); // TODO add your handling code here:
}
private void botao4MouseClicked(java.awt.event.MouseEvent evt)
{
String valor = visorCalculador.getText();
visorCalculador.setText(valor + "4"); // TODO add your handling code here:
}
private void botao5MouseClicked(java.awt.event.MouseEvent evt)
{
String valor = visorCalculador.getText();
visorCalculador.setText(valor + "5"); // TODO add your handling code here:
}
private void botao6MouseClicked(java.awt.event.MouseEvent evt)
{
String valor = visorCalculador.getText();
visorCalculador.setText(valor + "6"); // TODO add your handling code here:
}
private void botaoMenosMouseClicked(java.awt.event.MouseEvent evt)
{
String valor = visorCalculador.getText();
visorCalculador.setText(valor + "-"); // TODO add your handling code here:
}
private void botao1MouseClicked(java.awt.event.MouseEvent evt) {
String valor = visorCalculador.getText();
visorCalculador.setText(valor + "1"); // TODO add your handling code here:
}
private void botao2MouseClicked(java.awt.event.MouseEvent evt) {
String valor = visorCalculador.getText();
visorCalculador.setText(valor + "2"); // TODO add your handling code here:
}
private void botao3MouseClicked(java.awt.event.MouseEvent evt) {
String valor = visorCalculador.getText();
visorCalculador.setText(valor + "3"); // TODO add your handling code here:
}
private void botaoMaisMouseClicked(java.awt.event.MouseEvent evt) {
String valor = visorCalculador.getText();
visorCalculador.setText(valor + "+"); // TODO add your handling code here:
}
private void botao0MouseClicked(java.awt.event.MouseEvent evt) {
String valor = visorCalculador.getText();
visorCalculador.setText(valor + "0"); // TODO add your handling code here:
}
private void botaoIgualMouseClicked(java.awt.event.MouseEvent evt) {
String valor = visorCalculador.getText();
System.out.println(">>>"+valor);
Calculos calculos = new Calculos();
String resultado = calculos.calculadora(valor);
visorCalculador.setText(resultado);
// TODO add your handling code here:
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code
(optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look
and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/
plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(TelaCalculadora.class.getName()).log(
java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(TelaCalculadora.class.getName()).log(
java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(TelaCalculadora.class.getName()).log(
java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(TelaCalculadora.class.getName()).log(
java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new TelaCalculadora().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton botao0;
private javax.swing.JButton botao1;
private javax.swing.JButton botao2;
private javax.swing.JButton botao3;
private javax.swing.JButton botao4;
private javax.swing.JButton botao5;
private javax.swing.JButton botao6;
private javax.swing.JButton botao7;
private javax.swing.JButton botao8;
private javax.swing.JButton botao9;
private javax.swing.JButton botaoCE;
private javax.swing.JButton botaoDiv;
private javax.swing.JButton botaoIgual;
private javax.swing.JButton botaoMais;
private javax.swing.JButton botaoMenos;
private javax.swing.JButton botaoVezes;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextPane visorCalculador;
// End of variables declaration
}
Listagem 3. Código fonte da classe TelaCalculadora.java
Conclusão
Como foi possível ver ao longo do artigo, a construção de aplicativos utilizando interface gráfica Swing é bem simples quando se utiliza o IDE NetBeans. Uma boa interface gráfica faz toda diferença em qualquer programa, e a utilização de Swing para criação desta interface pode vir a ser muito útil.
Links:
- Todos os Cursos Java: Torne-se um programador Java completo, cursos sobre as mais ferramentas e frameworks do universo Java. Aprenda a desenvolver sites e web services com JSF, Jersey, Hibernate e mais.
Comentários
Enviar um comentário
De seu comentario acerca desta aula, sua dica, sua critica ou sugestao para que eu possa melhorar o conteudo deste Blog. Obrigado Pela Atencao dispensada boa aula a todos.