Frage zu JList

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Kann mir jemand weiterhelfen wie ich in einer JList 2 Spalten darstelle?

Code:
public class jdbcTest {

	static String url = "jdbc:odbc:schule2000";
	private static DefaultListModel model;
	private static JPanel panel;
	private static JPanel panel2;
	private static JPanel mainpanel;
	private static JList list;
	private static JLabel name;
	private static JLabel vorname;


	public static void main (String args[])
	{
		JFrame frame = new JFrame("JList Übung");
		JPanel panel = new JPanel();
		model = new DefaultListModel();
		panel = new JPanel();	
		panel.setLayout(new GridLayout(4,1));
		panel2 = new JPanel();
		panel2.setLayout(new GridLayout(4,1));
	
		try
		{
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			Connection con = DriverManager.getConnection(url);
			Statement stmt = con.createStatement();
			ResultSet rs = stmt.executeQuery("SELECT S_Name, S_Vorname, K_ID FROM schueler, klassen WHERE S_SCHNR = K_S_Klaspr");
		
		while(rs.next())
		{
			String schuelerName = rs.getString("S_Name");
			String schuelerVorname = rs.getString("S_Vorname");
			String klassenBez = rs.getString("K_ID");
			System.out.println(schuelerName + "\t" + "\t"+ schuelerVorname + "\t" + "\t" + klassenBez);
			
			
			name = new JLabel(schuelerName);
			vorname = new JLabel(schuelerVorname);
			panel.add(name);
			panel.add(vorname);
			panel2.add(panel);	
			model.addElement(panel2);
		}
		}
		
		catch(ClassNotFoundException cnfex)
		{
			System.out.println("Failed to load JDBC/ODBC driver." );
		}
		catch ( SQLException sqlex )
		{
			System.out.println("Unable to connect" );
		}	

		list = new JList(model);
		list.setCellRenderer(new MeinCellRenderer());
		frame.setContentPane(list);
		frame.pack();
		frame.show();
	}
}
//Cell Renderer Klasse
public class MeinCellRenderer extends JLabel implements ListCellRenderer
{
	public MeinCellRenderer()
	{
        setOpaque(true);
	}

	/* (non-Javadoc)
	 * @see javax.swing.ListCellRenderer#getListCellRendererComponent(javax.swing.JList, java.lang.Object, int, boolean, boolean)
	 */
	public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
	{
		return new JLabel(value.toString());
	}
}

wenn ich nur den namen in einer jlist darstellen will funktionierts problemlos, wenn ich aber vorname und nachname in je ein label schreibe und beide anschließend in eine pane stecke funktionierts nicht.

weiß jemant was ich ändern muss dass es funkt?
 
B

Beni

Gast
Du gibst auch ganz sicher das Panel zurück (zumindest in deinem anderen Code?)

Ansonsten kann ich dir auch eine JTable empfehlen, in der FAQ hats mehr dazu.
 
G

Guest

Gast
hier hab ich ne fehler gefunden:
Code:
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
   {
      return new JLabel(value.toString());
   }
}

da gehört JLabel auf JPanel ausgebessert, jedoch bekomm ich dann immer eine Fehlermeldung dass ich was Casten muss, nur ich weiß nicht genau wie. weißt du wie ich das dann casten muss, dass es läuft?

JTable wär mir auch lieber, aber wir sollen dieses Übungsprogramm mit einer JList machen... Leider...
 
B

Beni

Gast
Das Problem bei deinem Code ist, dass du irgendwelche Sachen wild mischelst...
Die JList besteht eigentlich aus 3 Dingen:
Das Model in welchem irgendwelche Daten gespeichert sind.
Der ListCellRenderer welche einzelne Daten darstellen kann.
Die JList, welche alles koordiniert.

Du benoetigst nur ein Panel, und zwei Labels. Fuelle die Liste mit Objekten des Types Person (das ist nur ein Vorschlag, ich wuerde das so schreiben), und lass deinen ListCellRenderer die Objekte in Personen casten, von denen du Vor und Nachname abfragen kannst.

P.S. und verwende nicht static, static hat nicht das geringste mit OOP zu tun, und verhindert jede Erweiterung deines Programmes.

Code:
// Ein Person besteht aus Vor und aus Nachnamen
public class Person{
  private String name, vorname;

  [...]
  pulic String getName(){
    return name;
  }
}

Code:
public class PersonRenderer implements ListCellRenderer{
  private JLabel labelName, labelVorname;
  private JPanel panel;

  public PersonRenderer(){
    panel = new JPanel( new GridLayout( 1, 2 ));
    labelName = new JLabel();
    labelVorname = new JLabel();

    panel.add( vorname );
    panel.add( name ):
  }

  public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus){
    Person p = (Person)value; // Objekt aus der Liste in eine Person casten

    name.setText( p.getName() );  // Nachname auf das erste Label setzen
    vorname.setText( p.getVorname() );  // Vorname auf das zweite Panel setzen

    return panel;  // Das Panel mit Vor und Nachname zurueckgeben
  } 
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Swing implementierungs-technische Frage zu JList/AbstractListModel AWT, Swing, JavaFX & SWT 7
R Frage zu JList AWT, Swing, JavaFX & SWT 5
U JList mit Hintergrundbild hinterlegen und noch ne Frage AWT, Swing, JavaFX & SWT 4
G Swing Frage zu jDialog AWT, Swing, JavaFX & SWT 7
E Frage zum Schieberegler JSlider AWT, Swing, JavaFX & SWT 5
thor_norsk Java - Allgemeine - Frage AWT, Swing, JavaFX & SWT 14
thor_norsk Allgemeine Frage AWT, Swing, JavaFX & SWT 10
MJannek Frage zu Java Bundesligaverwaltung AWT, Swing, JavaFX & SWT 7
thor_norsk Allgemeine Frage AWT, Swing, JavaFX & SWT 9
E Frage zum Textfeld AWT, Swing, JavaFX & SWT 8
H Swing JMenu aufgeklappt oder nicht - Wie frage ich das ab? AWT, Swing, JavaFX & SWT 5
pkm Frage wegen java.lang.IllegalStateException bei DocumentListener AWT, Swing, JavaFX & SWT 4
D Frage zu ActionListenern und AvtionEvents AWT, Swing, JavaFX & SWT 2
ralfb1105 JavaFX Daten zwischen Controllern austauschen- neue Frage AWT, Swing, JavaFX & SWT 7
F JavaFX Frage zum Logging AWT, Swing, JavaFX & SWT 6
E Prinzip: wie man Ereignisse in einer GUI verarbeit. Frage zum Design? AWT, Swing, JavaFX & SWT 10
ralfb1105 Swing Frage zu SwingWorker Verhalten bei cancel() AWT, Swing, JavaFX & SWT 2
J Frage zu setuserdata AWT, Swing, JavaFX & SWT 1
N Frage zu ListView AWT, Swing, JavaFX & SWT 11
L 2D-Grafik Frage zu Ellipse2D.Double, Abfrage, ob Punkt enthalten ist funktioniert nicht AWT, Swing, JavaFX & SWT 3
T Frage zu GUI - Button soll Objekt erfassen AWT, Swing, JavaFX & SWT 2
J Event Handling Frage zu der Funktion addActionListener AWT, Swing, JavaFX & SWT 2
J Frage zur objektorentierten Swing Programmierung AWT, Swing, JavaFX & SWT 10
T JavaFX Frage zum FX-Loader AWT, Swing, JavaFX & SWT 3
B drawRect Frage und Aufgabenstellung AWT, Swing, JavaFX & SWT 10
fLooojava GridLayout - Frage bezüglich Kachelgröße AWT, Swing, JavaFX & SWT 5
S Frage zu java.awt.EventQueue AWT, Swing, JavaFX & SWT 1
J Frage zu Java Projekt [2D Game] AWT, Swing, JavaFX & SWT 3
M Swing Grundlegende Frage zu SWING mit WindowBuilder AWT, Swing, JavaFX & SWT 11
M Frage zum Loggen von Fehlern AWT, Swing, JavaFX & SWT 3
T Swing API Frage zu Verzeichnisbäumen und JTree AWT, Swing, JavaFX & SWT 1
M Thread-Frage in SWT AWT, Swing, JavaFX & SWT 1
Q Cursor Frage AWT, Swing, JavaFX & SWT 8
W JavaFX TableView frage AWT, Swing, JavaFX & SWT 5
H Taschenrechnerprojekt in Javafx - Frage zu den Buttons in FXML AWT, Swing, JavaFX & SWT 1
I Grundsätzliche Frage zu ItemListener AWT, Swing, JavaFX & SWT 11
X Kurze Frage zu JPopup AWT, Swing, JavaFX & SWT 3
D Swing [Frage] ComboBox + Label AWT, Swing, JavaFX & SWT 3
D Frage zu JFrame und Graphics AWT, Swing, JavaFX & SWT 4
J Swing Frage zur Vorgehensweise (JTable?, JLabels?) AWT, Swing, JavaFX & SWT 8
S Frage zu Jtable / CellEditor AWT, Swing, JavaFX & SWT 1
kaoZ Frage zum einfügen von Componenten AWT, Swing, JavaFX & SWT 14
N Swing JTable anfänger frage AWT, Swing, JavaFX & SWT 2
S GridBagLayout-Frage AWT, Swing, JavaFX & SWT 1
V 2D-Grafik Frage zum Graphics Objekt AWT, Swing, JavaFX & SWT 2
F Swing JComboBox - Frage zur Größe AWT, Swing, JavaFX & SWT 11
G noch eine Frage zum EventDispachThread AWT, Swing, JavaFX & SWT 4
D MVC Frage AWT, Swing, JavaFX & SWT 6
Z Flackern trotz Offscreen Image / Doublebuffer, (+ Frage zu Pixelvergleich) AWT, Swing, JavaFX & SWT 25
GianaSisters 2D-Grafik BufferedImage.getSubimage - Frage AWT, Swing, JavaFX & SWT 7
M Frage zu KeyListener bzgl. JApplet AWT, Swing, JavaFX & SWT 3
M Frage zu Threads AWT, Swing, JavaFX & SWT 3
N Swing JComboBox Frage AWT, Swing, JavaFX & SWT 5
Luk10 g.drawString funktioniert nicht + Frage zur Text-Rendering Qualität AWT, Swing, JavaFX & SWT 7
Luk10 Frage zu Farb-Komposition AWT, Swing, JavaFX & SWT 9
K Gui Layout Frage AWT, Swing, JavaFX & SWT 5
V SWT Import Wizard - frage zur WizardPage AWT, Swing, JavaFX & SWT 5
N Swing Frage JXMapviewer AWT, Swing, JavaFX & SWT 4
GUI-Programmer Wieder ne Layout Frage AWT, Swing, JavaFX & SWT 11
GUI-Programmer LayoutManager Kurze Layout Frage - eine komponente mittig? AWT, Swing, JavaFX & SWT 5
lumo SWT Zeichnen bescheunigen bzw eine allg. Frage AWT, Swing, JavaFX & SWT 8
H Frage zu übergebenem Vector bzw. Boolean AWT, Swing, JavaFX & SWT 3
C 2D-Grafik BufferedImage laden, Frage zum Code AWT, Swing, JavaFX & SWT 2
VfL_Freak Swing Frage zu "new JPasswordField( 10 )" AWT, Swing, JavaFX & SWT 6
H Frage zu WindowBuilder Pro AWT, Swing, JavaFX & SWT 3
C Frage/Problem mit Jpanel AWT, Swing, JavaFX & SWT 4
S Frage zu TextArea AWT, Swing, JavaFX & SWT 2
GUI-Programmer Zeichnen in Swing - Frage AWT, Swing, JavaFX & SWT 6
Luk10 Frage zu Mouseevents AWT, Swing, JavaFX & SWT 7
J Refreshing Swing Frage AWT, Swing, JavaFX & SWT 10
F Frage zu Event KeyTyped bei jPanel AWT, Swing, JavaFX & SWT 4
A Frage zu StringBuilder AWT, Swing, JavaFX & SWT 2
S allg. Frage zur GUI-Architektur AWT, Swing, JavaFX & SWT 5
A Frage zu JDialog AWT, Swing, JavaFX & SWT 3
A Frage zur Methode matches() AWT, Swing, JavaFX & SWT 2
P LayoutManager Verständnis-Frage GridBagLayout AWT, Swing, JavaFX & SWT 7
H Allgemeine Frage zu Grafikfähigkeiten von Java AWT, Swing, JavaFX & SWT 24
D Repaint Frage, Design Frage AWT, Swing, JavaFX & SWT 2
Jats Frage zu JLabel & JTextField AWT, Swing, JavaFX & SWT 4
Y frage zu BufferedImage AWT, Swing, JavaFX & SWT 7
hdi Swing Frage zu invokeAndWait() Exceptions AWT, Swing, JavaFX & SWT 8
P Swing Frage zu paintComponent/getGraphics AWT, Swing, JavaFX & SWT 4
M Frage nach Swing Element AWT, Swing, JavaFX & SWT 3
S Frage zu Graphics2D AWT, Swing, JavaFX & SWT 3
T AWT Frage zu AWT AWT, Swing, JavaFX & SWT 5
B Frage zu Swing,Threads, SwingWorker und Socket Communikation AWT, Swing, JavaFX & SWT 4
F unspezifizierte Frage zu JTable/ Model AWT, Swing, JavaFX & SWT 6
B SWT Frage zu MVC und Data-Binding AWT, Swing, JavaFX & SWT 8
T LookAndFeel Look and Feel Frage AWT, Swing, JavaFX & SWT 2
J Java2D Kreis/Kurven Frage AWT, Swing, JavaFX & SWT 2
P Kurze Frage zur Gestaltung eines vertikalen Menüs AWT, Swing, JavaFX & SWT 2
Dit_ Frage zum Thema SwingUtilities.invokeLater AWT, Swing, JavaFX & SWT 5
Eldorado Frage zur Anwendung des MVC-Konzept AWT, Swing, JavaFX & SWT 33
G Frage zu processMouseEvent AWT, Swing, JavaFX & SWT 6
M Zoomen in ein JPanel... und eine andere kleine Frage AWT, Swing, JavaFX & SWT 3
C Event Frage AWT, Swing, JavaFX & SWT 7
A Frage zu GridLayout AWT, Swing, JavaFX & SWT 4
F Frage zu WindowListeners AWT, Swing, JavaFX & SWT 2
E einfache Frage:warum ist Hintergrund grau ? AWT, Swing, JavaFX & SWT 24
E einfache Frage zu paintComponent und Graphics AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen

Neue Themen


Oben