SWT Curser an den Anfang eines Text Objektes setzen

cable545

Aktives Mitglied
Hallo,
ich habe in einer UI zwei untereinander angeordnete Objekte vom Typ Text aus der SWT Bibliothek. Das ober Textfeld ist nicht editierbar, das untere schon. Nun möchte ich, dass bei Programmstart sofort das Untere mit dem Curser versehen ist, ich also gleich losschreiben kann, ohne vorher in das Textfeld klicken zu müssen. Bisher ist es so, dass sich immer im oberen Textfeld, bei Programmstart, der Cursor befindet.
Hat jemand ne Idee?
 

Sonecc

Gesperrter Benutzer
Dafür gibt es die Methode setfocus, die musst du an dem Control aufrufen, dass den focus haben soll, also bei dir dein zweites textfeld

[edit]Warum zur Hölle kommen dauernd alle mit AWT und Swing an, wenns um SWT geht :autsch:[/edit]
 
G

Gast2

Gast
Hallo,
ich habe in einer UI zwei untereinander angeordnete Objekte vom Typ Text aus der SWT Bibliothek. Das ober Textfeld ist nicht editierbar, das untere schon. Nun möchte ich, dass bei Programmstart sofort das Untere mit dem Curser versehen ist, ich also gleich losschreiben kann, ohne vorher in das Textfeld klicken zu müssen. Bisher ist es so, dass sich immer im oberen Textfeld, bei Programmstart, der Cursor befindet.
Hat jemand ne Idee?

Ja es gibt ne Methode setFocus einfach text2.setFocus() aufrufen...

Moin,

das Stichwort, dass Du suchst heißt "Caret" (Caret-Listener usw.)

Java Platform SE 6 (in der linken unteren Liste nach "Caret" suchen)

Gruß
Klaus

1. Frägt er nach SWT, warum dann Swing?
2. Will er nur den Focus sofort auf das Textfeld setzen


EDIT: zu langsam :p
 

cable545

Aktives Mitglied
Guten Morgen,
ich danke Euch für die schnellen Antworten, jedoch scheint die Sache mit setFocous() nicht richtig zu funktionieren. Sie gibt mir auch immer false zurück. Ich erkläre mal wie genau das bei mir aussieht.
Ich habe in meiner Anwendung einen CTabFolder. Dieser hat beim Start des Programms schon ein CTabItem. Diesem CTabItem ist ein Composite zugeordnet in welchem sich ein Text befindet, in dem untereinander ein paar Namen stehen.
Wenn ich auf einen der Namen(String) einen Doppelklick ausführe, erstelle ich ein neues CTabItem. Diesem CTabItem ist wieder ein Composite zugeordnet, in welchem sich die besagten Textfelder befinden.
Wenn ich dann auf diesem Tab klicke(in der Tableiste) sehe ich immer, dass sich der Curser im oberen nicht editierbaren Text befindet.???:L Trotz der setFocus() Methode des zweiten Textes.
Hat jemand ne Idee wo mein Fehler versteckt ist?
 
G

Gast2

Gast
Guten Morgen,
ich danke Euch für die schnellen Antworten, jedoch scheint die Sache mit setFocous() nicht richtig zu funktionieren. Sie gibt mir auch immer false zurück. Ich erkläre mal wie genau das bei mir aussieht.
Ich habe in meiner Anwendung einen CTabFolder. Dieser hat beim Start des Programms schon ein CTabItem. Diesem CTabItem ist ein Composite zugeordnet in welchem sich ein Text befindet, in dem untereinander ein paar Namen stehen.
Wenn ich auf einen der Namen(String) einen Doppelklick ausführe, erstelle ich ein neues CTabItem. Diesem CTabItem ist wieder ein Composite zugeordnet, in welchem sich die besagten Textfelder befinden.
Wenn ich dann auf diesem Tab klicke(in der Tableiste) sehe ich immer, dass sich der Curser im oberen nicht editierbaren Text befindet.???:L Trotz der setFocus() Methode des zweiten Textes.
Hat jemand ne Idee wo mein Fehler versteckt ist?

Ja mach ein KSKB...
Wahrscheinlich brauchst ein FocusListener auf dein TabItem und in dem musst du deinem 2ten Textfeld dein Focus geben
 

cable545

Aktives Mitglied
Dem CTabItem läßt sich leider kein FocusListener hinzufügen. Ich hab jetzt jedoch dem composite welches jedem CTabItem, in meinem Programm, zugeordnet wird ein PaintListener hinzugefügt. Also immer wenn jetzt ein Tab geöffnet oder angezeigt wird, wird ja mein composite darauf "gezeichnet".
Und dann führe ich in der paintControl() Methode die Methode setFocus() auf meinen Text aus.
Jetzt funzt es:applaus::applaus:
Ich danke Euch!!!
 
G

Gast2

Gast
Dem CTabItem läßt sich leider kein FocusListener hinzufügen. Ich hab jetzt jedoch dem composite welches jedem CTabItem, in meinem Programm, zugeordnet wird ein PaintListener hinzugefügt. Also immer wenn jetzt ein Tab geöffnet oder angezeigt wird, wird ja mein composite darauf "gezeichnet".
Und dann führe ich in der paintControl() Methode die Methode setFocus() auf meinen Text aus.
Jetzt funzt es:applaus::applaus:
Ich danke Euch!!!

Ich würde keinen PaintListener nehmen, sobald du dein Fenster minimierst,maximierst usw. springt der Focus immer dort hin.
Dann setz eben auf dem Composite oder so den FocusListener.
 

cable545

Aktives Mitglied
Wenn ich mich mit einem FocusListener beim Composite anmelde, registriert der Listener leider kein Event, sobald ich das ITabItem öffne oder wiederherstelle oder wie auch immer.
 

cable545

Aktives Mitglied
Hallo,
so ich hab mal eben ein Beispiel gebaut was mein Problem gut darstellt. Also wie gesagt, ein FocusListener auf das jeweilige Composite funzt bei mir nicht.
Die einzige Lösung die ich im Moment für mein Problem sehe ist ein PaintListener auf das jeweilige Composite welches die Text Objekte enthält.

Java:
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseListener;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;

public class Test {
   
   public static CTabFolder folder;
	
	public static void main(String[] args) {
	   final Display display = new Display();
	   final Shell   shell   = new Shell(display);
           shell.setSize( 400, 650 );
           shell.setLayout(new FillLayout());
      
           folder = new CTabFolder(shell, SWT.TOP);
           folder.setLayout(new FillLayout());
           folder.setTabHeight(22);
           folder.setSimple(false);
      
           CTabItem tab = new CTabItem(folder, SWT.NONE);
           tab.setText("Kontakte");
           Composite page1 = new Composite(folder, SWT.NONE);
           page1.setLayout( new FillLayout() );
           tab.setControl(page1);
      
           final Text userListText = new Text(page1, SWT.BORDER | SWT.WRAP | SWT.V_SCROLL | SWT.READ_ONLY);
           userListText.setText( "Hans\nJonas\nEmil\n" );
      
           userListText.addMouseListener( new MouseListener() {
             @Override
             public void mouseDoubleClick(MouseEvent arg0) {
            
                String rName = userListText.getSelectionText();
                createTabPage(rName);
             }

             @Override
             public void mouseDown(MouseEvent arg0) {
               // TODO Auto-generated method stub
             }

             @Override
             public void mouseUp(MouseEvent arg0) {
                // TODO Auto-generated method stub
             }
          });
 
         shell.open();
         while( !shell.isDisposed() ) 
            if ( !display.readAndDispatch() )
               display.sleep();
         display.dispose();
      }
	
      protected static void createTabPage(String label) {
       
         CTabItem tab = new CTabItem(folder, SWT.CLOSE);
         tab.setText(label);
      
         FillLayout fillLayout = new FillLayout();
         fillLayout.type = SWT.VERTICAL;
      
         Composite page    = new Composite(folder, SWT.NONE);
         page.setLayout( fillLayout );
         final Text text1        = new Text( page, SWT.BORDER | SWT.WRAP | SWT.V_SCROLL | SWT.READ_ONLY );
         final Text text2 = new Text( page, SWT.BORDER | SWT.WRAP | SWT.V_SCROLL );
      
         tab.setControl(page);
      }
}
 
G

Gast2

Gast
Warum nicht einfach:
Java:
    protected static void createTabPage(String label) {
         CTabItem tab = new CTabItem(folder, SWT.CLOSE);
         tab.setText(label);
      
         FillLayout fillLayout = new FillLayout();
         fillLayout.type = SWT.VERTICAL;
      
         Composite page    = new Composite(folder, SWT.NONE);    
         page.setLayout( fillLayout );
         final Text text1        = new Text( page, SWT.BORDER | SWT.WRAP | SWT.V_SCROLL | SWT.READ_ONLY );
         final Text text2 = new Text( page, SWT.BORDER | SWT.WRAP | SWT.V_SCROLL );
         text1.addFocusListener(new FocusAdapter() {
        	 
        	 @Override
        	public void focusGained(FocusEvent e) {
        		 text2.setFocus();
        	}
		});
         tab.setControl(page);
      }
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C SWT Curser an den Anfang eines Textes setzen AWT, Swing, JavaFX & SWT 2
K Curser in TextFeld setzen AWT, Swing, JavaFX & SWT 2
S Swing Scrollpanes: wie kann ich durch Java-Code an den "Anfang" scrollen AWT, Swing, JavaFX & SWT 8
A Grösse des Frames stimmt nicht von Anfang an AWT, Swing, JavaFX & SWT 6
C Swing Labeltext am Anfang statt am Ende kürzen AWT, Swing, JavaFX & SWT 6
H SWT - KeyListener unterbricht immer am Anfang AWT, Swing, JavaFX & SWT 2
M JTable zum Anfang oder Ende springen AWT, Swing, JavaFX & SWT 9
Tom299 JScrollPane(JTextArea) Scrollbar soll am Anfang stehen AWT, Swing, JavaFX & SWT 2
P JPanel am Anfang unsichtbar AWT, Swing, JavaFX & SWT 4
O haben panels von anfang an einen dummen rand? AWT, Swing, JavaFX & SWT 19
M JScrollPane - Anfang eines hinzugefügten Textes anzeigen AWT, Swing, JavaFX & SWT 2
B An den Anfang in einer JScrollPane springen AWT, Swing, JavaFX & SWT 7
jojoge wie kann ich in eine Benennung eines JButtons eine Variable einbauen? AWT, Swing, JavaFX & SWT 6
L paintComponent in Panel eines Borderlayouts hinzufügen AWT, Swing, JavaFX & SWT 3
I Einbindung eines jpg/png/icons in eine GUI AWT, Swing, JavaFX & SWT 1
Splayfer Umrandung eines AttributedStrings AWT, Swing, JavaFX & SWT 2
Guybrush Threepwood Einfachste Möglichkeit zum Abspielen eines Videos in Swing AWT, Swing, JavaFX & SWT 4
Jose05 NullPointerException bei Beschreiben eines Labels aus einem Array AWT, Swing, JavaFX & SWT 12
Jose05 zugreifen auf ein Objekt eines GridPanes AWT, Swing, JavaFX & SWT 0
melaniemueller Verschiebung eines Fensters über Button AWT, Swing, JavaFX & SWT 27
news2swen automatisches erstellen eines Languagefiles AWT, Swing, JavaFX & SWT 1
B Stylen eines JTextPane funktioniert nicht AWT, Swing, JavaFX & SWT 1
MiMa Schliessen eines FXML Fensters? AWT, Swing, JavaFX & SWT 10
B JavaFX Farbe eines Quadrates in einer separaten Klasse ändern AWT, Swing, JavaFX & SWT 4
L AWT Ändern der Farbe eines BufferedImage mit Farbähnlichkeit AWT, Swing, JavaFX & SWT 5
B veränderte Größe eines Panels im Vorhinein wissen? AWT, Swing, JavaFX & SWT 1
L Komponenten eines Panels werden erst nach Klick darauf angezeigt AWT, Swing, JavaFX & SWT 13
L JavaFX Validierung eines Spinner AWT, Swing, JavaFX & SWT 1
M Builden eines lauffähigen JAR Files AWT, Swing, JavaFX & SWT 3
K Swing Text eines Lables in einer Methode ändern AWT, Swing, JavaFX & SWT 13
M JavaFX rotieren eines Kreises mit konstanter Geschwindigkeit AWT, Swing, JavaFX & SWT 1
K JavaFX Allgemeine Fragen zu dem Aufbau eines Programms hinsichtlich der Klassen AWT, Swing, JavaFX & SWT 1
M JavaFX Auf ein UI Elemement eines anderen Controllers zugreifen AWT, Swing, JavaFX & SWT 0
P Bewegung eines Balkens in eineum JPanel welches als Spielfeld fungiert AWT, Swing, JavaFX & SWT 2
Tronert JavaFX Linienstärke eines Separators ändern? AWT, Swing, JavaFX & SWT 3
N JavaFX Group: Gezieltes entfernen eines Objects (Rectangle) AWT, Swing, JavaFX & SWT 0
J Ziehen eines Buttons im JPanel AWT, Swing, JavaFX & SWT 2
J Drag and Drop eines Buttons AWT, Swing, JavaFX & SWT 0
M NullPointerException bei Übergabe eines RadioButtons AWT, Swing, JavaFX & SWT 11
DaCrazyJavaExpert Swing Extern den Text eines nicht fetsgelegten Buttons bekommen. AWT, Swing, JavaFX & SWT 12
J JavaFX Rectangle innerhalb eines Rectangle oder Panes positionieren? AWT, Swing, JavaFX & SWT 1
C JavaFX Inhalt eines SplitPane's durch Menü-Auswahl ändern? AWT, Swing, JavaFX & SWT 13
J linken Bildausschnitt eines BufferedImage abschneiden AWT, Swing, JavaFX & SWT 4
J bestimmten Bereich eines JPanels drucken AWT, Swing, JavaFX & SWT 2
D LookAndFeel Überschreiben eines UIDelegate AWT, Swing, JavaFX & SWT 0
T Java FX Probleme beim befüllen eines Tableviews AWT, Swing, JavaFX & SWT 5
C Zeichen eines 6 -Eckes AWT, Swing, JavaFX & SWT 1
U JavaFX Wechsel der Scene nach betätigen eines Button AWT, Swing, JavaFX & SWT 2
F Screenshot eines JPanel AWT, Swing, JavaFX & SWT 3
S JavaFX TreeItem: Icon am Ende eines Eintrags anhängen AWT, Swing, JavaFX & SWT 2
D TAB Taste innerhalb eines JSpinner AWT, Swing, JavaFX & SWT 2
R Update eines Labels bei Methodenaufruf einer anderen Klasse AWT, Swing, JavaFX & SWT 9
F Swing Spaltenbreite einer Column eines JTable auslesen AWT, Swing, JavaFX & SWT 5
D Swing Komponenten Anordnung eines Panels in Verbindung eines weiteren Panels AWT, Swing, JavaFX & SWT 9
F Swing Rotation eines Bildes mit beliebigen Koordinaten um den Mittelpunkt AWT, Swing, JavaFX & SWT 3
Cromewell JavaFX Nur bestimmten Teil eines Canvas rendern und anzeigen AWT, Swing, JavaFX & SWT 2
Z Swing Variable eines Objekt aus Hashmap in JList anzeigen AWT, Swing, JavaFX & SWT 1
D Frame beim starten eines anderen Frames schließen AWT, Swing, JavaFX & SWT 2
R Hilfe beim ändern des Hintergrundes eines JFrames AWT, Swing, JavaFX & SWT 9
T Durch klicken eines Buttons Klasse wechseln AWT, Swing, JavaFX & SWT 2
E Swing Copy und Paste eines einzelnen Knoten aus einem JTree AWT, Swing, JavaFX & SWT 1
J Swing Vertikales Zeichnen eines Strings mit Java2D AWT, Swing, JavaFX & SWT 1
7 JavaFX Problem beim Zeichnen eines Dreiecks in einem GUI AWT, Swing, JavaFX & SWT 6
V JavaFX Teile eines Images Transparent machen AWT, Swing, JavaFX & SWT 4
I JavaFX Langes drücken eines Buttons AWT, Swing, JavaFX & SWT 4
B Swing Wie Witdh und Height eines GuiElements bekommen AWT, Swing, JavaFX & SWT 5
L Swing Teile eines JPanel in eigene Klasse auslagern AWT, Swing, JavaFX & SWT 3
M Swing JPanel innerhalb eines Frames verschieben AWT, Swing, JavaFX & SWT 3
J JavaFX Zugriff auf FXML-Variablen eines anderen Controllers AWT, Swing, JavaFX & SWT 2
K Swing Inhalt eines JPanels lesen AWT, Swing, JavaFX & SWT 3
T Nur bestimmte Bereiche eines Fotos bearbeiten AWT, Swing, JavaFX & SWT 0
J Swing Erstellung eines User Interface AWT, Swing, JavaFX & SWT 2
S JavaFX Teil eines Bildes ausschneiden / als neues Bild nutzen AWT, Swing, JavaFX & SWT 8
R Swing Bewegung eines Graphics Objektes innerhalb eines JPanels funktioniert nicht richtig AWT, Swing, JavaFX & SWT 2
O Swing Aufbau eines JFrames AWT, Swing, JavaFX & SWT 2
A JavaFX Hilfe beim Design eines Quiz AWT, Swing, JavaFX & SWT 2
F Instanzierung einer inneren Klasse in Klasse eines anderen Packets AWT, Swing, JavaFX & SWT 3
A befüllen eines JTables mittels Methode AWT, Swing, JavaFX & SWT 10
javampir Swing Wanderung eines JFrames AWT, Swing, JavaFX & SWT 7
J Anfänger GUI Problem bei der Ausführung eines sehr einfachen Programms AWT, Swing, JavaFX & SWT 2
G Swing ComboBox: Auswahl eines Items der Liste durch Eingabe eines Buchstabens AWT, Swing, JavaFX & SWT 3
S Swing Nur den sichtbaren Bereich eines TextPane mit Inhalt darstellem AWT, Swing, JavaFX & SWT 0
I Erstellung eines kleinen Programmes AWT, Swing, JavaFX & SWT 8
H Position eines JLabel in einem JPanel AWT, Swing, JavaFX & SWT 2
J 2D-Grafik Windows Blue-Screen nach anzeigen eines Bildes in Java AWT, Swing, JavaFX & SWT 10
T Swing Einzelne Teile eines Textes färben? AWT, Swing, JavaFX & SWT 10
H Swing Probleme beim erstellen eines neuen Objektes durch einen Button AWT, Swing, JavaFX & SWT 10
HaukeG JavaFX JavaFX Resize und DragAndDrop eines Pane AWT, Swing, JavaFX & SWT 4
D 2D-Grafik Inhalt eines Graphics in anderes Graphics zeichnen.... AWT, Swing, JavaFX & SWT 3
J Denkfehler bei Aktualisierung eines GUI AWT, Swing, JavaFX & SWT 4
J Logikfehler im erstellen eines GUI AWT, Swing, JavaFX & SWT 3
F JTabbedPane mit Button zum Hinzufügen eines neuen Tabs AWT, Swing, JavaFX & SWT 6
B Event Handling Mausbewegung auch außerhalb eines JFrames registrieren AWT, Swing, JavaFX & SWT 2
U Swing Beim Bedienen eines Buttons JFrame schließen AWT, Swing, JavaFX & SWT 2
A Fehler bei erstellen eines JTextFields AWT, Swing, JavaFX & SWT 2
S Bestimmten Bereich eines Bildes im JFrame mit Scrollpane anzeigen AWT, Swing, JavaFX & SWT 0
C AWT die X koordinate eines Rectangles herrausfinden AWT, Swing, JavaFX & SWT 14
G 2D-Grafik Umrandung eines Winkels (drawArc(..)) AWT, Swing, JavaFX & SWT 4
V Ende eines Frames abwarten AWT, Swing, JavaFX & SWT 7
T hallo, habe ein Problem mit dem pro. eines Threads AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben