Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente bannato L'avatar di payens88
    Registrato dal
    Jun 2010
    Messaggi
    235

    Problema cancellazione righe JTable in runtime

    ciaro raga non riesco a svuotare una jtable nel momento in cui devo ricercare una cosa diversa rispetto a prima
    per esempio ricerco tutti i cd disponibili e poi ricerco solo quelli in prestito
    bene devo cliccare più volte su cerca per elimianre a due a due gli oggetti e arrivare alla risposta giusta.. vi posto il codice
    ho dovuto fare 4 clicli for, e con 4 funziona ma in teoria doveva funzionare anche con 1
    codice:
    public void actionPerformed(ActionEvent e) {
        	String comando=e.getActionCommand();
    		if(comando.equalsIgnoreCase("Ricerca")) {
    			System.out.println("Ricerca informazioni nel Database");
    			String categoria ="CD";
    			String text1 = ricercaTitolo.getText();
    			String text2 = ricercaAutore.getText();		
    			Ricerca search = new Ricerca(categoria);
    			search.setAutore(text2);
    			search.setTitolo(text1);
    			search.setTipologia("RicercaUtente");
    			
    			
    
    			if(radioAction2.isSelected()){
    				System.out.println("Disponibile");
    				search.setPossesso(true);
    				
    			}
    			if(radioAction3.isSelected()){
    				System.out.println("In Prestito");
    				search.setPossesso(false);
    			}
    			arr = Client.RicercaCD(search);
    			for(int i=0; i<mod.getRowCount();i++){
    				mod.removeRow(i);
    			}
    			for(int i=0; i<mod.getRowCount();i++){
    				mod.removeRow(i);
    			}
    			for(int i=0; i<mod.getRowCount();i++){
    				mod.removeRow(i);
    			}
    			for(int i=0; i<mod.getRowCount();i++){
    				mod.removeRow(i);
    			}
    			it(arr);
    		}
    che devo fare al posto di mettere qeusti 4 cilci for???

  2. #2
    Utente bannato L'avatar di payens88
    Registrato dal
    Jun 2010
    Messaggi
    235
    mi manca solo questo ed ho finito...
    chi mi aiuta

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    prova a mettere un validate dopo il primo for
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  4. #4
    Utente bannato L'avatar di payens88
    Registrato dal
    Jun 2010
    Messaggi
    235
    scusami ma cos'è sto validate

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    serve a forzare il ri-disegno di un Container e di tutto quanto in esso contenuto.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  6. #6
    Utente bannato L'avatar di payens88
    Registrato dal
    Jun 2010
    Messaggi
    235
    non funziona

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Devi utilizzare un TableModel, direi possa andar bene quello di default.

    codice:
    DefaultTableModel model = new DefaultTableModel();
    JTable table = new JTable(model);
    
    // Aggiungi le colonne
    model.addColumn("Nome");
    model.addColumn("Nome..");
    
    //....
    
    // ora, puoi aggiungere anche le righe durante al runtime
    Vector<String> row = new Vector<String>();
    row.addElement("");
    row.addElement("");
    // Aggiunta della riga
    model.addRow(row);
    
    // Per la rimozione è uguale..
    model.removeRow(index);
    DefaultTableModel permette anche altri costruttori, guarda la documentazione.

    Ah, stavo dimenticando.. puoi chiamare getSelectedRow() e getSelectedColumn() per sapere l'indice del click.

  8. #8
    Utente bannato L'avatar di payens88
    Registrato dal
    Jun 2010
    Messaggi
    235
    il fatto è che io non utilizzo i vector per incapsulare ma un array di object io pensavo esistesse un caiser di metodo semplice non vorrei cambiare il codice perchè devo consegnare il progetto ora...
    dite che se lascio i 4 cicli for spiegando che non avevo tempo per cambiare, va bene lo stesso?

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Guarda i costruttori, come ti ho detto ce ne sono altri, stessa cosa per i metodi!

    http://java.sun.com/j2se/1.4.2/docs/...ableModel.html

    ..Prova a chiamare questo

    http://java.sun.com/j2se/1.5.0/docs/...aChanged%28%29

    fireTableDataChanged

    public void fireTableDataChanged()

    Notifies all listeners that all cell values in the table's rows may have changed. The number of rows may also have changed and the JTable should redraw the table from scratch. The structure of the table (as in the order of the columns) is assumed to be the same.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.