Na primeira postagem aprendemos como criar a página do aplicativo agora iremos implementar alguns componentes e eventos. Veja no código abaixo alguns componentes e alguns eventos:
import java.awt.Color;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import javax.swing.*;import javax.swing.table.DefaultTableCellRenderer;public class inter extends JFrame implements ActionListener,ItemListener{JScrollPane panelTabela;//Painel com barra de rolagemJLabel mensagem ;//no jlabel pode ser colocado mensagens, imagens....JTextField caixaText1,caixaText2,caixaText3,caixaSetaTexto; //JTextField é uma caixa de textoJComboBox setaText;//é uma seta com uma lista dentroJButton butaoAddLinha ,butaoRemoveLinha; //butao da paginaJTable tabela;//tabela da paginapublic inter() {setTitle("Minha Primeira GUI");//define a barra de titulosetSize(1024,600);//define o tamanho em pixel da largura e alturasetLocation(10,10);//localiza onde irá aparecer a telasetDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//fecha o formulario pra desocupar memoriasetResizable(false);//proibido redimensionar ou naumgetContentPane().setBackground(new Color(135, 206, 255));//muda a cor de fundo por codigos java//Gerenciador de layoutgetContentPane().setLayout(null);//-----------implementando a tabela-------------//tabela = new JTable();//inicializa a tabelatabela.setModel(new javax.swing.table.DefaultTableModel(//modelo da tabelanew Object [][] { },new String [] {"Coluna 1 ","Coluna 2", "Coluna 3"}){});tabela.getColumnModel().getColumn(0).setPreferredWidth(70);//tamanho da colunatabela.getColumnModel().getColumn(0).setResizable(false);// não pode redimensionar arrastando a colunatabela.getColumnModel().getColumn(1).setPreferredWidth(70);//tamanho da colunatabela.getColumnModel().getColumn(1).setResizable(false);tabela.getColumnModel().getColumn(2).setPreferredWidth(70);//tamanho da colunatabela.getColumnModel().getColumn(2).setResizable(false);/*-------- estilo das colunas------------------------------------------------------*/DefaultTableCellRenderer numeros =new DefaultTableCellRenderer() {public void setValue(Object value) {//setBackground(new Color(238, 238, 238));//pode colocar a cor de fundo na colunasetFont(new Font("Arial", Font.BOLD /*+ Font.ITALIC*/, 12));//pode modificar a fonte da letrasuper.setValue(value);}};tabela.getColumnModel().getColumn(1).setCellRenderer(numeros); //modificando o estilo da coluna 1/*---------------------------------------------------------------------------------*/panelTabela = new JScrollPane(tabela);//inicializa o painel colocando a tabela dentro delemensagem = new JLabel("Meu Primeiro Programa");//inicializa o JLabelcaixaText1 = new JTextField("coluna 1");//inicializa o JTextFieldcaixaText2 = new JTextField("coluna 2");caixaText3 = new JTextField("coluna 3");caixaSetaTexto = new JTextField();setaText = new JComboBox ();//é uma seta com uma lista dentrobutaoAddLinha = new JButton("Adcionar a coluna");//butao para adcionar linha a colunabutaoRemoveLinha = new JButton("Remover da coluna"); //butao para remover linha da coluna//adicionar item a JComboBox----------------------------setaText.addItem("Nome1");//adiciona a stringa ao JComboBoxsetaText.addItem("Nome2");//adiciona a stringa ao JComboBoxsetaText.addItem("Nome3");//adiciona a stringa ao JComboBoxsetaText.addItem("Nome4");//adiciona a stringa ao JComboBox//----------------------------------------------------mensagem.setFont(new Font("Courier", Font.BOLD + Font.ITALIC, 27));//estilo da fonte do JLabelmensagem.setForeground(new Color(255,255,255));//cor do JLabelmensagem.setBounds(10,10,600,40); //localiza o JLabel na paginacaixaText1.setBounds(10, 80, 200, 30);//localiza a caixa de texto na paginacaixaText2.setBounds(250, 80, 200, 30);//localiza a caixa de texto na paginacaixaText3.setBounds(500, 80, 200, 30);//localiza a caixa de texto na paginabutaoAddLinha.setBounds(720, 80, 200, 30);//localiza o botao na paginabutaoRemoveLinha.setBounds(720, 130, 200, 30);//localiza o botao na paginapanelTabela.setBounds(10, 130, 690,300);//localiza o painel com scroll que possui a tabelasetaText.setBounds(10, 460, 200,30);caixaSetaTexto.setBounds(10, 500, 200, 30);getContentPane().add(mensagem); //adiciona o Jlabel na paginagetContentPane().add(caixaText1);//adiciona a caixa de texto na paginagetContentPane().add(caixaText2);//adiciona a caixa de texto na paginagetContentPane().add(caixaText3);//adiciona a caixa de texto na paginagetContentPane().add(butaoAddLinha);//adiciona o botao a paginagetContentPane().add(butaoRemoveLinha);//aidciona o botao a paginagetContentPane().add(panelTabela);//aidciona o painel a paginagetContentPane().add( setaText);getContentPane().add(caixaSetaTexto);//todos os objetos que irão sofrer açãobutaoAddLinha.addActionListener(this);butaoRemoveLinha.addActionListener(this);setaText.addItemListener(this);}//esse metodo adciona linha a coluna pode ser chamdo quantas vezes quiser passando como parametro as strings da linhavoid AddLinha(String coluna1,String coluna2,String coluna3) {//GEN-FIRST:event_jButton1ActionPerformed// TODO add your handling code here:javax.swing.table.DefaultTableModel dtm = (javax.swing.table.DefaultTableModel)tabela.getModel();dtm.addRow(new Object[]{coluna1,coluna2,coluna3});}//esse metodo remove a linha selecinada pode se criar um botão e utilizá-lavoid RemoveLinha() {//GEN-FIRST:event_bDeleteActionPerformed// TODO add your handling code here:int[] l = tabela.getSelectedRows();javax.swing.table.DefaultTableModel dtm = (javax.swing.table.DefaultTableModel)tabela.getModel();for(int i = (l.length-1); i >= 0; --i)dtm.removeRow(l[i]);}public static void main(String[] args) {inter obj = new inter();obj.setVisible(true);}// esse metodo refere-se a ação que ocorre no aplicativopublic void actionPerformed(ActionEvent e) {if(e.getSource()== butaoAddLinha){//ação de clicar no botao addlinhaString text1 = (String)caixaText1.getText();//pega o valor da caixa de texto1String text2 = (String)caixaText2.getText();//pega o valor da caixa de texto2String text3 = (String)caixaText3.getText();//pega o valor da caixa de texto3AddLinha(text1,text2,text3);//chama o metodo addlinha e passa as strings da caixa de texto como parametro}if(e.getSource()== butaoRemoveLinha){//ação de clicar no botão removeLinhaRemoveLinha();//chama o metodo removelinha}}public void itemStateChanged(ItemEvent e ) {//Ação da JComboBoxif (e.getSource() == setaText){String Text = (String)(setaText.getSelectedItem());caixaSetaTexto.setText(Text);}}}
Nesse pequeno aplicativo encontra-se a implementação de uma JTabel, de um JButton, de uma JLabel, de um JComboBox, de um JScrollPane e de um JTextField , encontramos também alguns eventos ,o ActionListener e o ItemListener. Pode - se destacar alguns métodos como o de adicionar e o de remover linhas da tabela.
Espero que tenham gostado, aguardem mais postagens
Coloque aqui o seu email