View Full Version : Realizzazione finestra con tabella
foxmolder5
13-06-2007, 13:06
Devo realizzare una finestra contenente una tabella ( inizialmente avente campi vuoti) in cui andrò ad inserire dei dati da sottomettere quindi al db.
Sto riscontrando problemi con la JTable e con la disposizione dei campi nella finestra.
La finestra dovrebbe avere questa struttura
http://img248.imageshack.us/img248/5421/schermataqi6.jpg (http://imageshack.us)
in cui la parte azzurra e rossa conterrà dei dati immessi al momento della creazione della finestra, ed invece la parte gialla e verde conterrà i dati da immettere.
mi potete dare qualche consiglio x favore?
anche perchè il numero di righe gialle non può essere fisso ma lo devo decidere al momento della realizzazione della finestra in base ad un parametro.
grazie a tutti
foxmolder5
13-06-2007, 17:24
Sono riuscito a fare una cosa del genere ma ora ho due problemi. Innanzitutto devo colorare alcune caselle della colonna ( e questo è quello che mi preoccupa di meno) ma soprattutto nella finestra non mi viene visualizzato il titolo delle colonne. vi posto il codice:
String[] nomiColonne = {"colonna1" , "colonna2" ,
"colonna3", "colonna4" , "colonna5" ,
"colonna6" , "colonna7" , "colonn8" };
pulsanteOk = new JButton("Crea");
pulsanteAnnulla = new JButton("Annulla");
finestraPrincipale = new JFrame("Inserimento Dati") ;
/***** Creazione ed impostazione del pannello principale ****/
/***** DEFINIZIONE PANNELLO SUPERIORE *****************/
JLabel label0 = new JLabel(" Inserimento Dati ");
JLabel label1 = new JLabel(" ");
JLabel label2 = new JLabel(" NOME1 : "+ this.nome);
JLabel label3 = new JLabel(" NOME2 : "+ this.nome2);
JLabel label4 = new JLabel(" NOME3 : "+ this.nome3);
JLabel label5 = new JLabel(" ");
label0.setFont(new java.awt.Font("Tahoma",1,15));
label2.setFont(new java.awt.Font("Tahoma",0,14));
label3.setFont(new java.awt.Font("Tahoma",0,14));
label4.setFont(new java.awt.Font("Tahoma",0,14));
JPanel pannelloSuperiore = new JPanel();
pannelloSuperiore.setLayout(new GridLayout (6,1));
pannelloSuperiore.add(label0);
pannelloSuperiore.add(label1);
pannelloSuperiore.add(label2);
pannelloSuperiore.add(label3);
pannelloSuperiore.add(label4);
pannelloSuperiore.add(label5);
finestraPrincipale.add("North",pannelloSuperiore);
/***** DEFINIZIONE PANNELLO CENTRALE ******************/
// impostazione struttura dati
this.importi = new String[this.durata_f + 1][this.nomiColonne.length] ;
this.setImportiPiano();
// impostazione tabella
this.tabella = new JTable(importi,nomiColonne) ;
this.tabella.setPreferredScrollableViewportSize(new Dimension(500, 70));
this.tabella.setFillsViewportHeight(true);
//this.tabella.s
this.scrollPane = new JScrollPane(tabella);
add(this.scrollPane);
this.finestraPrincipale.add("Center", this.tabella);
/***** DEFINIZIONE PANNELLO INFERIORE ******************/
JPanel pannelloInferiore = new JPanel();
pannelloInferiore.setLayout(new GridLayout(1,2));
pannelloInferiore.add(pulsanteOk);
pannelloInferiore.add(pulsanteAnnulla);
this.finestraPrincipale.add("South", pannelloInferiore);
/***** DEFINIZIONE LOOK FINESTRA ************************/
try
{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch (Exception e)
{
JOptionPane.showMessageDialog(null, "Impossibile impostare lo stile "+ e);
}
//Mostra la finestra
this.finestraPrincipale.pack();
this.finestraPrincipale.setVisible(true);
(importi è una matrice di stringhe inizializzate al valore " 0 " definita public all'interno della classe a cui appartiene questa parte di codice).
sapete aiutarmi? grazie
foxmolder5
14-06-2007, 12:04
up, qualcuno può aiutarmi x favore?
:muro: excel no eh ? :muro:
foxmolder5
14-06-2007, 22:01
:muro: excel no eh ? :muro:
va beh, cmq ho risolto:D
l'avrei fatto volentieri con exel....ma il prof non è della stessa idea:D
pansche' l'è un quaion :p
va beh, cmq ho risolto:D
l'avrei fatto volentieri con exel....ma il prof non è della stessa idea:D
e poi che c. hai risolto :rolleyes:
quando i dati li dovrai sommare, dividere , togliere spazi, segare a due a due, filtrare, validare, accorpare, formattare :eek:
a regà ma come c. ve lo devo dire che la classe di controllo automazione più potente che ci sia si chiama Excel.Worksheet :cool:
è il superset di tutti i controlli :sborone:
P.S.
confermo il 'quaion' :O
foxmolder5
14-06-2007, 22:15
e poi che c. hai risolto :rolleyes:
a regà ma come c. ve lo devo dire che la classe di controllo automazione più potente che ci sia si chiama Excel.Worksheet :cool:
non la conoscevo. ti ringrazio
diciamo che ho notato di aver aggiunto la tabella e non lo scrollPanel (e così si vedono anche i nomi delle colonne). per il colore so come fare. inoltre ho inserito un metodo che tramite l'apposito metodo già esistente in java mi estrae tutti i dati inseriti nella tabella, li memorizzo quindi in una matrice e a quel punto il gioco è fatto e posso fare tutto ciò che voglio.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.