JTextAray und Cursor

Status
Nicht offen für weitere Antworten.

Dana

Aktives Mitglied
Hallo Freunde,
ich habe ein Problem und brauche eure Hilfe. Ich habe zwei Fenster. MyDialog wird gestartet, wenn ich bei HauptFenster auf but1 drucke. MyDilaog ist nicht Modal, d.h. beide Fenster sind übereinander und ich kann mit beiden arbeiten. Mein Problem ist, wenn ich bei MyDialog auf but2 drucke sollte der Cursor auf die erste Zeile der JTextAray springen. Ich habe mit
select(int ,int ); und .setCaretPosition(int); versucht hat es aber nichts funktioniert, weil ich die JTextAray als erste selektieren muss dann kann der Cursor auf die gewünschte Zeile springen

MfG
Code:
public class HauptFenster extends JFrame 
{ 
public JTextArea MyArea = new JTextArea(2, 1);    
public HauptFenster () 
    {    
   . 
   . 
   . 
   . 
    JButton but1= new JButton("but1");    

    but1.addMouseListener(new but1_mouseAdapter(this)); 
         } 

   } 
} 
class but1_mouseAdapter extends MouseAdapter 
{ 
HauptFenster frame; 

protected but1_mouseAdapter(HauptFenster frame) 
{ 
   this.frame = frame; 
} 
  public void mouseReleased(MouseEvent event) 
   { 
MyDialog frame = new MyDialog(); 
   } 
} 


public class MyDialog extends JDialog 
{ 

public JButton but2= new JButton("but2");  
HauptFenster frame; 
public MyDialog (HauptFenster frame) 
    {    
             super(frame); 
             this.setModal(false); 
   . 
   . 
   . 
   . 

   but2MyDialog.addMouseListener(new but2MyDialog _mouseAdapter(this)); 
         } 
    public void SetCursor () 
           { 
   	    // frame.MyArea .setCaretPosition(1);
            //frame.MyArea.select(0,1 );
            } 

   } 
} 
class but2MyDialog _mouseAdapter extends MouseAdapter 
{ 
MyDialog frame; 

protected but2MyDialog _mouseAdapter(MyDialog frame) 
{ 
   this.frame = frame; 
} 
  public void mouseReleased(MouseEvent event) 
   { 
      frame. SetCursor (); 
   } 
}
 

The_S

Top Contributor
dann lass das Textfeld zuerst nach dem Focus "fragen" und setze dann den Cursor

Code:
textfeld.requestFocusInWindow();
 

The_S

Top Contributor
Funktioniert bei mir ohne Probleme, ein kleines Beispiel:

Code:
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;


public class Test {

	private static JTextField field = null;
	
	public static void main(String[] args) {
		
		JFrame f = new JFrame();
		JButton butt = new JButton("Click");
		JButton butt2 = new JButton("Not Click");
		field = new JTextField("test text");
		f.getContentPane().add(field);
		f.getContentPane().add(butt, BorderLayout.SOUTH);
		f.getContentPane().add(butt2, BorderLayout.NORTH);
		butt.addActionListener(new ActionListener() {
			
			public void actionPerformed(ActionEvent evt) {
				field.requestFocusInWindow();
				field.setCaretPosition(0);
			}
		});
		butt2.addActionListener(new ActionListener() {
			
			public void actionPerformed(ActionEvent evt) {
				field.setCaretPosition(0);
			}
		});
		f.setSize(200, 200);
		f.setVisible(true);
		f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);
	}
}
 

Dana

Aktives Mitglied
Es geht wirklich bei mir nicht. Kann es nicht daran liegen, dass ich zwei verschiedene Klassen habe?
 

Dana

Aktives Mitglied
Wenn ich dein Code bei mir probiere gibt er mir die Fehlermeldung:
Auf lokale Variable frame wird aus einer verschachtelten Klassen heraus zugegriffen; sie muss als finale deklariert sein
 

The_S

Top Contributor
Es geht wirklich bei mir nicht. Kann es nicht daran liegen, dass ich zwei verschiedene Klassen habe?

Nein, wobei deine Klassen sehr verwirrend und umständlich aufgebaut sind (soweit ich das beurteilen kann). Dabei kann schon ein Fehler unterlaufen.

Wenn ich dein Code bei mir probiere gibt er mir die Fehlermeldung:
Auf lokale Variable frame wird aus einer verschachtelten Klassen heraus zugegriffen; sie muss als finale deklariert sein

Was verwendest du denn bitte für eine IDE, die solche Fehlermeldungen zurückgibt? Und was für einen Compiler, der das so nicht compilen will? Dann mach halt was er sagt, und mach das JFrame final. War ja nur mal schnell zusammen getippt von mir ;) .
 

Dana

Aktives Mitglied
Was verwendest du denn bitte für eine IDE

ich benutze Borland JBuilder
wobei deine Klassen sehr verwirrend und umständlich aufgebaut sind
in den klassen passieren viel mehr, dahier so unständig.

Ich kann frame nicht als finale deklarieren. es ist für mich ungunstig
Ich glaube bevor ich textfeld.requestFocusInWindow(); verwende muss ich erst Mal das Fenster „HauptFenster“ selektieren.
z.B.
HauptFenster.setSelectid oder so was dann textfeld.requestFocusInWindow(); oder ??
 

The_S

Top Contributor
äh, du sollst es ja nur bei mir im Testprogramm als final deklarieren ...

kA, was HauptFenster.setSelectid macht, aber normal nicht.
 

Dana

Aktives Mitglied
ach ja in deinem Code funktioniert es, in meinem aber nicht, wie gesagt weil ich zwei verschiedene Fenster habe und sie stehen übereinander. d.h. wenn MyDialog gestartet ist, steht es im Vordergrund und ist automatisch im Fokus.
 

The_S

Top Contributor
Dann versuch mal vorher das Fenster, bei dem der Cursor gesetzt werden soll, in den Vordergrund zu bringen. toFront heißt die Methode.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Juelin TextField Cursor Position AWT, Swing, JavaFX & SWT 2
H JDialog in Größe ändern - Resize-Cursor bleibt betreten der Komponente AWT, Swing, JavaFX & SWT 1
E verschiedene Cursor setzen AWT, Swing, JavaFX & SWT 1
E JavaFX Cursor-Position im ScrollPane AWT, Swing, JavaFX & SWT 0
T Java Swing - kleines Rechteck unter dem cursor AWT, Swing, JavaFX & SWT 5
domjos1994 JavaFX Element auswählen auf dem der Cursor ist AWT, Swing, JavaFX & SWT 1
Tom299 JavaFX Default-Cursor läßt sich nicht immer "aktivieren" AWT, Swing, JavaFX & SWT 3
N Cursor im JTextField AWT, Swing, JavaFX & SWT 6
Q Cursor Frage AWT, Swing, JavaFX & SWT 8
B setCursor() lässt Cursor ganz verschwinden AWT, Swing, JavaFX & SWT 9
Madlip SWT Probleme mit SWT.CURSOR AWT, Swing, JavaFX & SWT 2
B Swing Cursor-Transparenz AWT, Swing, JavaFX & SWT 2
A Swing GlassPane Cursor wird bei fremder Komponente nicht angezeigt AWT, Swing, JavaFX & SWT 3
B Swing Eigenen Cursor setzen AWT, Swing, JavaFX & SWT 10
B Cursor Farbe ändern AWT, Swing, JavaFX & SWT 6
J Cursor blinken ausschalten AWT, Swing, JavaFX & SWT 4
J Swing Cursor von Child falsch, wenn Parant disabled AWT, Swing, JavaFX & SWT 2
Zettelkasten Cursor nicht anzeigen lassen AWT, Swing, JavaFX & SWT 2
C Cursor AWT, Swing, JavaFX & SWT 5
T Swing JTable - true zurückbekommen, wenn der Cursor in einer Zelle blinkt AWT, Swing, JavaFX & SWT 7
K mehrere JTextFields - wie finde ich die Cursor-Position? AWT, Swing, JavaFX & SWT 5
M Swing [JTextPane] Cursor lässt sich nicht mit Pfeiltasten bewegen AWT, Swing, JavaFX & SWT 3
T Cursor im JPanel fangen AWT, Swing, JavaFX & SWT 2
D cursor bild und mouslistner AWT, Swing, JavaFX & SWT 9
M Cursor setzen im JTextPane AWT, Swing, JavaFX & SWT 3
hdi Custom Cursor: Problem mit Größe AWT, Swing, JavaFX & SWT 5
S AWT Eigenen Cursor im Frame verwenden... AWT, Swing, JavaFX & SWT 5
D JTextField behält meinen cursor nicht AWT, Swing, JavaFX & SWT 3
G Cursor Bewegung tracken AWT, Swing, JavaFX & SWT 2
H Flexibler Cursor AWT, Swing, JavaFX & SWT 8
G Komponente in der der Cursor steht zurückgeben? AWT, Swing, JavaFX & SWT 2
D Bild Cursor AWT, Swing, JavaFX & SWT 5
T Problem mit dem Cursor AWT, Swing, JavaFX & SWT 7
R Den Cursor setzen AWT, Swing, JavaFX & SWT 5
M Problem mit Cursor für Panels AWT, Swing, JavaFX & SWT 4
M Cursor wird nach JFileChosser nicht gesetzt AWT, Swing, JavaFX & SWT 3
B Spezieller Cursor in Swing AWT, Swing, JavaFX & SWT 7
T Markierten Mausbereich erfassen, Text beim Cursor platzieren AWT, Swing, JavaFX & SWT 6
V Cursor zu Groß AWT, Swing, JavaFX & SWT 4
T Cursor setzen AWT, Swing, JavaFX & SWT 3
L wie den Cursor von einem TextFeld zum anderen setzen? AWT, Swing, JavaFX & SWT 3
B Cursor zentriert in ein Textfeld positionieren AWT, Swing, JavaFX & SWT 2
E Cursor in JTextPane versetzen? AWT, Swing, JavaFX & SWT 19
D Farbe einer Grafik über den Cursor abfragen AWT, Swing, JavaFX & SWT 6
M Cursor im deaktivierten JInternalFrame AWT, Swing, JavaFX & SWT 2
A Cursor Icon bei DnD aus nativen Anwendungen AWT, Swing, JavaFX & SWT 2
S Cursor über JButton ändern AWT, Swing, JavaFX & SWT 4
V JTextField Focus Cursor setzen AWT, Swing, JavaFX & SWT 2
U Cursor beim Drag and Drop AWT, Swing, JavaFX & SWT 8
T JTextArea, in welcher Zeile befindet sich der Cursor AWT, Swing, JavaFX & SWT 25
clemson Cursor in JTable-Cell setzen AWT, Swing, JavaFX & SWT 6
P [TextField] cursor setzten AWT, Swing, JavaFX & SWT 2
Luma Keinen Cursor in JDialog? AWT, Swing, JavaFX & SWT 9
G Focus so setzen, daß in einer jTextArea der Cursor blinkt AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen


Oben