PARA - ViniGodoy
cara… então posta um exemplo de uma chamada da setVisible(true) pelo método main ai pra min… e fale tbm sobre os action listener…
explica melhor ai e me de um exemplo, se puder…
pq eu sou novo em java, e gostaria de saber mais enquanto a esses pequenos detalhes de programação. para ela ficar uma programação PADRÃO…
e nao uma programação estruturada…
mais eu ja fiz uns programas ai complexos, fiz um até baseado no BRB, pq eu trabalho lah… ai eu fiz um sistema, que cadastra funcionários, altera, excluir, lista em uma tabela, tem buscas avançadas por nome, por setor que o funcionario trabalha, por empresa, se ele for terceirizado, adiciona um almento para ele, o sistema tem ate LOGIN e SENHA.
é uma aplicação que está baseada em + ou - 35 classes, desde a tela principal, a uma classe so para a conexao com o BD, uma classe so com os métodos de alteração, exclusão, e demais, uma classe (encapsulada) com as variávei privates.
ai eu queria que voce me falasse (SE VC PUDER E CLARO), o que é padrão ou não, pq pretende tirar certificação J2EE um dia…
portanto irei postar so uma classe para voce analizar… esta é a classe que tem a tabela de funcionários…
package Informacoes.br.com.apresentacao;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRootPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
import Informacoes.br.com.dao.Conexao;
import Informacoes.br.com.dao.FuncionarioDAO;
import Informacoes.br.com.modelo.FuncionarioGET;
import com.mysql.jdbc.Statement;
@SuppressWarnings("serial")
public class TabelaFuncionarios extends JFrame implements ActionListener{
String []empresas = {};
String []nucleos = {};
JButton btnInicio = new JButton("inicio");
JButton btnPesquisarPorNome = new JButton("Pesquisar");
JButton btnAlterar = new JButton("Alterar");
JButton btnListarTodos = new JButton("Listar todos");
JButton btnSair = new JButton ("Sair");
JButton btnLimpar = new JButton("Limpar Tabela");
JButton btnAumento = new JButton ("Add Aumento");
JButton btnNucleos = new JButton ("Tabela Nucleos");
JButton btnExcluir = new JButton("Excluir");
JButton btnCadastrar = new JButton("Cadastrar novo");
JButton btnPesquisarPorEmpresa = new JButton("Pesquisar");
JButton btnPesquisarPorNucleo = new JButton("Pesquisar");
DefaultTableModel modelo = new DefaultTableModel();
JTable tabela1 = new JTable (modelo);
JScrollPane Scroll = new JScrollPane();
JTextField campoConsultaPorNome = new JTextField();
JComboBox campoComboConsultaPorEmpresa = null;
JComboBox campoComboPesquisaPorNucleos = null;
FuncionarioGET jk = new FuncionarioGET();
public TabelaFuncionarios(){
super ("Tabela de Funcionários");
setSize(1010,730);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setUndecorated(true);
setResizable(false);
setDefaultLookAndFeelDecorated(true);
getRootPane().setWindowDecorationStyle(JRootPane.ERROR_DIALOG);
JPanel principal = new JPanel();
principal.setLayout(new FlowLayout(1,1,1));
principal.setBackground(Color.black);
JPanel consulta = new JPanel();
consulta.setLayout(null);
JLabel labelConsultaPorNome = new JLabel("Consultar funcionario:");
labelConsultaPorNome.setBounds(10,10,130,30);
consulta.add(labelConsultaPorNome);
JLabel labelConsultaPorEmpresa = new JLabel("Consultar funcionario por empresa:");
labelConsultaPorEmpresa.setBounds(320,10,220,30);
consulta.add(labelConsultaPorEmpresa);
JLabel labelConsultaPorNucleo = new JLabel("Consultar funcionario por Nucleo:");
labelConsultaPorNucleo.setBounds(620,10,220,30);
consulta.add(labelConsultaPorNucleo);
empresas = metodoEmpresas();
campoComboConsultaPorEmpresa = new JComboBox(empresas);
campoComboConsultaPorEmpresa.setBounds(320,40,160,25);
consulta.add(campoComboConsultaPorEmpresa);
nucleos = consulta();
campoComboPesquisaPorNucleos = new JComboBox(nucleos);
campoComboPesquisaPorNucleos.setBounds(620,40,120,25);
consulta.add(campoComboPesquisaPorNucleos);
campoConsultaPorNome.setBounds(10,40,160,25);
consulta.add(campoConsultaPorNome);
btnPesquisarPorNome.setBounds(173,40,95,25);
consulta.add(btnPesquisarPorNome);
btnPesquisarPorNucleo.setBounds(745,40,95,25);
consulta.add(btnPesquisarPorNucleo);
btnListarTodos.setBounds(855,40,115,25);
consulta.add(btnListarTodos);
btnPesquisarPorEmpresa.setBounds(483,40,95,25);
consulta.add(btnPesquisarPorEmpresa);
modelo.addColumn("Id");
modelo.addColumn("Nome");
modelo.addColumn("Cpf");
modelo.addColumn("Rg");
modelo.addColumn("Email");
modelo.addColumn("Sexo");
modelo.addColumn("Empresa");
modelo.addColumn("Núcleo");
modelo.addColumn("Cargo");
modelo.addColumn("Est. Civil");
modelo.addColumn("Salário");
modelo.addColumn("Estado");
modelo.addColumn("Endereço");
modelo.addColumn("Idade");
tabela1.getColumnModel().getColumn(0).setPreferredWidth(0);
tabela1.getColumnModel().getColumn(13).setPreferredWidth(5);
tabela1.setFont(new Font("segoe ui",Font.PLAIN,(13)));
tabela1.setSelectionBackground(Color.YELLOW);
tabela1.setSelectionForeground(Color.black);
Scroll.setViewportView(tabela1);
principal.add(btnCadastrar);
principal.add(btnAlterar);
principal.add(btnExcluir);
principal.add(btnInicio);
principal.add(btnAumento);
principal.add(btnLimpar);
principal.add(btnNucleos);
btnSair.setForeground(Color.white);
btnSair.setBackground(Color.red);
principal.add(btnSair);
Scroll.setBounds(5,95,980,530);
principal.setBounds(90,638,750,30);
btnInicio.addActionListener(this);
btnSair.addActionListener(this);
btnAlterar.addActionListener(this);
btnExcluir.addActionListener(this);
btnListarTodos.addActionListener(this);
btnCadastrar.addActionListener(this);
btnLimpar.addActionListener(this);
btnInicio.addActionListener(this);
btnPesquisarPorNome.addActionListener(this);
btnPesquisarPorEmpresa.addActionListener(this);
btnAumento.addActionListener(this);
campoConsultaPorNome.addActionListener(this);
btnNucleos.addActionListener(this);
btnPesquisarPorNucleo.addActionListener(this);
add(Scroll);
add(principal);
add(consulta);
setVisible(true);
}
private String[] metodoEmpresas() {
String[] aux = null;
Conexao coc = new Conexao();
Statement st = null;
ArrayList <String> lista = new ArrayList<String>();
try {
st = (Statement) coc.conectar().createStatement();
} catch (SQLException e1) {
JOptionPane.showConfirmDialog(null, "não foi possivel fazer a conexao");
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
JOptionPane.showConfirmDialog(null, "classe nao encontrada");
e1.printStackTrace();
}
String sql = "select SiglaEmpresa from Empresas";
ResultSet rs = null;
try {
rs = (ResultSet) st.executeQuery(sql);
while (rs.next()){
lista.add(rs.getString("SiglaEmpresa"));
}
aux = new String[lista.size()];
for (int i=0; i<lista.size(); i++){
aux[i]=lista.get(i);
}
} catch (SQLException e) {
e.printStackTrace();
}
return aux;
}
public static void main(String[] args) throws SQLException, ClassNotFoundException {
TabelaFuncionarios ok = new TabelaFuncionarios();
ok.listarTodos();
}
private String[] consulta() {
String[] aux = null;
Conexao coc = new Conexao();
Statement st = null;
ArrayList ><String> lista = new ArrayList<String>();
try {
st = (Statement) coc.conectar().createStatement();
} catch (SQLException e1) {
JOptionPane.showConfirmDialog(null, "não foi possivel fazer a conexao");
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
JOptionPane.showConfirmDialog(null, "classe nao encontrada");
e1.printStackTrace();
}
String sql = "select SiglaNucleo from nucleos";
ResultSet rs = null;
try {
rs = (ResultSet) st.executeQuery(sql);
while (rs.next()){
lista.add(rs.getString("SiglaNucleo"));
}
aux = new String[lista.size()];
for (int i=0; i<lista.size(); i++){
aux[i]=lista.get(i);
}
} catch (SQLException e) {
e.printStackTrace();
}
return aux;
}
public void listarTodos(){
FuncionarioDAO operac = new FuncionarioDAO();
ArrayList><FuncionarioGET> lista = operac.consultarTodos();
Object []vec=null;
vec = new Object[14];
for (int i=0; i<lista.size(); i++){
vec[0] = ((lista.get(i).getId()));
vec[1] = ((lista.get(i).getNome()));
vec[2] = ((lista.get(i).getCpf()));
vec[3] = ((lista.get(i).getRg()));
vec[4] = ((lista.get(i).getEmail()));
vec[5] = ((lista.get(i).getSexo()));
vec[6] = ((lista.get(i).getEmpresa()));
vec[7] = ((lista.get(i).getSetor()));
vec[8] = ((lista.get(i).getCargo()));
vec[9] = ((lista.get(i).getEstadoCivil()));
vec[10] = ((lista.get(i).getSalario()));
vec[11] = ((lista.get(i).getLocalizacao()));
vec[12] = ((lista.get(i).getEndereco()));
vec[13] = ((lista.get(i).getIdade()));
modelo.addRow(vec);
}
}
public void listarPesquisa(){
FuncionarioDAO operac = new FuncionarioDAO();
ArrayList><FuncionarioGET> lista = operac.consultar1(jk);
Object []vec=null;
vec = new Object[14];
for (int i=0; i<lista.size(); i++){
vec[0] = String.valueOf((lista.get(i).getId()));
vec[1] = ((lista.get(i).getNome()));
vec[2] = ((lista.get(i).getCpf()));
vec[3] = ((lista.get(i).getRg()));
vec[4] = ((lista.get(i).getEmail()));
vec[5] = ((lista.get(i).getSexo()));
vec[6] = ((lista.get(i).getEmpresa()));
vec[7] = ((lista.get(i).getSetor()));
vec[8] = ((lista.get(i).getCargo()));
vec[9] = ((lista.get(i).getEstadoCivil()));
vec[10] = ((lista.get(i).getSalario()));
vec[11] = ((lista.get(i).getLocalizacao()));
vec[12] = ((lista.get(i).getEndereco()));
vec[13] = ((lista.get(i).getIdade()));
modelo.addRow(vec);
}
}
public void actionPerformed(ActionEvent e) {
Object c = e.getSource();
if (c == btnListarTodos){
modelo.setNumRows(0);
this.listarTodos();
}
if (c == btnNucleos){
setVisible(false);
TabelaDeNucleos ol = new TabelaDeNucleos();
ol.listarTodos();
}
if (c == (btnPesquisarPorNome)){
jk.setConsulta(campoConsultaPorNome.getText());
if (jk.getConsulta().equals("")){
JOptionPane.showMessageDialog(null,"Digite pelo menos a primeira letra do nome desejado/n ou clique em listar todos.");
}
else{
modelo.setNumRows(0);
this.listarPesquisa();
}
}
if (c == (btnCadastrar)){
setVisible(false);
new CadastroFuncionario();
}
if (c == (btnLimpar)){
modelo.setNumRows(0);
}
if (c == (btnSair)){
int j = JOptionPane.showConfirmDialog(null, "Sair da aplicação?");
if (j == 0){
System.exit(DISPOSE_ON_CLOSE);
}
}
if (c == btnInicio){
setVisible(false);
new TelaPrincipal();
}
if (c == btnAlterar){
try {
jk.setNome((String)tabela1.getValueAt(tabela1.getSelectedRow(),1));
jk.setCpf((String)tabela1.getValueAt(tabela1.getSelectedRow(),2));
jk.setRg((String)tabela1.getValueAt(tabela1.getSelectedRow(),3));
jk.setEmpresa((String)tabela1.getValueAt(tabela1.getSelectedRow(),6));
jk.setCargo((String)tabela1.getValueAt(tabela1.getSelectedRow(),8));
jk.setSetor((String)tabela1.getValueAt(tabela1.getSelectedRow(),7));
jk.setEstadoCivil((String)tabela1.getValueAt(tabela1.getSelectedRow(),9));
jk.setSalario((String)tabela1.getValueAt(tabela1.getSelectedRow(),10));
jk.setEmail((String)tabela1.getValueAt(tabela1.getSelectedRow(),4));
jk.setEndereco((String)tabela1.getValueAt(tabela1.getSelectedRow(),12));
jk.setIdade((String)tabela1.getValueAt(tabela1.getSelectedRow(),13));
jk.setLocalizacao((String)tabela1.getValueAt(tabela1.getSelectedRow(),11));
jk.setSexo((String)tabela1.getValueAt(tabela1.getSelectedRow(),5));
jk.setId((String)tabela1.getValueAt(tabela1.getSelectedRow(),0));
new Alterarfuncionarios(jk);
} catch (ArrayIndexOutOfBoundsException e1) {
JOptionPane.showMessageDialog(null, "Selecione um funcionario para ALTERAÇÃO");
TabelaFuncionarios ok = new TabelaFuncionarios();
ok.listarTodos();
}
}
if (c == btnExcluir){
try {
jk.setNome((String)tabela1.getValueAt(tabela1.getSelectedRow(),1));
FuncionarioDAO op = new FuncionarioDAO();
op.excluir(jk);
setVisible(false);
} catch (ArrayIndexOutOfBoundsException e1) {
JOptionPane.showMessageDialog(null, "Selecione um funcionario para EXCLUSÃO");
}
}
if (c == btnAumento){
try {
jk.setNome(String.valueOf((String)tabela1.getValueAt(tabela1.getSelectedRow(),1)));
jk.setId(((String) tabela1.getValueAt(tabela1.getSelectedRow(),0)));
jk.setSalario((String)(tabela1.getValueAt(tabela1.getSelectedRow(),10)));
new Aumento(jk);
setVisible(false);
} catch (ArrayIndexOutOfBoundsException e1) {
JOptionPane.showMessageDialog(null, "Selecione um funcionario para adicionar um AUMENTO");
}
}
if (c == btnPesquisarPorEmpresa){
jk.setConsulta2((String)campoComboConsultaPorEmpresa.getSelectedItem());
setVisible(false);
TabelaStatusFuncionario ok = new TabelaStatusFuncionario();
ok.pesquisarPorStatus(jk);
}
if (c == btnPesquisarPorNucleo){
jk.setConsulta2((String)campoComboPesquisaPorNucleos.getSelectedItem());
setVisible(false);
TabelaStatusFuncionario ok1 = new TabelaStatusFuncionario();
ok1.pesquisarPorNucleo(jk);
}
}
}

vlws…>