Forum - Java
- aggiungere dati a una jlist
Java5 (Ex-Member)
Rookie
Messaggi: 23
Iscritto: 19/10/2009
Ragazzi quello che vi posto è un semplicissimo programma che comprende: Un campo di testo una JList e un bottone.
Al click sul bottone, il contenuto della casella di testo dovrebbe essere aggiunto alla Jlist ma purtroppo non succede niente.
Codice sorgente - presumibilmente Java
[ CODE]
import java.awt.BorderLayout ;
import javax.swing.DefaultListModel ;
import javax.swing.JPanel ;
import javax.swing.JFrame ;
import javax.swing.JButton ;
import java.awt.Rectangle ;
import javax.swing.JScrollPane ;
import javax.swing.JList ;
import java.awt.Dimension ;
import javax.swing.JTextField ;
private static final long serialVersionUID = 1L;
private JPanel jContentPane
= null ; private JList jList
= null ;
super ( ) ;
initialize( ) ;
}
private void initialize( ) {
this .setSize ( 300, 232) ;
this .setContentPane ( getJContentPane( ) ) ;
this .setTitle ( "JFrame" ) ;
}
private JPanel getJContentPane
( ) { if ( jContentPane == null ) {
jContentPane.setLayout ( null ) ;
jContentPane.add ( getJButton( ) , null ) ;
jContentPane.add ( getJScrollPane( ) , null ) ;
jContentPane.add ( getJTextField( ) , null ) ;
}
return jContentPane;
}
if ( jButton == null ) {
jButton.
setBounds ( new Rectangle ( 63, 148, 162, 37
) ) ; public void actionPerformed
( java.
awt .
event .
ActionEvent e
) { listModel.addElement ( jTextField.getText ( ) ) ;
jList
= new JList ( listModel
) ; }
} ) ;
}
return jButton;
}
if ( jScrollPane == null ) {
jScrollPane.
setBounds ( new Rectangle ( 62, 46, 165, 92
) ) ; jScrollPane.setViewportView ( getJList( ) ) ;
}
return jScrollPane;
}
private JList getJList
( ) { if ( jList == null ) {
jList.setVisibleRowCount ( - 1) ;
}
return jList;
}
if ( jTextField == null ) {
jTextField.
setBounds ( new Rectangle ( 62, 4, 164, 33
) ) ; }
return jTextField;
}
}
[ / CODE]
edit by netarrow: sistemato il titolo
Ultima modifica effettuata da netarrow il 23/11/2009 alle 12:55
netarrow (Admin )
Guru^2
Messaggi: 2502
Iscritto: 12/05/2004
così è sistemato:
Codice sorgente - presumibilmente Java
iimport java.awt.BorderLayout ;
import javax.swing.DefaultListModel ;
import javax.swing.JPanel ;
import javax.swing.JFrame ;
import javax.swing.JButton ;
import java.awt.Rectangle ;
import javax.swing.JScrollPane ;
import javax.swing.JList ;
import java.awt.Dimension ;
import javax.swing.JTextField ;
private static final long serialVersionUID = 1L;
private JPanel jContentPane
= null ; private JList jList
= null ;
super ( ) ;
initialize( ) ;
}
private void initialize( ) {
this .setSize ( 300, 232) ;
this .setContentPane ( getJContentPane( ) ) ;
this .setTitle ( "JFrame" ) ;
this .setVisible ( true ) ;
}
private JPanel getJContentPane
( ) { if ( jContentPane == null ) {
jContentPane.setLayout ( null ) ;
jContentPane.add ( getJButton( ) , null ) ;
jContentPane.add ( getJScrollPane( ) , null ) ;
jContentPane.add ( getJTextField( ) , null ) ;
}
return jContentPane;
}
if ( jButton == null ) {
jButton.
setBounds ( new Rectangle ( 63, 148, 162, 37
) ) ; public void actionPerformed
( java.
awt .
event .
ActionEvent e
) { listModel.addElement ( jTextField.getText ( ) ) ;
}
} ) ;
}
return jButton;
}
if ( jScrollPane == null ) {
jScrollPane.
setBounds ( new Rectangle ( 62, 46, 165, 92
) ) ; jScrollPane.setViewportView ( getJList( ) ) ;
}
return jScrollPane;
}
private JList getJList
( ) { if ( jList == null ) {
jList.setModel ( listModel) ;
jList.setVisibleRowCount ( - 1) ;
}
return jList;
}
if ( jTextField == null ) {
jTextField.
setBounds ( new Rectangle ( 62, 4, 164, 33
) ) ; }
return jTextField;
}
public static void main
( String args
[ ] ) { }
}
devi stare attento quando istanzi nuovi oggetti, non è che puoi fare new ogni volta che vuoi usare un'istanza, sennò la "resetti" ogni volta.
Ultima modifica effettuata da netarrow il 23/11/2009 alle 12:48
Java5 (Ex-Member)
Rookie
Messaggi: 23
Iscritto: 19/10/2009
Perfetto NetArrow
grazie mille funziona alla grande!!
avevo intuito che il problema poteva essere quello, ma non riuscivo ad uscirmene.
Grazie moltissimo davvero.
Ciao