Swing - Diversos Problemas

5 respostas
M

Boa tarde gente.
Estou com alguns problemas aqui e gostaria de ajuda.

1-
Possuo uma busca ( um jFrame ), e gostaria que essa busca retorno um valor quando eu clicasse no botão de buscar, valor esse que seria recebido por um metodo do jFrame que usei para chamar o jFrame de busca.

Algo do tipo:

busca(new secundario().setVisible(true)) principal ( que seria um jframe ) tem um metodo chamado busca
secundario ( jFrame onde está concentrada a busca e irá retornar o valor ).
( não funciona o código acima, mas queria saber se existe algo do genêro )

2-
Possuo n categorias, estou criando um check box para cada categoria, o problema é que dessa maneira não sei como ver se ele está marcado ou não ( pelo isSelected())

try{ ResultSet rs = Banco.consulta("select nome from categorias"); while(rs.next()){ panelTipos.add(new javax.swing.JCheckBox(rs.getString("nome"))); System.out.println("CheckBox Criado"); } }catch (Exception e){ System.out.println("Exception para carregar checkboxes"); } 3- Tenho jFrames que uso para editar dados no banco, quando crio eles envio 1 parâmetro, adiciono o parâmetro ao construtor do jframe e o netbeans da erro, só para de dar erro quando crio um construtor privado vazio ( sem parâmetros, conteudo, sem nada mesmo ), qual seria o motivo disso?

Obrigado.

5 Respostas

S

Olá amigo

Ajuda para pergunta No. 1.

Seria algo assim:

Chamada da consulta:

private void jButtonPesquisaClienteActionPerformed(java.awt.event.ActionEvent evt) {
  Consultacliente.setNome(tfNomeCliente.getText());
  Consultacliente consultaCliente = new Consultacliente(null);
  consultaCliente.setModal(true);
  consultaCliente.setVisible(true);

  id_cliente  = consultaCliente.getCodigo();
  try {
       if (!id_cliente.equals(null)) {
          selecionaCliente();
       }
       else {
         tfIdCliente.requestFocus();
      }
  } catch (Exception ex) {
      Logger.getLogger(FrameOrdemServicoOld.class.getName()).log(Level.SEVERE, null, ex);
  }
}

retorno da consulta:

jTable.addMouseListener(new MouseAdapter(){  
                @Override
           public void mouseClicked(MouseEvent e){  
              if (e.getClickCount() == 2){  
                 // Listaclientes.id  = jTable.getModel().getValueAt(jTable.getSelectedRow(),0);
                    Codigo = jTable.getModel().getValueAt(jTable.getSelectedRow(),0);
                    dispose();
              }  
           }
           });

Espero que isso ajude.

Silvio Guedes

M

Obrigado pela ajuda, resolvi o problema dos parametros substituindo meu jFrame por um jDialog, quanto ao problema numero 3 já consegui resolver.

Agora quanto ao numero 2 ainda estou com problemas, consigo criar os checkboxes (?), mas como ele vão criar em tempo de execução se eu tentar algo do tipo jcheckbox1…

try{ ResultSet rs = Banco.consulta("select nome from categorias"); rs.last(); cbqtde = rs.getRow(); rs.beforeFirst(); while(rs.next()){ panelCB.add(new javax.swing.JCheckBox(rs.getString("nome"))); } }catch(Exception e){ System.out.println("ERro para carregar checkbox"); }[ ^ cbqtde é uma variavel “global”

E estive pensando em pegar eles assim.

for(int i=1; i>=cbqtde;i++){
        
        }

Já tentei de algumas formas mas não á jeito e maneira. Caso alguém saiba o que possa ser feito, eu agradeço.

berg.pb

eu usaria 2 abordagens:

  1. ter predefinidos os checkboxes, e somente marca-los ou desmarcalos na hora da consulta;
  2. em vez de utilizar chkbox, utilizar um table.

Se for o uso dos chks, vc poderia coloca-los, agrupado num frame.
Daí, navegaria dentro do frame e mexeria neles.

desculpa se eu não entendi muito bem.
Abraços

M

Já havia tentado algo no sentido ( check boxes pré definidos ), contudo como não sei quanto terei que criar a coisa poderia “desandar” ( estou selecionando as categorias no banco e criando 1 para cada categoria, logo se tiver 5 criarei 5 e se tiver 100 vou ter de criar 100 ).

Crie um panel para adicioná-los, trago todos como selecionados, e a minha intenção seria pegar o rotulo dos selecionados e atirar para dentro de uma string ( que seria usada numa consulta sql ), o problema é que não sei como eu faria para “achar” os check boxes dentro do panel.

Obrigado.

berg.pb

Blz…
Mas vc não está levando em consideração uma coisa: o design.
Se vc tiver 3 chks, ok… e se tiver 100, como vai criar 100 chks e não deixar o desing do frame “confuso”??

Reveja se não seria melhor vc utilizar uma tabela…
Dentro da tabela, cada opção encontrada no banco de dados seria uma linha…
Daí, se o usuário deletasse alguma coisa, para atualizar o banco, vc varreria a tabela e setava de novo no banco.

Pelo menos, usando a abordagemd a tabela, vc não perde tanto de design…

Abraços

Criado 30 de novembro de 2009
Ultima resposta 3 de dez. de 2009
Respostas 5
Participantes 3