Jump to content

Archived

This topic is now archived and is closed to further replies.

Pedroalves

[Resolvido] Mostrar dados com jliste

Recommended Posts

como ponho a mostrar todos o dados usando o jlist

segue-se o codigo

   public void VERSTOCKS_SIM() {
this.stocks.setVisible(true);
this.stocks.setAlwaysOnTop(true);
this.stocks.setSize(419, 296);
this.verstock.setVisible(false);
try {
       Statement stmt = conn.createStatement();

       String query = "SELECT *FROM produtos where Quantidade ='20'";
       ResultSet rset = stmt.executeQuery(query);
       System.out.println("CODIGO"+rset);
       if(rset.next()){
       this.VERSTOCKS.setName("CODIGO"+rset.getString(1)/*+"NOME"+rset.getString(2)*/);
       }
       }
catch (Exception e){
System.out.println("Erro Ao executar a query: "+ e.getMessage());
}
   }

como adeciono uma nova linha numa tabela quando for necessario

Share this post


Link to post
Share on other sites

Você pode definir um modelo para o seu JList.

DefaultListModel modelo = new DefaultListModel();
while (rs.next) {
  String nomeProduto = rs.getString(1);
  modelo.addElement(nomeProduto);
}
minhaLista.setModel(modelo);

Share this post


Link to post
Share on other sites

é possivel por um jtextefield ou jpassword dentro de um Jlist

se sim como

não estou a conseguir por a funcionar

não me da erro mas tb não me aparece no jlist

 public void MENUELIMINADESCONTOS() {
 @Action
   public void MENUELIMINADESCONTOS() {
this.ELIMINADESCONTOS.setVisible(true);
DefaultListModel modelo = new DefaultListModel();
try {
       Statement stmt = conn.createStatement();

       String query = "SELECT *FROM produtos where Quantidade ='20'";
       ResultSet rset = stmt.executeQuery(query);
while(rset.next()){
  String CODIGO = rset.getString(1);
  String NOME= rset.getString(2);
 modelo.addElement(" CODIGO "+CODIGO+" NOME "+NOME);
System.out.println(modelo);
}
DESCONTOS.setModel(modelo);

}
catch (Exception e){
System.out.println("Erro Ao executar a query: "+ e.getMessage());
}

   }

Share this post


Link to post
Share on other sites

Até onde eu sei, não dá pra colocar JTextField num JList. E nem haveria motivos pra isso. No entanto, é possível colocar numa célula de tabela componentes diferenciados como JComboBox por exemplo.

 

O método que preenche a lista está realmente sendo chamado? A consulta ao banco está retornando algum registro? Você está setando o modelo na lista certa? Executa o projeto em modo debug, use loggers ou até mesmo println para ver o número de elementos no modelo.

Share this post


Link to post
Share on other sites

ok como ponho um jbotom no tabela

para eliminar um dado que tenho no jlist tenho que fazer o mesmo so que em vez de select tenho fazer um delete

ja descobri o problema foi o meu projecto do netbeans que ficou marado

e como actualizo o jframe

Share this post


Link to post
Share on other sites

da-me este erro

Erro Ao executar a query: Can't update table 'produtos' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.

segue-se o codigo

    public void INSERIRCOMPRA() {
      String NOME="",CODIGO="",Descricao="",Quantidade="",Iva="",Txdesc="",Preco_sem_iva="";
      long Quantidades;

      Quantidades=Long.parseLong(this.Quantidades1.getText());

       try {
Statement stmt = conn.createStatement();
String query = "SELECT * FROM produtos";
ResultSet rset = stmt.executeQuery(query);
DefaultListModel modelo = new DefaultListModel();
while(rset.next()){
CODIGO=rset.getString(1);
NOME= rset.getString(2);
Descricao=rset.getString(3);
Quantidade=rset.getString(4);
Iva=rset.getString(5);
Txdesc=rset.getString(6);
Preco_sem_iva=rset.getString(7);
modelo.addElement("CODIGO:"+CODIGO+" NOME:"+NOME+" DESCRICAO:"+Descricao);

Listaproduto.getSelectedValue();
}
 String query1 = "INSERT INTO compraproduto (id_compra,id_produto,Quantidade,Iva,txdesc,preco_sem_iva) VALUES ((SELECT id_compra FROM compras ORDER BY id_compra Desc LIMIT 1),(SELECT idprod FROM produtos where idprod='"+Listaproduto.getSelectedValue()+"'),'"+Quantidades+"','"+Iva+"','"+Txdesc+"','"+Preco_sem_iva+"')";
 int rest= stmt.executeUpdate(query1);
Listaproduto.setModel(modelo);        

       }
catch (Exception e){
System.out.println("Erro Ao executar a query: "+ e.getMessage());
} 
  }

trigger

BEGIN
/* declare X int;
declare Y int;
/*select Iva,Quantidade From produtos where produtos.idprod=new.id_produto into X,Y;
set new.Valor_iva=(new.Preco_sem_iva*new.Iva)/100;
set new.valor_com_iva=new.Valor_iva+new.Preco_sem_iva;
set new.Preco_Total=new.Valor_com_iva*new.Quantidade;
set new.valordesc=(new.Preco_sem_Iva*new.txdesc)/100;
set new.valor_com_iva=new.valor_com_iva- new.valordesc;
update produtos set Quantidade=Quantidade - new.Quantidade  where produtos.idprod=new.id_produto;   
 */
END

Share this post


Link to post
Share on other sites

Esse erro que você está tendo já é problema com o banco de dados. Apresente esta mesma dúvida no forum mais apropriado.

 

Inclusive, se voce fizer uma busca pela mensagem de erro no Google, encontrarás um tópico seu aqui no Forum de MySQL do iMasters...

 

http://forum.imasters.com.br/topic/412688-trigger/

Share this post


Link to post
Share on other sites
minhaLista.setModel(new DefaultListModel());

Share this post


Link to post
Share on other sites
// Descobrir a linha selecionada
int indiceLinha = tabela.getSelectedRow();

// Primeira coluna
int indiceColuna = 0;

// Recuperar dado de uma célula da tabela.
Object valorCelula = tabela.getModel().getValueAt(indiceLinha, indiceColuna);

Share this post


Link to post
Share on other sites

obrigada pela ajuda

por agora é tudo

muito obrigada

ajudou me imenso

adecionar numa jtable um jboton

Share this post


Link to post
Share on other sites

Acho que a sua dúvida é outra. Não é colocar componentes em células de JTable, e sim alinhar os objetos como se estivessem numa tabela. Para isso existe um gerenciador de layout chamado GridLayout e um mais avançado e complexo chamado GridBagLayout. Dá uma pesquisada em GridLayout que isso resolverá seu problema. Aqui tem um mini turorial de GridLayout http://download.oracle.com/javase/tutorial/uiswing/layout/grid.html bem como outros tutoriais no menu à esquerda. Se tiver problemas com Inglês, traduza a página em http://translate.google.com .

Share this post


Link to post
Share on other sites

Do mesmo jeito que se atualiza um JList: definindo o seu modelo.

// Tabela sem dados
tabela.setModel(new DefaultTableModel());

Tenha em mente que os componentes do Swing têm uma camada de controle e outra de dados (modelo). Assim, sempre que quiser alterar os dados de um componente, altere o seu modelo.

Share this post


Link to post
Share on other sites

não estou a conseguir segue-se o codigo

       int indiceLinha = LISTACOMPRAS.getSelectedRow();
      //DefaultTableModel modelo = new DefaultTableModel();
       int indiceColuna = 0;

try{

   Statement stmt = conn.createStatement();
   Object valorCelula = LISTACOMPRAS.getModel().getValueAt(indiceLinha, indiceColuna);    
      String query1 = "DELETE FROM vendas_produtos where id_produto=(SELECT id_venda From  vendas where id_venda='"+valorCelula+"');";

      int rest= stmt.executeUpdate(query1);
     LISTACOMPRAS.getModel().setValueAt(valorCelula, indiceLinha, indiceColuna);

}
  catch (Exception e){
System.out.println("Erro Ao executar a query: "+ e.getMessage());
}  
   }

como a executar o teclado virtual do windows em java

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.