Conversor + NetBeans
Novo projeto
Definindo a UI
Crie um frame
Ao criar um frame, a IDE já apresenta o GUI Builder para editá-lo visualmente.
GUI Builder
O GUI Builder é tem como objetivo simplificar a construção de telas utilizando Swing
Pallete: apresenta todos os componentes disponíveis para a construção da tela. Para utilizá-los basta selecionar e arrastar o elemento para a tela
Navigator: diferente da visão de uma classe comum, no GUI Builder, o navigator apresenta os elementos swing adicionados à tela
Editor: apresenta o protótipo da tela, por ele é possível adicionar, mover, remover e editar propriedades dos elementos swing
Visualização: apresenta as opções abaixo:
Source: Apresenta o código da classe em questão como uma classe java comum. Utilizado para tratar a lógica das telas (apresentado em todas as classes)
Design: Apresenta o GUI Builder (apresentado apenas em classes Swing)
History: Apresenta um histórico de alterações na classe (apresentado em todas as classes)
Preview: apresenta uma pré-visualização da tela em edição sem a necessidade de executar todo o projeto
Botões de posicionamento: servem para alinhar elementos na tela
Adicione os elementos necessários
Para o conversor precisaremos de um campo para receber o valor em Celsius, um para apresentar o resultado da conversão em Fahrenheit, um botão para acionar o cálculo, além de labels para identificar os elementos.
Para adicionar os elementos na tela é necessário selecionar (um clique com o botão esquerdo do mouse) o elemento e posicioná-lo na tela no local desejado (mais um clique botão esquerdo do mouse).
Após adicionados os elementos, é possível selecionar cada um de maneira independente para editar suas propriedades.
Properties: apresenta todos os atributos do elemento e permite a sua edição
Navigator: como mencionado acima, apresenta os elementos adicionados à tela
Elemento selecionado: para selecionar um elemento, basta um clique com o botão esquerdo do mouse. Os elementos podem ser redimensionados usando os pontos extremos representados na borda laranja
Cado a aba de propiedades não seja apresentada por padrão, é possível acioná-la via Window > IDE Tools > Properties ou pelo atalho Ctrl+Shift+7.
Redimensionar elementos
Ao selecionar as extremidades dos elementos e arrastar até o ponto desejado
Renomear elementos
Para renomear os elementos basta utilizar o botão direito do mouse no navigator e selecionar "Change variable name"
Repita o processo para todos os elementos
Editar propriedades
Na aba Properties, basta encontrar o valor desejado e alterá-lo
Repita o processo para todos os elementos
Alinhar elementos
Ao alterar o conteúdo do labelFahrenheit, o tamanho do elemento mudou sendo necessário alinhar os textField.
Para isso, selecione os campos a serem alinhados e acione o botão de alinhamento à direita.
Em alguns momentos os campos podem ser perder a configuração quando alinhados ou ao adicionar um novo elemento na tela. Nesses casos, será necessário repetir o processo de alinhamento e organização dos elementos.
Preview
Para previzualizar a tela, é necessário acionar o botão "Preview Design"
Ajustar tamanho do frame ao elementos da tela
Como apresentado acima, a tela já está com o design quase concluído, podemos ajustar o tamanho do frame para melhorar a apresentação.
No Navigator clique com o botão direito do mouse no frame e selecione a opção "Set to Default Size".
Inicializar o frame
Para que o frame criado seja apresentado, é necessário inicializá-lo no main da classe principal do projeto, neste caso Conversor.java.
Executar o projeto
Para executar o projeto basta selecionar uma das opções: Run Project ou Debug Project
Tamanho dos campos
Para definir o tamanho dos campos, altere a propriedade "columns" dos textField.
Título do frame
Para definir o título do frame, altere a propriedade "title" do frame.
Desabilitar resultado
Para definir um campo como não editável, altere a propriedade "title" do frame.
Código fonte
Agora que temos a tela da forma que desejamos e com os elementos necessários, é sugerida atenção ao código fonte gerado.
O código gerado pelo GUI Builder não pode ser ajustado manualmente pelo editor de texto e é apresentado em cinza na classe ConversorFrame.
Adicionar eventos
Todo o código gerado deve ser editado via GUI Builder e isso inclui os eventos atrelados aos elementos em tela. Para criar um elemento deve-se clicar com o botão direito no elemento desejado e selecionar Events > [evento desejado] > [método desejado].
Usaremos essa funcionalidade para criar um evento para o botão "Converter".
No código fonte é gerado um método vazio esperando a ação desejada. Neste caso será implementado com o cálculo da conversão de temperatura Cº para F°.
private void buttonCalcularActionPerformed(java.awt.event.ActionEvent evt) {
Double tempFahr = (Double.parseDouble(textFieldCelsius.getText())) * 1.8 + 32;
textFieldFarenheit.setText(tempFahr.toString());
}
Definido o funcionamento do botão podemos converter o valor conforme o esperado.
Alterar "Look and Feel"
A biblioteca do Swing possui alguns conjuntos e estilos de elementos pré-definidos e além dos temas padrões, existem temas criados pela comunidade. No editor do código fonte do frame ConversorFrame.java gerado pela IDE há um trecho de código específico para a configuração do "Look and Feel" ou LAF do frame.
Esse trecho de código não é executado devido ao fato de a execução ser feita pela classe Conversor.java. Portando, deve ser feita uma movimentação deste código para a classe principal e removido o método main sem uso da classe ConversorFrame.java. Resultando no estado abaixo:
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(ConversorFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(ConversorFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(ConversorFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(ConversorFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
Como é possível compreender analisando o bloco de código sobre o LAF, o tema definido no padrão da IDE é o "Nimbus". Porém, como mencionado acim, este trecho de código não era executado e o tema padrão do swing era acionado: Metal.

Projeto Conversor
Caso necessário, o projeto Conversor pode ser encontrado no no github.
Referências
Last updated