Swing GlazedLists UND Problem mit der Position des Cursors

reefgirl81

Neues Mitglied
hi,

also ich bin ganz neu hier im Forum und hoffe, ihr könnt mir bei diesem Problem weiterhelfen. Es handelt sich um eine JComboBox mit AutoComplete-Funktion, was auch alles funktioniert. Mein einziges Problem ist die Position des Cursors.
Wenn ich in die ComboBox bspw. "U" eingebe findet er einige Ergebnisse und schlägt diese per PopUp-Menü vor. Normalerweise sollte sich der Cursor nun nach dem "U" befinden. Bei meinem Programm hingegebn befindet er sich in der Zeile unter dem ersten Vorschlag.
Ich habe auch schon alles versucht wie set- und moveCaretPosition --> dies führte zu StackOverFlowExceptions, ...
Durch Google habe ich leider auch nichts spezifisches herausgefunden. Die Hinweise führten alle zur "caretPosition", nur damit komme ich auch nicht weiter. Ich habe auch schon versucht die CaretPositions auszulesen.

Hier noch der Code:
Java:
			{
				comboBox = new JComboBox ();
				getContentPane().add(comboBox, new AnchorConstraint(95, 448, 139, 140, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
				comboBox.setPreferredSize(new java.awt.Dimension(416, 30));
				comboBox.setFont(new java.awt.Font("Segoe UI",0,14));
				comboBox.setEditable(true);
				comboBox.setFocusable(true);
				comboBox.setUI(new BasicComboBoxUI () {
					@Override
					protected JButton createArrowButton () {
						return new JButton () {
							@Override
							public int getWidth () {
								return 0;
							}
						};
					}
				});
				comboBox.setBorder(BorderFactory.createEtchedBorder(BevelBorder.LOWERED));
				
				/**innerhalb dieses Blocks werden die Fixpoten aus der Datei ausgelesen,
				 * sie werden einer Collection hinzugeordnet und die Auto-Complete-Funktion
				 * wird zur Gänze von der Library GlazedLists übernommen*/
				ComboBoxModel model;
				final Vector<String> fixposts = ReadWriteMethods.readFixTextFromFile();
				Collection<String> elements = fixposts;
		        support_ = AutoCompleteSupport.install(comboBox, GlazedLists.eventList(elements));
                        }

danke im voraus!!!
 
vielleicht könnte man die Vorschläge als nicht fokusierbar setzen bzw nicht editierbar , also
setFocusable(false) oder setEditable(false)

😳
 
hi,

also wenn i focusable auf false setzen würde, dann würde die ComboBox nie den Fokus erhalten und i könnt dann auch nix eingeben. Beim editable, könnt i dann nur jene Sachen auswählen, welche bereits in der ComboBox sind, dass wäre mir zu unflexibel. Trotzdem danke für deine Rückmeldung.
Ich werds weiterversuchen. Vielleicht gibt mir ja noch jemand einen Tipp.

glg
 

Neue Themen


Zurück
Oben