Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package cc3;
- import java.awt.FlowLayout;
- import java.awt.event.*;
- import javax.swing.*;
- import javax.swing.table.DefaultTableModel;
- public class Sistema extends JFrame implements
- ActionListener{
- //Área de referências globais e variáveis
- JLabel lNome, lEnd, lEst, lSex;
- JTextField tfNome, tfEnd;
- JButton bGravar, bLimpar, bSair, bExcluir;
- JComboBox cbEstado, cbCid;
- JRadioButton rbSexoM, rbSexoF;
- ButtonGroup bgSexo;
- JCheckBox cbxEditar;
- String texto = "Registros\n";
- JMenuItem miGravar, miSair, miLimpar;
- JMenu mArquivo, mEditar;
- JMenuBar barra;
- JTable tabela;
- JScrollPane scroll;
- DefaultTableModel model;
- public Sistema(){
- //layout em fluxo sentido da escrita do caderno
- setLayout(new FlowLayout());
- //instâncias dos campos de texto e seus rótulos
- lNome = new JLabel("Nome");
- add(lNome);
- tfNome = new JTextField(20);
- tfNome.addActionListener(this);
- add(tfNome);
- lEnd = new JLabel("Endereço");
- add(lEnd);
- tfEnd = new JTextField(30);
- add(tfEnd);
- //instância do combobox e seu rótulo
- lEst = new JLabel("Estado");
- add(lEst);
- String [] estados =
- {"", "Ceará", "Maranhão", "Pará"};
- cbEstado = new JComboBox(estados);
- cbEstado.addActionListener(this);
- add(cbEstado);
- String [] cidade =
- {"", "Anapolis", "Imperatriz", "Marabá"};
- cbCid = new JComboBox();
- add(cbCid);
- //instância do radiobutton e seu rótulo
- lSex = new JLabel("Sexo");
- add(lSex);
- //agrupamento do radio button
- bgSexo = new ButtonGroup();
- rbSexoF = new JRadioButton("Feminino");
- bgSexo.add(rbSexoF);
- rbSexoM = new JRadioButton("Masculino");
- bgSexo.add(rbSexoM);
- add(rbSexoF);
- add(rbSexoM);
- //instâncias dos buttons
- bGravar = new JButton("Gravar");
- //escuta que aguarda ação no botão e chama o método actionPerformed
- bGravar.addActionListener(this);
- bGravar.setToolTipText("Gravar os dados no sistema.");
- add(bGravar);
- bLimpar = new JButton("Limpar");
- bLimpar.addActionListener(this);
- bLimpar.setToolTipText("Limpar os campos.");
- add(bLimpar);
- bExcluir = new JButton("Excluir");
- bExcluir.addActionListener(this);
- add(bExcluir);
- bSair = new JButton("Sair");
- bSair.addActionListener(this);
- bSair.setToolTipText("Sair do sistema.");
- add(bSair);
- //instância do check box e seu rótulo
- cbxEditar = new JCheckBox("Não Editável");
- cbxEditar.addActionListener(this);
- add(cbxEditar);
- //Menu de opções
- miGravar = new JMenuItem("Gravar");
- miGravar.setMnemonic('G'); // configura G como tecla de atalho
- miGravar.addActionListener(this);
- miSair = new JMenuItem("Sair");
- miSair.setMnemonic('S');
- miSair.addActionListener(this);
- mArquivo = new JMenu("Arquivo");
- mArquivo.setMnemonic('A'); //configura Alt + A como tecla de atalho
- mArquivo.add(miGravar);
- mArquivo.add(miSair);
- miLimpar = new JMenuItem("Limpar");
- miLimpar.setMnemonic('L');
- miLimpar.addActionListener(this);
- mEditar = new JMenu("Editar");
- mEditar.setMnemonic('E');
- mEditar.add(miLimpar);
- barra = new JMenuBar();
- barra.add(mArquivo);
- barra.add(mEditar);
- setJMenuBar(barra); //configura barra do menu completa na frame
- String[] colunas =
- new String[]{"Nome","Endereço",
- "Estado", "Cidade", "Sexo"};
- String[][] dados = new String[][]{{}};
- tabela = new JTable(dados,colunas);
- model = new DefaultTableModel(dados , colunas );
- tabela.setModel(model);
- scroll = new JScrollPane();
- scroll.setViewportView(tabela);
- add(scroll);
- setSize(700, 500);
- setVisible(true);
- }
- @Override
- public void actionPerformed(ActionEvent e) {
- // quando pressionado enter no campo
- // manda cursos para campo endereço
- if (e.getSource()==tfNome){
- tfEnd.requestFocus();
- }
- // quando marcado desabilita e torna não editável os campos
- // quando desmarcado retorna edição e habilita campos
- if (e.getSource()==cbxEditar){
- if (cbxEditar.isSelected()){
- tfNome.setEditable(false);
- tfEnd.setEnabled(false);
- cbEstado.setEnabled(false);
- rbSexoF.setEnabled(false);
- rbSexoM.setEnabled(false);
- bGravar.setEnabled(false);
- bLimpar.setEnabled(false);
- }
- if (cbxEditar.isSelected()==false){
- tfNome.setEditable(true);
- tfEnd.setEnabled(true);
- cbEstado.setEnabled(true);
- rbSexoF.setEnabled(true);
- rbSexoM.setEnabled(true);
- bGravar.setEnabled(true);
- bLimpar.setEnabled(true);
- }
- }
- if(e.getSource() == cbEstado){
- if (cbEstado.getSelectedIndex()==0){
- cbCid.removeAllItems();
- String [] cid = {""};
- cbCid.insertItemAt(cid[0], 0);
- }else if (cbEstado.getSelectedIndex()==1){
- cbCid.removeAllItems();
- String [] cidCe = {"", "Fortaleza", "Crato"};
- for (int i=0; i<=2; i++)
- cbCid.insertItemAt(cidCe[i], i);
- }else if (cbEstado.getSelectedIndex()==2){
- cbCid.removeAllItems();
- String [] cidMa = {"", "São Luis", "Imperatriz"};
- for (int i=0; i<=2; i++)
- cbCid.insertItemAt(cidMa[i], i);
- }else if (cbEstado.getSelectedIndex()==3){
- cbCid.removeAllItems();
- String [] cidPa = {"", "Belém", "Marabá"};
- for (int i=0; i<=2; i++)
- cbCid.insertItemAt(cidPa[i], i);
- }
- }
- //ações para o botão gravar
- if (e.getSource()==bGravar | e.getSource()==miGravar){
- if (tfNome.getText().equals("") |
- tfEnd.getText().equals("") |
- cbEstado.getSelectedIndex()==0 |
- cbCid.getSelectedItem()==null |
- rbSexoF.isSelected()==false &
- rbSexoM.isSelected()==false){
- JOptionPane.showMessageDialog(null, "Vazio!");
- }
- //verifica qual sexo foi selecionado
- String sexo = "";
- if (rbSexoF.isSelected()){
- sexo = "Feminino";
- }else if(rbSexoM.isSelected()){
- sexo = "Masculino";
- }
- //apresenta os dados gravados em um painel de opções
- String [] texto = {tfNome.getText(), tfEnd.getText(),
- cbCid.getSelectedItem().toString(),
- cbEstado.getSelectedItem().toString(),
- sexo};
- model.addRow(texto);
- JOptionPane.showMessageDialog(null,
- "Gravado com sucesso!");
- //limpa os campos para os próximos dados
- tfNome.setText("");
- tfEnd.setText("");
- cbEstado.setSelectedIndex(0);
- bgSexo.clearSelection();
- }else if (e.getSource()==bLimpar | e.getSource()==miLimpar){
- //limpa todos os campos
- tfNome.setText("");
- tfEnd.setText("");
- cbEstado.setSelectedIndex(0);
- bgSexo.clearSelection();
- }else if (e.getSource()==bSair | e.getSource() == miSair){
- // sai do sistema
- System.exit(0);
- }else if (e.getSource()==bExcluir){
- model.removeRow(tabela.getSelectedRow());
- }
- }
- public static void main (String [] args){
- //inicia o programa
- Sistema s = new Sistema();
- s.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement