JScrollPane und JList funktioniert net richtig ?

Status
Nicht offen für weitere Antworten.

FinalbrainXP

Aktives Mitglied
Hi, habe ein vielleicht kleines Problem für euch, aber ein größeres für mich :(

Und zwar habe ich ein JScrollPane, dem ich eine JList zuordne
und dann die JList mit Werten fülle. Per Button soll dann ein bestimmtes Element der JList
einfach selectiert werden. Das ganze klappt gut, aber wenn ich den Inhalt der JList zu Laufzeit
mit neuen, anderen Werten befülle und dann wieder einen bestimmten Wert selectieren möchte,
dann wird dieser zwar selectiert, aber ist im unsichtbaren Bereich.

Kurz zusammengefasst:

1. Befülle zur Laufzeit eine JList, selectiere ein Element, Element wird ordentlich selectiert und ist sichtbar
2. Befülle zur Laufzeit die JList erneut, selectiere ein Element, Element wird ordentlich selectiert aber ist nicht im
Viewport des JScrollPanes

Was mache ich da falsch..bzw. muss ich hinzufügen ? Komischer Weise funktioniert es in Schritt 2, wenn ich erst was anderes Selektiere und danach dann das Selektiere was ich eigentlich möchte!



Code:
//JList mit JScrollPane
public class MenuList extends JScrollPane
{
	private JList menuList                 = null;
    	private DefaultListModel menuListModel = null; 
    
    	public MenuList(int posX, int posY, int width, int height)
	{
        	super();

		menuListModel = new DefaultListModel();
		menuList      = new JList(menuListModel);
		menuList.setBackground(Color.BLACK);
		menuList.setForeground(Color.GREEN.brighter().brighter());
		menuList.setDragEnabled(false);
		menuList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
		menuList.setAutoscrolls(true);
				
		this.setWheelScrollingEnabled(true);
		this.getViewport().setView(menuList);
		this.setBounds(posX,posY,width, height);
	}

//........
//........





// Zum Befüllen der JList
public void addItem(String item)
{
	if (!item.equals(""))
		menuListModel.addElement(item);
}
    
// Zum Cleanen der JList
public void removeAllItems()
{
	menuListModel.clear();
}
    
// Zum Selektieren der JList    
public void selectItem(String item)
{
	menuList.setSelectedValue(item, true);
}


Weiss da jemand Rat ? Vielen Dank im vorraus

Greetz FB
 

André Uhres

Top Contributor
Code:
       menuList.setSelectedValue(item, true);
        int index = menuList.getSelectedIndex();
        menuList.scrollRectToVisible(menuList.getCellBounds(index, index));
 

FinalbrainXP

Aktives Mitglied
wow..klappt wunderbar..vielen Dank für deine kurze und präzise Antwort :) Nun habe ich die Selection sichtbar, allerdings stört mich noch ein wenig, dass die Selection unten am Viewport angesiedelt ist und nicht oben. Hast du da noch ne Idee, wie man den Selectierten Eintrag ganz oben im Viewport sichtbar bekommt, anstatt unten im viewport ?

Gruss

FB :toll:
 

André Uhres

Top Contributor
FinalbrainXP hat gesagt.:
..Hast du da noch ne Idee, wie man den Selectierten Eintrag ganz oben im Viewport sichtbar bekommt..
Code:
       //aktiviere den auskommentierten Codeteil nur falls die selektierte Zeile 
        //nicht nach oben kommen soll, wenn sie schon im sichbaren Bereich ist:
        /*
          int i1 = menuList.getFirstVisibleIndex();
          int i2 = menuList.getLastVisibleIndex();
          menuList.setSelectedValue(item, false);
          int index = menuList.getSelectedIndex();
          if(index >= i1 && index < i2) return ;
        */
        int ind = menuListModel.getSize()-1;//erstmal zur letzten Zeile scrollen
        menuList.scrollRectToVisible(menuList.getCellBounds(ind, ind));
        menuList.setSelectedValue(item, false);
        ind = menuList.getSelectedIndex();//dann zur selektierten Zeile
        menuList.scrollRectToVisible(menuList.getCellBounds(ind, ind));
 

FinalbrainXP

Aktives Mitglied
Vielen Dank...da habe ich ja schon nen schlechtes Gewissen, das is schon wieder fast zugut vorgekaut *gg ;)



Gruss

FB :toll:


/edit: Passt wunderbar, danke für die Mühe :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Sichtbarer Bereich JScrollPane vs. JList AWT, Swing, JavaFX & SWT 3
R JList und JScrollPane AWT, Swing, JavaFX & SWT 8
H JList in JScrollPane -> ScrollBar ans Ende setzen AWT, Swing, JavaFX & SWT 5
S Swing JList in JScrollPane aktualisiert sich nicht AWT, Swing, JavaFX & SWT 6
C JList und JScrollPane AWT, Swing, JavaFX & SWT 2
M wieder einmal JScrollPane und JList AWT, Swing, JavaFX & SWT 4
W JList JScrollPane Problem AWT, Swing, JavaFX & SWT 3
E Problem mit JScrollPane und JList AWT, Swing, JavaFX & SWT 4
G JList und JScrollPane Problem AWT, Swing, JavaFX & SWT 2
G JScrollPane in JList unter GridBagLayout einfügen AWT, Swing, JavaFX & SWT 2
S Wie scrollt JScrollPane zu dem makierten Eintrag der JList? AWT, Swing, JavaFX & SWT 3
volcanos Scrollen: JScrollPane mit Graphics g und Java-Fonts extends Frame ? AWT, Swing, JavaFX & SWT 5
E JScrollPane mit JPanel verbinden AWT, Swing, JavaFX & SWT 1
B Swing JScrollPane scrollt nicht AWT, Swing, JavaFX & SWT 10
P JTextarea (in JScrollPane) zeigt nur die beiden letzten Einträge an? AWT, Swing, JavaFX & SWT 0
O Swing "Eigenes" JPanel wird dem JScrollPane nicht hinzugefügt AWT, Swing, JavaFX & SWT 5
E Komponenten von JScrollPane werden nicht richtig ermittelt AWT, Swing, JavaFX & SWT 2
E wie in JScrollPane auf JTextArea zugreifen AWT, Swing, JavaFX & SWT 12
N Swing JScrollPane mit Tastatur bedienen? AWT, Swing, JavaFX & SWT 0
F JScrollPane anzeige AWT, Swing, JavaFX & SWT 7
K Swing JScrollPane wird nicht angezeigt wenn man Components darstellt. AWT, Swing, JavaFX & SWT 2
M Swing JPanel in JScrollPane AWT, Swing, JavaFX & SWT 3
M Problem mit Add JScrollPane AWT, Swing, JavaFX & SWT 25
P Swing JEditorPane in Kombination mit JScrollPane AWT, Swing, JavaFX & SWT 29
S Swing jScrollPane - pro Eintrag der Liste, die jCheckBoxes Speichern die in dem Eintrag aktiviert wurden AWT, Swing, JavaFX & SWT 2
T Swing Probleme mit repaint() bzw. JScrollPane AWT, Swing, JavaFX & SWT 7
D JScrollPane in JTabbedPane AWT, Swing, JavaFX & SWT 3
MaxG. Swing JScrollPane AWT, Swing, JavaFX & SWT 10
Soloeco Swing JScrollPane AWT, Swing, JavaFX & SWT 6
A Swing Probleme mit dem adden von JButtons zur JScrollPane AWT, Swing, JavaFX & SWT 2
A JScrollPane soll JPanel mit JButtons enthalten und eine Scollbar anzeigen AWT, Swing, JavaFX & SWT 1
J JScrollPane funktioniert nicht AWT, Swing, JavaFX & SWT 5
B LayoutManager GridBagLayout und JScrollPane AWT, Swing, JavaFX & SWT 5
Thallius JScrollPane Scrollpos setzen nach Neuzeichnen AWT, Swing, JavaFX & SWT 3
P MalProgramm mit JScrollPane und Canvas AWT, Swing, JavaFX & SWT 2
D Swing JScrollPane Tabelle ändern (2 Tabellen) AWT, Swing, JavaFX & SWT 7
U JScrollPane -> JTabbedPane u.A. AWT, Swing, JavaFX & SWT 3
A Layout-Manager, JScrollPane, ... Chaos AWT, Swing, JavaFX & SWT 5
V JScrollPane im zur Laufzeit verändernden JFrame AWT, Swing, JavaFX & SWT 0
W Swing Größenänderung vom JPanel im JScrollPane und anschließendes positionieren AWT, Swing, JavaFX & SWT 2
X Swing JButton's zum JScrollPane hinzufügen geht nicht. Bitte um Hilfe. AWT, Swing, JavaFX & SWT 9
G JTextArea mit JScrollPane wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
K Swing JScrollPane - JScrollBar anzeigen, wenn Frame verkleinert wird AWT, Swing, JavaFX & SWT 3
N Swing Problem beim Scrollen mit JScrollPane AWT, Swing, JavaFX & SWT 6
Bluedaishi JScrollpane AWT, Swing, JavaFX & SWT 0
L JScrollPane scrollt nicht !! AWT, Swing, JavaFX & SWT 3
F JScrollPane Position setzen (x=0, y=0) AWT, Swing, JavaFX & SWT 2
R JScrollPane überdeckt JPanel? AWT, Swing, JavaFX & SWT 7
H JTree in JScrollPane passt sich nicht an Größe von JPanel an AWT, Swing, JavaFX & SWT 2
S JScrollPane und BorderLayout AWT, Swing, JavaFX & SWT 1
M Mehrere Jpanel in einem JScrollPane (Layout) AWT, Swing, JavaFX & SWT 2
W Swing JScrollPane für mein Fenster AWT, Swing, JavaFX & SWT 4
A Swing Probleme mit JScrollPane AWT, Swing, JavaFX & SWT 6
F JTable mit JScrollPane AWT, Swing, JavaFX & SWT 4
I JPanel in JScrollPane verkleinert sich leider nicht .... AWT, Swing, JavaFX & SWT 2
G JScrollPane bricht am Ende der Anzeige nicht um AWT, Swing, JavaFX & SWT 2
J Swing JTextPane mit JScrollPane auf JPanel scrollen nicht AWT, Swing, JavaFX & SWT 6
B Swing JPanel in JScrollPane einfügen AWT, Swing, JavaFX & SWT 2
S 2D-Grafik Transparentes JScrollPane AWT, Swing, JavaFX & SWT 0
S 3D-Grafik 3d Grafik auf einem JPanel oder im JScrollPane AWT, Swing, JavaFX & SWT 1
R Ändern Default-Verhalten von JScrollpane in einer JScrollpane AWT, Swing, JavaFX & SWT 1
S JScrollPane --> Programm hängt sich beim scrollen auf AWT, Swing, JavaFX & SWT 2
A JScrollPane - ScrollBar Buttongröße verändern AWT, Swing, JavaFX & SWT 1
J Bilder auf JPanel (im JScrollPane) nacheinander laden AWT, Swing, JavaFX & SWT 0
A Swing JScrollPane Problem AWT, Swing, JavaFX & SWT 6
H Swing JScrollPane mit "viel Inhalt" scrollt zu langsam (inkl. See-For-Yourself.jar :D) AWT, Swing, JavaFX & SWT 2
T Swing JScrollPane in JPanel - Breite dynamisch, Höhe fix - wie? AWT, Swing, JavaFX & SWT 2
D Swing JScrollPane in JScrollPane - Problem AWT, Swing, JavaFX & SWT 3
K Bug in JScrollPane? AWT, Swing, JavaFX & SWT 4
T Swing JScrollPane Farbe der Scrollbar AWT, Swing, JavaFX & SWT 3
M JScrollPane Header AWT, Swing, JavaFX & SWT 3
G JScrollPane über JScrollPane AWT, Swing, JavaFX & SWT 2
V LayoutManager JScrollPane verwirft Elementanordnung AWT, Swing, JavaFX & SWT 3
B JScrollPane Problem AWT, Swing, JavaFX & SWT 2
D Swing JScrollPane AWT, Swing, JavaFX & SWT 7
H cardlayout und jscrollpane AWT, Swing, JavaFX & SWT 14
F 2D-Grafik Skalieren der Scrollbars beim Zoomen einer JScrollPane AWT, Swing, JavaFX & SWT 4
B JScrollPane Horizontal klappt nicht. AWT, Swing, JavaFX & SWT 4
G JScrollPane reagiert nicht auf Änderung der JPanel-Größe AWT, Swing, JavaFX & SWT 4
C jPanel auf jScrollPane zentrieren AWT, Swing, JavaFX & SWT 3
M Swing JScrollPane (Parent JTextArea) aktualisieren + neue Zeile AWT, Swing, JavaFX & SWT 5
U Swing JPane und JScrollpane in JSplitpane-Seite: Scrollen funktioniert nicht AWT, Swing, JavaFX & SWT 3
A Swing Korrekte JTable.rowAt(point) für JTable in JScrollPane AWT, Swing, JavaFX & SWT 5
D Label über JScrollPane AWT, Swing, JavaFX & SWT 3
S JScrollPane reagiert nicht AWT, Swing, JavaFX & SWT 3
X JScrollPane zu JTable hinzufügen AWT, Swing, JavaFX & SWT 16
H JScrollPane - JEditorPane und HTML-Tabelle AWT, Swing, JavaFX & SWT 2
D LayoutManager JScrollPane mit dynamischem Inhalt AWT, Swing, JavaFX & SWT 8
P Swing JScrollpane AWT, Swing, JavaFX & SWT 2
B JScrollPane scrollt nicht immer automatisch AWT, Swing, JavaFX & SWT 2
V Swing JScrollPane Viewport verschieben AWT, Swing, JavaFX & SWT 2
J JScrollPane Probleme AWT, Swing, JavaFX & SWT 3
S Swing JScrollPane verliert Scrollbars AWT, Swing, JavaFX & SWT 5
D Swing JTable in JScrollpane beliebig verbreitern AWT, Swing, JavaFX & SWT 5
A Swing Anzeige Text in JScrollpane AWT, Swing, JavaFX & SWT 8
J Swing Unteren Abstand für JTable in JScrollPane festlegen AWT, Swing, JavaFX & SWT 10
xehpuk Swing Line-wrapping von JTextPane (in JScrollPane) AWT, Swing, JavaFX & SWT 3
M JScrollPane Problem AWT, Swing, JavaFX & SWT 6
S Swing JScrollpane und ViewPort AWT, Swing, JavaFX & SWT 4
D JScrollPane funktioniert nicht AWT, Swing, JavaFX & SWT 12

Ähnliche Java Themen


Oben