Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Renault 5 elettrica al giudizio definitivo: solo stupore iniziale o premi meritati?
Renault 5 elettrica al giudizio definitivo: solo stupore iniziale o premi meritati?
Dopo più di un anno dal primo test drive ci siamo rimessi al volante della Renault 5 E-Tech Electric, questa volta utilizzandola come prima auto per circa due settimane. Scoprite con noi se il progetto convince ancora
HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix
HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix
Un proiettore economico, che fa della portabilità e immediatezza i suoi punti di forza. Adatto per una camera da letto o per la casa vacanze, è basato su sistema proprietario Linux ma offre piena compatibilità ufficiale a Netflix
ASUS ProArt GoPro Edition è il notebook compatto per chi crea
ASUS ProArt GoPro Edition è il notebook compatto per chi crea
Un notebook sviluppato in collaborazione con GoPro ma che risponde al meglio alle necessità di tutti coloro che creano contenuti video: robustezza, design, potenza di calcolo e funzionalità si abbinano al meglio tra di loro, pur se a prezzo di un costo elevato per via della tanta memoria onboard
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-08-2011, 17:29   #1
VegetaSSJ5
Senior Member
 
L'Avatar di VegetaSSJ5
 
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
[JAVA] Aggiungere righe ad una JTable e aggiornare la GUI

Salve a tutti,
ho una piccola applicazione desktop in java. C'è una JTable che ho disegnato in NetBeans con 3 colonne ma senza righe. Ora vorrei che allo startup dell'applicazione mi venissero aggiunte delle righe alla tabella, così ho scritto il metodo seguente che svolge questo compito.
Codice:
private void setCustomAppParams() {
    DefaultTableModel model = new DefaultTableModel();
    System.out.println(svcOptionsTbl.getRowCount());
    model = (DefaultTableModel)svcOptionsTbl.getModel();
    model.addRow(new Object[]{"v1", "v2", null});
    System.out.println(svcOptionsTbl.getRowCount());
    svcOptionsTbl.repaint();
}
Però la gui del programma non cambia, ovvero rimane ancora senza righe, nonostante il seconto println delle righe mi segnala giustamente una riga nella tabella.
Mi aiutate a risolvere questo problema?
VegetaSSJ5 è offline   Rispondi citando il messaggio o parte di esso
Old 25-08-2011, 12:10   #2
TellaspallaBob
Member
 
L'Avatar di TellaspallaBob
 
Iscritto dal: Nov 2002
Messaggi: 262
Quote:
Originariamente inviato da VegetaSSJ5 Guarda i messaggi
Codice:
private void setCustomAppParams() {
    DefaultTableModel model = new DefaultTableModel();
    System.out.println(svcOptionsTbl.getRowCount());
    model = (DefaultTableModel)svcOptionsTbl.getModel();
    model.addRow(new Object[]{"v1", "v2", null});
    System.out.println(svcOptionsTbl.getRowCount());
    svcOptionsTbl.repaint();
}
Qual'è il model originale della JTable?
Quando la crei, nel setModel gli imposti un DefaultTableModel (già riempito immagino, o quantomeno che dichiari la struttura, perché altrimenti lui non conosce la struttura della tabella).

Codice:
Object [][] rowdata = {};
Object [] columnNames = {"A", "B", "C"};
DefaultTableModel model = new DefaultTableModel(rowdata, columnNames);
Come vedi do al model un numero di informazioni minime
poi in un action event lo riempio senza problemi

Codice:
public void actionPerformed(ActionEvent e) 
{
	DefaultTableModel model = (DefaultTableModel)table.getModel();
	model.addRow(new Object[]{"V1."+model.getRowCount(), "V2."+model.getRowCount(), null});
}
Se commenti le prime due righe
Codice:
Object [][] rowdata = {};
Object [] columnNames = {"A", "B", "C"};
La tabella non si riempie più e se provi nel TUO codice a leggere i valori delle celle vedrai che non c'è nulla e che ti va in errore a dispetto di quello che ti dice il rowcount.
TellaspallaBob è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Renault 5 elettrica al giudizio definitivo: solo stupore iniziale o premi meritati? Renault 5 elettrica al giudizio definitivo: solo...
HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix HONOR CHOICE Projector Air Pro: piccolo, portati...
ASUS ProArt GoPro Edition è il notebook compatto per chi crea ASUS ProArt GoPro Edition è il notebook c...
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090 Fable e Sol a confronto: due cartoni animati cre...
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile Il tablet rugged leggero e sottile: Lenovo Think...
La vera rivoluzione di AMD Zen 6 potrebb...
Xiaomi 17T e 17T Pro scendono di prezzo ...
Un brano sull'apocalisse per pubblicizza...
Ryzen 7 9800X3D raffreddato senza ventol...
Pubblicità nei display BMW: lo spot a sc...
TSMC accelera sui 1,4 nanometri: produzi...
Razer compra StreamElements: cambia tutt...
Il Task Manager di Windows arriva su Mac...
Sony: PS5 resta più conveniente d...
Ubisoft spegne uno dei suoi esperimenti ...
Garante Privacy: multa da 9,5 milioni di...
Windows 11, Microsoft promette un sistem...
Windows 11, l'ultima build sperimentale ...
YouTube cancella i canali ASMR più...
Valgono miliardi, ma non pubblicano rice...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 09:21.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v