jTextField --> Zwischenspeicher

Status
Nicht offen für weitere Antworten.
M

Mani

Gast
Hallo,

Ich steh vor einem gröberen Problem.
Mein Programm erstellt auf Knopfdruck aus mehreren eingegeben Variablen einen Text in einem jTextField.
Jetzt muss ich dass nur noch automatisch in den zwischenspeicher einfügen.

Wie funktioniert sowas? :bahnhof:
 
M

Mani

Gast
Ausserdem versuche ich schon seit stunden im programm mit enter eine Aktion auszuführen, nur leider vergeblich...

Manchmal ist es echt mühsam, wenn man selbst im web nichts dazu findet..
 
M

Mani

Gast
Achja und nochwas...
Wenn man in einem JTextFile steht, etwa per Tab oder Mausklick soll gleich der ganze Text makiert werden^^

kann man das auch irgendwie implementieren?
 

Eminent

Bekanntes Mitglied
Mani hat gesagt.:
Hallo,

Ich steh vor einem gröberen Problem.
Mein Programm erstellt auf Knopfdruck aus mehreren eingegeben Variablen einen Text in einem jTextField.
Jetzt muss ich dass nur noch automatisch in den zwischenspeicher einfügen.

Wie funktioniert sowas? :bahnhof:

Clipboard bietet die Möglichkeit für sowas

Mani hat gesagt.:
Ausserdem versuche ich schon seit stunden im programm mit enter eine Aktion auszuführen, nur leider vergeblich...

Manchmal ist es echt mühsam, wenn man selbst im web nichts dazu findet...

Dafür kann man einen KeyListener verwenden

Mani hat gesagt.:
Achja und nochwas...
Wenn man in einem JTextFile steht, etwa per Tab oder Mausklick soll gleich der ganze Text makiert werden^^

kann man das auch irgendwie implementieren?

Dafür kann man einen FocusListener verwenden

Was die einzelnen Objekte zur Verfügung stellen und wie sie funktionieren kann man in der API bzw. im Web nachlesen.
 
M

Mani

Gast
Hey danke :)

Das mit dem Clipboard hat super funktionierd. Den KeyListener und den FocusListener hab ich leider noch nicht hinbekommen aber mal kucken was die Zeit so bringt^^
 

Daniel_L

Bekanntes Mitglied
Hier ein Beispiel für einen KeyListener:
- du musst zuerst der Komponente (also deinem jTextField) per "addKeyListener"-Methode einen KeyListener zuweisen
- da kannst du dann im Konstruktor sagen, um welches Event es sich handelt. Wenn du auf "return" wartest, geht meines wissen actionPerformed, oder aber auch "keyReleased".
- in der entsprechenden event-Methode packst du dann deinen Source-Code

Code:
        jTextFieldAddKeyword.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyReleased(java.awt.event.KeyEvent evt) {
                // add your code here
                if (KeyEvent.VK_ENTER==evt.getKeyCode()) {
                  // when enter-key was pressed and released, execute following method
                  addKeywordToList();
                }
             }
        });

Gruß
Daniel
 
M

Mani

Gast
Hi,

Ich habs jetzt mit einem KeyListener gelöst, wie von Daniel. Allerdings nicht wirklcih schön, da ich praktisch für jedes Feld so einenen KeyListener anlegen muss, da der Nutzer bei Jedemfeld enter drücken könnte^^

Kann man das nicht so machen, dass das für das ganze Programm gülltigkeit hat, ausser wenn man gerade auf einen Button steht.
 

Eminent

Bekanntes Mitglied
Mani hat gesagt.:
Hi,

Ich habs jetzt mit einem KeyListener gelöst, wie von Daniel. Allerdings nicht wirklcih schön, da ich praktisch für jedes Feld so einenen KeyListener anlegen muss, da der Nutzer bei Jedemfeld enter drücken könnte^^

Kann man das nicht so machen, dass das für das ganze Programm gülltigkeit hat, ausser wenn man gerade auf einen Button steht.

Du kannst dir zum einen mal die KeyBindings ansehen (der Link von Wildcard).

Oder du implementierst deiner Klasse einen KeyListener

Code:
.... DeinKlassenname .... implement KeyListener {
...
}

Dafür musst du die entsprechenden Methoden dann in deiner Klasse noch implementieren und kannst bei deinen Feldern dann sagen:

Code:
deinFeld.addKeyListener(this);

In der Methode keyReleased kannst du denn zum KeyEvent sagen getSource() und so bestimmen von welchem Feld du kommst (wenn je Feld unterschiedlich reagiert werden soll).

Hoffe ich konnte dir etwas weiter helfen.

Gruß
Eminent
 
M

Mani

Gast
Vielen, Vielen Dank!
Du hast mir sehr geholfen.

Funktionierd prima, nur wie kann ich abfragen welche Taste gedrückt worden ist?

Code:
public void keyTyped(KeyEvent e) {
        if (KeyEvent.VK_ENTER == e.getKeyCode())
            showRecord();
        
        if(KeyEvent.VK_F1==e.getKeyCode())
            showAboutBox();
    }

So funktionierds nicht. Die Methode wird zwar aufgerufen aber bei der if verzweigung bekomm ich einfach keinen wahren boulschen wert heraus.
 

Eminent

Bekanntes Mitglied
Du musst die Methode KeyPressed oder KeyReleased (ich verwende immer KeyReleased) verwenden um solche Sachen wie ENTER oder F1 abzufragen.

KeyTyped funktioniert nicht bei allen Zeichen bzw. Tasten. Welche genau kann ich dir aus dem Stehgreif jetzt leider nicht sagen, das muss ich selber immer ausprobieren. :oops:

Gruß
Eminent
 
M

Mani

Gast
Tatsächlich. Sowas muss man aber auch wissen.^^
Danke! :)

Jetzt muss ich nur noch das mit dem Makieren hibekommen, dann hab ichs geschafft.
 
M

Mani

Gast
Ahhh.... So schnell kanns gehn! :)
Code:
JTextfield.selectAll();

Dann wird das Feld automatisch makiert ;)
 

Eminent

Bekanntes Mitglied
Hier musst du mit einem FocusListener arbeiten. Der wird dem Feld hinzugefügt und wenn das Feld den Focus bekommt (Methode focusGained) dann muss das Selektieren passen.

Hier ist mal ein kleines Beispiel:

Code:
.... DeinKlassenName ... implements FocusListener {

    public void focusGained(FocusEvent e) {
        if (Abfrage ob es sich um ein gewünschtes Feld handelt) { // z. B. e.getSource instanceof JTextField
            ((JTextField) e.getSource).selectAll();
        }
    }
}

oder du hängst den FocusListener direkt an die Felder bzw. das Feld analog dazu wie du es anfangs mit dem KeyListener hattest.
 
M

Mani

Gast
Tut mir leid aber das mit dem FocusListener hat überhaupt nicht funktionierd. Die Methoden werden bei mir nichtmal aufgerufen.

Ich habs mit nem Mouse bzw. KeyListener für die Maustaste und Tabulator gelöst:

Code:
public void mouseClicked(MouseEvent e) {
        ((JTextField) e.getSource()).selectAll(); 
    }
 
M

Mani

Gast
Hey Leute ich hab nochmal was:

Ich brauch sowas ähnliches wie einen KeyListener, nur muss ich erkenn, dass in einem JTable ein Wert geändert wurde.

mfg
 
G

Guest

Gast
In einem solchen fall einfach in der Javadoc nachschauen was es da für Listener gibt.
Dazu gibts immer Methoden nach dem Muster addXXXListener(XXXListener listener)
Wenns nicht direkt in der Klasse steht weil ererbte Methode halt weiter unten nachschauen bei "Methods inherited from ..."

Da findet man dann z.B. einen PropertyChangeListener.
Ansonsten auch mal das jeweilige model anschauen, in dem fall TableModel mit dem TableModelListener.
 
M

Mani

Gast
Gut ich hab da ein JTable mit 3 Splaten:

In der ersten sollen String stehen in den anderen beiden Integer. Soweitsogut. Ich möchte jetzt dass man die letze zeile immer den wert von den anderen zusammenzählt und dann reinschreibt. Das hab ich so probiert:

Code:
    public void propertyChange(PropertyChangeEvent evt) {
            if(evt.getSource().equals(jRounds)){
            
            int opponent=0, our=0;
            
            for(int i=0; i<=5; i++){
                opponent = opponent + (int)(jRounds.getValueAt(i, 1));
                our = our + (int)(jRounds.getValueAt(i, 2));
            }
            
            jRounds.setValueAt(opponent, 6, 1);
            jRounds.setValueAt(our, 6, 2);
            }
    }

Das mit dem Typecast funktionierd allerdings nicht. Schade :>
Kann mir da wer helfen? :p
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G KeyListener für JTextField Allgemeine Java-Themen 5
J Circumflex in JTextField Allgemeine Java-Themen 1
G JTextField Inhalt in einem Long einfügen Allgemeine Java-Themen 2
J JTextField nicht editierbar Allgemeine Java-Themen 5
G Aus JTextField Zahlen auslesen und random generieren Allgemeine Java-Themen 10
F JTextField funktioniert nicht Allgemeine Java-Themen 6
B JTextfield Allgemeine Java-Themen 9
E Eingabeprüfung JTextField. Fehler bei Copy-Paste Allgemeine Java-Themen 4
L JTextfield wird nicht ausgelesen Allgemeine Java-Themen 7
T JTextField in Listener leeren Allgemeine Java-Themen 2
M Datum einlesen aus jTextField Allgemeine Java-Themen 2
G JTextField mit Zeichenbeschränkung Allgemeine Java-Themen 7
E JTextField auf JWindow Allgemeine Java-Themen 2
P Suche Benis IP/Netzwerkadresse JTExtField Allgemeine Java-Themen 2
S JTable editieren + in JTextField schreiben Allgemeine Java-Themen 7
O Inhalt vom JTextfield im DebugMode ermitteln? Allgemeine Java-Themen 2
M Autovervollständigung im JTextField Allgemeine Java-Themen 3
P JTextField textfarbe schwarz auch wenn JTF deaktiviert ist Allgemeine Java-Themen 4
M Text in JTextfield einfügen sofort dann wird Text gekürzt Allgemeine Java-Themen 2
MQue JTextField Kommastellen Allgemeine Java-Themen 5
G Problem mit jTextField Allgemeine Java-Themen 7
D JTextfield für double werte Allgemeine Java-Themen 2
F JTextField Eingabe automatisch bestaetigen Allgemeine Java-Themen 17
D Probleme beim FAQ (JTextField: Dokumentarten) Allgemeine Java-Themen 5
H Position von JTextField Allgemeine Java-Themen 2
O String übergeben ist name eines JTextField wie zugreifen Allgemeine Java-Themen 9
Z JTextField mit Model kommunizieren Allgemeine Java-Themen 6
G Fragen zu JTextField bzw. JTextArea Allgemeine Java-Themen 2
G JTextField: Feld für Ausgabe von Meldungen Allgemeine Java-Themen 14
G Frage zu JTextField Allgemeine Java-Themen 2
E Field-Objekt in JTextField parsen Allgemeine Java-Themen 3
F KeyListener für JTextField Allgemeine Java-Themen 4
G Nur Integer Werte in JTextField Allgemeine Java-Themen 4
H JTextField Allgemeine Java-Themen 2
C JTextField Allgemeine Java-Themen 9
B TextListener bei JTextField Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben