Scrollbalken in JList funktioniert nicht

Kaji Lim

Mitglied
Hallo,

ich will eine JList von Objekten anlegen, da es relativ viele werden können will ich einen Scrollbalken einbauen.

Ich weiß schonmal, dass man einem Scrollbalken die Jlist zuweisen muss und nicht umgekehrt, aber es will einfach nicht funktionieren. Ich habe auch das Problem, dass Buttons die ich in das Programm einbaue auf die komplette Länge gestreckt werden, selbst mit setSize(X,Y);

Hier ma mein code:

Java:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class Fenster extends JFrame {
	public Fenster() {
		setSize(1024, 768);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLocationRelativeTo(null);
		this.setBackground(Color.LIGHT_GRAY);

		{
			JMenuBar menuBar = new JMenuBar();
			setJMenuBar(menuBar);

			JMenu patientMenu = new JMenu("Patient");
			JMenu hilfeMenu = new JMenu("Hilfe");
			menuBar.add(patientMenu);
			menuBar.add(hilfeMenu);

			JMenuItem neuAction = new JMenuItem("Neuen Patienten anlegen");
			neuAction.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent e) {

					new Dateneingabe().setVisible(true);
				}
			});
			
			JMenuItem oeffnenAction = new JMenuItem("Patientendaten šffnen");
			oeffnenAction.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent e) {

					//Create a file chooser
					final JFileChooser fc = new JFileChooser();
					
					//In response to a button click:
					int returnVal = fc.showOpenDialog(null);
					
				}
			});
			
			JMenuItem speicherAction = new JMenuItem("Patientendaten speichern");
			speicherAction.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent e) {

					//BEFEHL ZUM SPEICHERN DER DATEN EINFÜGEN
				}
			});
			
			JMenuItem beendenAction = new JMenuItem("Programm beenden");
			beendenAction.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent e) {

					System.exit(0);
				}
			});
			

			patientMenu.add(neuAction);
			patientMenu.add(oeffnenAction);
			patientMenu.add(speicherAction);
			patientMenu.add(beendenAction);

		}
		
//PATIENTENLISTE		
		JList list = new JList(); //data has type Object[]
		list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
		list.setLayoutOrientation(JList.VERTICAL);
		list.setVisibleRowCount(-1);

		JScrollPane listScroller = new JScrollPane(list);
		listScroller.setPreferredSize(new Dimension(200, 80));
		
		DefaultListModel listModel = new DefaultListModel();
		listModel.addElement("Debbie Scott");
		listModel.addElement("Scott Hommel");
		listModel.addElement("Alan SommererskjdfkadjsfhšsdhjfošsDF");

		list = new JList(listModel);
		listScroller.add(list);
		add(list, BorderLayout.WEST);
		
		
	}
	

}
 

L-ectron-X

Gesperrter Benutzer
Stimmt, da ist noch mehr nicht in Ordnung.
Der Code müsste ab Zeile 68 so aussehen:
[JAVA=68] //PATIENTENLISTE
DefaultListModel listModel = new DefaultListModel();
listModel.addElement("Debbie Scott");
listModel.addElement("Scott Hommel");
listModel.addElement("Alan SommererskjdfkadjsfhšsdhjfošsDF");

JList list = new JList(listModel); //data has type Object[]
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

JScrollPane listScroller = new JScrollPane(list);
listScroller.setPreferredSize(new Dimension(200, 80));
add(listScroller, BorderLayout.WEST);[/code]
 

Kaji Lim

Mitglied
Funzt , super, danke!

Ehm dann hab ich noch das problem, dass ich ein Border Layout benutze und somit die Buttons auf die gesamte fensterlänge gezogen werden, was kann ich tun um die Button-Grösse zu verändern?

Kaji
 

dhachim

Bekanntes Mitglied
So gehts ... du hast einiges durcheinandergebracht....

Java:
		// PATIENTENLISTE
		DefaultListModel listModel = new DefaultListModel();
		listModel.addElement("Debbie Scott");
		listModel.addElement("Scott Hommel");
		listModel.addElement("Alan SommererskjdfkadjsfhšsdhjfošsDF");

		JList list = new JList(listModel); // data has type Object[]
		list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
		list.setLayoutOrientation(JList.VERTICAL);
		list.setVisibleRowCount(-1);
		list.setPreferredSize(new Dimension(300, 1000));

		JScrollPane listScroller = new JScrollPane();
		listScroller.setViewportView(list);

		// listScroller.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
		// listScroller.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
		add(listScroller, BorderLayout.WEST);
 

Kaji Lim

Mitglied
Hi,

thx das Board ist echt Gold wert :-D

Eine Frage hätte ich noch und dann ists gut für Heute,

Ich habe in meinem Programm ein paar Patienten, die jeweils als .pat gespeichert werden.
Soweit klappts ganz gut, jedoch will ich jetzt die Patienten in einer Jlist (besagter Jlist ) verknüpfen.
Der User soll die Patienten Anklicken, dadurch wird die .pat geladen und die Daten vom Patienten angezeigt.

Hab dafür diesen Listener eingebaut:

Java:
      //MOUSE LISTENER
      
      MouseListener mouseListener = new MouseAdapter() {
         //Checken ob Patient doppelt geklickt wurde.
    	  public void mouseClicked(MouseEvent mouseEvent) {
            JList list = (JList) mouseEvent.getSource();
            if (mouseEvent.getClickCount() == 2) {
              int index = list.locationToIndex(mouseEvent.getPoint());
              if (index >= 0) {
                Object patient = list.getModel().getElementAt(index);
                System.out.println("Doppelklick auf: " + patient);
              }
              }
          }
      };
      //Listener zu Liste hinzufuegen
      list.addMouseListener(mouseListener);
	}

Momentan sind in der Jlist nur Strings gespeichert die vom ActionListener dann ausgegeben werden.
(Wie) Kann ich in der JList ein Objekt speichern und nur dessen Namen anzeigen? Bzw ist das so überhaupt "sauber geproggt" ?



gruß
Kaji
 

L-ectron-X

Gesperrter Benutzer
Bin mir nicht sicher, ob ich dich richtig verstanden habe.

Du wirst wohl Objekte bauen müssen, die zur Datenhaltung bzw. -verwaltung dienen.
POJOs sind Datenobjekte, die Informationen zu Objekten sammeln und speichern.

Du wirst hier also eine kleine Vererbungshirarchie aufbauen müssen...
Bspw. Person -> Patient

...und die jeweils relevanten Daten in den Objekten verwalten und speichern müssen.
Hier sind deine Stichworte: get- und set-Methoden

Die Objekte kannst du erzeugen, verändern, auslesen und speichern und so auch selektiv die gewünschten Daten auf deiner Oberfläche anzeigen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Kenan89 JScrollPane, aber kein Scrollbalken Java Basics - Anfänger-Themen 4
A Scrollbalken designen Java Basics - Anfänger-Themen 2
S JScrollPane: Scrollbalken werden nicht angezeigt Java Basics - Anfänger-Themen 4
lomtas Scrollbalken für JTree Java Basics - Anfänger-Themen 3
D Farbe vom Scrollbalken ändern Java Basics - Anfänger-Themen 6
D Ich möchte im JFrame einen Scrollbalken. Java Basics - Anfänger-Themen 5
D Componenten autom. erzeugen und Scrollbalken Java Basics - Anfänger-Themen 2
Mady Daten von JList & Combobox in JTable adden Java Basics - Anfänger-Themen 2
U JList erstellen Java Basics - Anfänger-Themen 2
Soloeco JList/DefaultListModel: Wie kann ich ein Panel hinzufügen? Java Basics - Anfänger-Themen 1
J Objekt bei Auswahl in jList ändern Java Basics - Anfänger-Themen 6
D JList ListSelectionEvent entfernen? Java Basics - Anfänger-Themen 13
F JList Elemente mit Strings vergleichen Java Basics - Anfänger-Themen 12
S Export aus JList Java Basics - Anfänger-Themen 6
M Erste Schritte JList einträge Java Basics - Anfänger-Themen 1
M Erste Schritte Doppelte Ausgabe? (JList) Java Basics - Anfänger-Themen 1
M Erste Schritte Auswahl in einer JList Java Basics - Anfänger-Themen 2
P JList, aus selectedValue bestimmten Wert aus Containerklasse auslesen Java Basics - Anfänger-Themen 4
N JList + DefaultListModel + JScrollPane --> ensureIndexIsVisible funktioniert nicht immer Java Basics - Anfänger-Themen 1
C JList Einträge nach Datum sortieren Java Basics - Anfänger-Themen 3
J Element zu jList hinzufügen NullPointerExcepetion Java Basics - Anfänger-Themen 2
S jList --> Array einfügen und Liste löschen Java Basics - Anfänger-Themen 5
H Kein Zugriff auf das Element einer JList möglich: Fehlermeldung Java Basics - Anfänger-Themen 2
I in listFiles() oder JList Dateiendungen entfernen Java Basics - Anfänger-Themen 14
N Erste Schritte MySQL Tabelle in JList darstellen Java Basics - Anfänger-Themen 1
O JList aktualisieren während Dateieinlesung Java Basics - Anfänger-Themen 4
B JFileChooser und JList Java Basics - Anfänger-Themen 7
OnDemand Enumeration <> JList Java Basics - Anfänger-Themen 5
P Mehrfachauswahl in einer JList Java Basics - Anfänger-Themen 2
A JList Elemente in ein andres JList Adden Java Basics - Anfänger-Themen 5
C .txt und Jlist Java Basics - Anfänger-Themen 10
J Daten in eine JList einfügen Java Basics - Anfänger-Themen 6
A JList / toString modify Java Basics - Anfänger-Themen 2
K jlist an text anpassen Java Basics - Anfänger-Themen 3
D Erste Schritte JList + Checkbox Java Basics - Anfänger-Themen 5
I kein zugriff auf jList oder Textfield Java Basics - Anfänger-Themen 2
A JList bearbeiten Java Basics - Anfänger-Themen 2
M Index einer JList ausgeben Java Basics - Anfänger-Themen 4
M Inhalt/Wert aus einer JList ablesen Java Basics - Anfänger-Themen 5
J Markierte Einträge (Dateien) in JList sollen in einen anderen Ordner verschoben werden. Java Basics - Anfänger-Themen 12
J Markierte Items in einer JLIST in einen Ordner verschieben Java Basics - Anfänger-Themen 2
A Input/Output Hashmap in einem JPanel via JList anzeigen Java Basics - Anfänger-Themen 8
S ListModel - Anzeige im JList Java Basics - Anfänger-Themen 4
H JList Java Basics - Anfänger-Themen 2
G JList Objekte richtig anzeigen in JDK 6 Java Basics - Anfänger-Themen 5
U JList Java Basics - Anfänger-Themen 6
L HashMap zu JList Java Basics - Anfänger-Themen 6
C Input/Output Inhalte von ArrayList und JList in Datei schreiben Java Basics - Anfänger-Themen 5
M Jlist Elemente hinzufügen Java Basics - Anfänger-Themen 2
F Koordinaten JList darstellen Java Basics - Anfänger-Themen 4
M BeanBinding Jlist an Jlabel Java Basics - Anfänger-Themen 2
M GUI JList - Objekte listen u. Feld anzeigen? Java Basics - Anfänger-Themen 16
E JList GUI aktualisieren? Java Basics - Anfänger-Themen 3
JAVAnnik JList Auswahl Java Basics - Anfänger-Themen 2
Z In JList per Doppelklick eine Datei öffnen (z.B. ein PDF) Java Basics - Anfänger-Themen 16
P Jlist + Popupmenu Java Basics - Anfänger-Themen 10
M Properties Eintrag löschen, welcher in der JList "ausgewählt" wurde Java Basics - Anfänger-Themen 2
c_sidi90 File Array an Jlist übergeben Java Basics - Anfänger-Themen 11
J JList Inhalt nach JButton Klick aktualisieren Java Basics - Anfänger-Themen 8
B JList und JTable: leere Zeilen bei listfiles(); Java Basics - Anfänger-Themen 5
N DefaultListModel auf JList sortieren Java Basics - Anfänger-Themen 7
A JList mit Überschrift Java Basics - Anfänger-Themen 2
B JList wird nicht aktualisiert bzw hat keine Items Java Basics - Anfänger-Themen 2
D JList nicht sichtbar Java Basics - Anfänger-Themen 4
B JList mit Scrollbar? Java Basics - Anfänger-Themen 7
K Datenbindung an JTable, JList, Primärschlüssel verstecken Java Basics - Anfänger-Themen 4
M JList Event Java Basics - Anfänger-Themen 5
M JList Index selektieren ausschalten. Java Basics - Anfänger-Themen 7
M ArrayList<int[]> - Problem mit JList! Java Basics - Anfänger-Themen 27
M JList + ListModel Java Basics - Anfänger-Themen 26
L JList Aktualisieren funktioniert nur Zufällig Java Basics - Anfänger-Themen 3
T JList aktualisieren Java Basics - Anfänger-Themen 12
T alle Ordner in einem Ordner in JList anzeigen Java Basics - Anfänger-Themen 3
R .Jpg anzeigen lassen nach klick in JList Java Basics - Anfänger-Themen 11
F Hilfe! JList Inhalte vertauschen Java Basics - Anfänger-Themen 2
A Eintrag einer JLIST speichern Java Basics - Anfänger-Themen 3
A Anordnung von JList Elementen Java Basics - Anfänger-Themen 3
B JList wird nach Ändern weiß Java Basics - Anfänger-Themen 11
B Einträge im JList einfügen Java Basics - Anfänger-Themen 9
S JList mit icons UND strings für Dialogbox Java Basics - Anfänger-Themen 2
hdi Fehler beim Model-Update einer JList (DefaultListModel) Java Basics - Anfänger-Themen 3
DStrohma Index einer markierten Zeile aus einer JList bekommen? Java Basics - Anfänger-Themen 5
P JList in JPanel anzeigen Java Basics - Anfänger-Themen 2
hdi Synchronisation zwischen JList und ListModel Java Basics - Anfänger-Themen 6
D Suche in JList nach dem ersten Buchstaben Java Basics - Anfänger-Themen 2
hdi JList mit Model und Observer -> Chaos, blicke nicht durch Java Basics - Anfänger-Themen 22
1 JList Problem : Synchronisation mit Vector klappt nicht :( Java Basics - Anfänger-Themen 6
G Elemente aus jList entferne. Java Basics - Anfänger-Themen 2
G JList updaten Java Basics - Anfänger-Themen 7
K jList scrollPane Java Basics - Anfänger-Themen 2
7 Java Swing: Wie JScrollPane zur JList hinzufügen? Java Basics - Anfänger-Themen 12
K JList verschiebt sich Java Basics - Anfänger-Themen 7
G String in JList Java Basics - Anfänger-Themen 11
T Jlist Object hinzufügen Java Basics - Anfänger-Themen 2
B Auslesen der JList Java Basics - Anfänger-Themen 11
S jList Multiple Selection mit Klick Java Basics - Anfänger-Themen 2
M Dateien in einem Ordner, JList Java Basics - Anfänger-Themen 7
G JList größe verändert sich Java Basics - Anfänger-Themen 2
M JList Parameter verschieben Java Basics - Anfänger-Themen 3
C jList - Zeile Markieren - jList.setSelectedIndex(wert); Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben