Swing Eingabe aus Textfeld abholen

VinCash

Mitglied
Hallo Leute,
ich habe ein weiteres Problem, bei dem ich nicht mehr weiter weiß.
Ich möchte die Eingaben aus den Textfeldern der JTextFields „abholen" können, sodass ich diese mit den Klickkoordinaten der Maus zusammenführen bzw. ausgeben kann (und für weitere Zwecke verwenden kann).
Die Frage, die sich für mich jetzt stellt ist: Wo und wie?

Der betreffende Code:

Java:
public class MenuBar extends JFrame{
    private JLabel statusBar;
    private JPanel mousePanel;
    private static Point mousePoint;
   
    private class HandlerClass implements MouseListener, MouseMotionListener {
        // Mouse events for MouseListener
        public void mouseClicked(MouseEvent event) {
            statusBar.setText(String.format("Clicked at %d %d", event.getX(), event.getY()));
        }
       
        public void mousePressed(MouseEvent event) {
            statusBar.setText("You pressed down the mouse");
            creationPanel(null);
            Point clickPoint = new Point(event.getX(), event.getY());
            mousePoint = clickPoint;
        }
       
        public Point getMousePoint() {
            return mousePoint;
        }
       
        public void mouseReleased(MouseEvent event) {
            statusBar.setText("You released the mouse button");
        }
       
        public void mouseEntered(MouseEvent event) {
            statusBar.setText("You entered the area");
            mousePanel.setBackground(Color.RED);
        }
       
        public void mouseExited(MouseEvent event) {
            statusBar.setText("The mouse has left the window");
            mousePanel.setBackground(Color.WHITE);
        }
       
        // Mouse events for MouseMotionListener
        public void mouseDragged(MouseEvent event) {
            statusBar.setText("You are dragging the mouse");
        }
       
        public void mouseMoved(MouseEvent event) {
            statusBar.setText("X: " + event.getX() + "\t Y: " + event.getY());
        }
    }
   
    private void creationPanel(JFrame frame) {
        JPanel panelThis = new JPanel(new BorderLayout(5, 5));
       
        JPanel labels = new JPanel(new GridLayout(0, 1, 2, 2));
        labels.add(new JLabel("Station Name", SwingConstants.RIGHT));
        labels.add(new JLabel("Value", SwingConstants.RIGHT));
        panelThis.add(labels, BorderLayout.WEST);
       
        JPanel controls = new JPanel(new GridLayout(0, 1, 2, 2));
        JTextField stationName = new JTextField("Enter Station Name");
        controls.add(stationName);
        JTextField values = new JTextField("Enter Value");
        controls.add(values);
       
        panelThis.add(controls, BorderLayout.CENTER);
       
        JOptionPane.showMessageDialog(null, panelThis, "Create Station", JOptionPane.QUESTION_MESSAGE);   
    }
       
    public MenuBar() {       
        //Set frame
        setTitle("Menu");
        setSize(700, 700);
       
        //Create the mouse panel
        mousePanel = new JPanel();
        mousePanel.setBackground(Color.WHITE);
        add(mousePanel, BorderLayout.CENTER);
       
        //Create status bar
        statusBar = new JLabel("default");
        add(statusBar, BorderLayout.SOUTH);
       
        //Create menu bar
        JMenuBar menuBar = new JMenuBar();
       
        //Add menu bar to the frame
        setJMenuBar(menuBar);
       
        //Define and add two drop down menus to the frame
        JMenu fileMenu = new JMenu("Data");
        JMenu editMenu = new JMenu("Edit");
        menuBar.add(fileMenu);
        menuBar.add(editMenu);
       
        //Create and add simple menu items to the drop down menu
        JMenuItem openItem = new JMenuItem("Open CSV");
        JMenuItem newItem = new JMenuItem("New");
        JMenuItem exitItem = new JMenuItem("Exit");
        JMenuItem copyItem = new JMenuItem("Copy");
        JCheckBoxMenuItem clickItem = new JCheckBoxMenuItem("Mouse GPS");
       
        fileMenu.add(openItem);
        fileMenu.add(newItem);
        fileMenu.add(exitItem);
        editMenu.add(copyItem);
        editMenu.add(clickItem);
       
        // Add a dialog box
        //Object dialogBox = JOptionPane.showInputDialog(parentComponent, "This is a test");
       
        /* Add Listener to the menu bar
         * PerformedAction will be invoked if button is clicked
         */
                      // File chooser pops up if "Open" is clicked
           openItem.addActionListener(new ActionListener() {
               public void actionPerformed(ActionEvent e) {
                   // Creates a file filter to the pop up menu, so that only CSV files are choosable
                   FileFilter csvFilter = new FileNameExtensionFilter("CSV", "csv");
                   JFileChooser fileJuice = new JFileChooser();
                   // Adds and sets the created file filter to default
                   fileJuice.addChoosableFileFilter(csvFilter);
                   fileJuice.setFileFilter(csvFilter);
                   fileJuice.showOpenDialog(null);
                   //Adds "Open" to the menu dialog
                   fileJuice.setDialogType(JFileChooser.OPEN_DIALOG);
                   //Opens selected File                                           
                   String thatFilePath = fileJuice.getSelectedFile().getAbsolutePath();
                   CSVReader csvOne = new CSVReader(thatFilePath);
                   csvOne.CSV();
               }
           });
          
           exitItem.addActionListener(new ActionListener() {
               public void actionPerformed(ActionEvent e) {
                   System.exit(0);
               }
           });
          
           //Add new handler
           HandlerClass mouseHandler = new HandlerClass();
           Point p1 = mouseHandler.getMousePoint();
          
                     
           clickItem.addActionListener(new ActionListener() {
               public void actionPerformed(ActionEvent e) {
                   if (clickItem.getState() == true) {
                       mousePanel.addMouseListener(mouseHandler);
                       mousePanel.addMouseMotionListener(mouseHandler);
                   }
                   else if (clickItem.getState() == false) {
                       mousePanel.removeMouseListener(mouseHandler);
                       mousePanel.removeMouseMotionListener(mouseHandler);
                       statusBar.setText("Mouse Mode OFF");
                   }
               }
           });
    }

    public static void main(String[] args) {
           MenuBar me = new MenuBar();
           me.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
           me.setVisible(true);
    }
}

Probiert habe ich, die geklickten Koordinaten abzuholen, doch mir gelingt es immer nur beim Einmaligen Ausführen des Codes und da sind die Koordinaten natürlich immer „null".
Die Ausgabe in der HandlerClass selbst funktioniert (der geklickte Punkt wird immer wieder neu auf der Konsole ausgegeben - bei entsprechendem Sysout in der mousePressed-Methode).

Also war die Idee nun, die Textfeldeingaben in der mousePressed-Methode abzuholen.

Ich weiß leider wirklich nicht mehr weiter, vielen Dank schonmal im voraus.

Gruß
 

VinCash

Mitglied
Ich möchte nach dem Starten der Anwendung „Mouse GPS" aus der MenuBar anwählen, anschließend auf einen beliebigen Punkt innerhalb des Frames klicken (in dem Moment sollen die Koordinaten des Klicks gespeichert werden zur späteren Weiterverwendung). Mit dem Klick wird zusätzlich ein Pop-Up-Menü aufgerufen, in dem ich einen Wert und einen Namen eintragen möchte. Die Eingabe soll ebenfalls gespeichert werden.
Zum Schluss möchte ich diese drei Ausgaben (Mouseklickposition und die beiden Texteingaben) ausgeben können bzw. mit denen jeweils weiterarbeiten (im Prinzip sollen die Mauskoordinaten mit den Eingaben des Textfelds gematcht werden).
 

Trjavnamen

Bekanntes Mitglied
Du willst die kordinaten in Textfeld automatisch eintragen dazu muß erst einmal am Anfang derWert/die beiden Werte mit einem oder zwei Variabeln deklariert sein. In der ersten anweisungszeile: String xkoordinate;String ykoordinate; und dann bei der Methode die anweisung:
xkoordinate.setX;ykoordinate.setY;
textfield.settext (xkoordinate+ykoordinate)
Ich bin ein Anfänger der nicht weit kommt aber das wäre mein Ansatz
 

Neumi5694

Top Contributor
Was heißt "zum Schluss"?
Deine Koordinaten werden jedenfalls korrekt gespeichert bei MousePressed
Was du NICHT machst ... nachdem du panelThis erzeugst und anzeigst, liest du die Werte nicht aus den Eingabefeldern stationName und values aus.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Variable einer Eingabe in anderes Textfeld schreiben AWT, Swing, JavaFX & SWT 7
D JavaFX Textfeld Eingabe validieren AWT, Swing, JavaFX & SWT 5
maddin86 Eingabe in Textfeld 1 synchron in Textfeld 2 ausgeben AWT, Swing, JavaFX & SWT 9
X Eingabe in Textfeld soll Button aktivieren... AWT, Swing, JavaFX & SWT 12
M Prüfen, ob in einem Textfeld/Tabelle eine Eingabe erfolgt is AWT, Swing, JavaFX & SWT 11
B Textfeld, Rollbaken: Eingabe klappt nicht AWT, Swing, JavaFX & SWT 2
K Textfeld Programm soll auf Eingabe warten! AWT, Swing, JavaFX & SWT 4
A JOptionPane OK ohne Eingabe abfangen AWT, Swing, JavaFX & SWT 10
B JavaFX TextField Eingabe in neues Fenster übernehmen AWT, Swing, JavaFX & SWT 4
F AWT awt KeyEvent - Zeichen direkt nach Eingabe löschen AWT, Swing, JavaFX & SWT 2
G Eingabe in JTextField in Array speichern und in JList ausgeben AWT, Swing, JavaFX & SWT 7
G JTextField Eingabe in DB speichern AWT, Swing, JavaFX & SWT 68
F JavaFX Tabelle mit gespeicherten Eingabe Werten AWT, Swing, JavaFX & SWT 8
J JTable: Eingabe in Tabellenzelle korrigieren AWT, Swing, JavaFX & SWT 4
L PasswordField Eingabe verstecken AWT, Swing, JavaFX & SWT 2
R jTextField Eingabe überprüfen AWT, Swing, JavaFX & SWT 2
L TextField Eingabe in andere GUI übernehmen AWT, Swing, JavaFX & SWT 1
E Eingabe von Zahlen in TextArea AWT, Swing, JavaFX & SWT 2
A Prüfung einer Eingabe auf Gleitkommazahl AWT, Swing, JavaFX & SWT 5
U Java FX Warten auf Textfield eingabe AWT, Swing, JavaFX & SWT 17
G JavaFX - Während AudioRecording keine Text eingabe TextField möglich AWT, Swing, JavaFX & SWT 6
P JTable - bei Eingabe Selektion AWT, Swing, JavaFX & SWT 0
U Eingabe von TextField in variable speichern AWT, Swing, JavaFX & SWT 2
D JavaFX Eingabe im GUI AWT, Swing, JavaFX & SWT 5
I JavaFX TextField auf Eingabe prüfen AWT, Swing, JavaFX & SWT 3
F JavaFX JavaFX HTMLEditor-Eingabe in Textarea als HTML anzeigen AWT, Swing, JavaFX & SWT 2
G Swing ComboBox: Auswahl eines Items der Liste durch Eingabe eines Buchstabens AWT, Swing, JavaFX & SWT 3
F Event Handling JTextArea auf bestimmte Eingabe reagieren (Return-Taste) AWT, Swing, JavaFX & SWT 2
J Text bei Eingabe löschen AWT, Swing, JavaFX & SWT 5
A JTable Cell Eingabe AWT, Swing, JavaFX & SWT 6
X Eingabe in einem Ausgabefeld anzeigen lassen AWT, Swing, JavaFX & SWT 11
F Swing TextField Eingabe in Variable umwandeln um zum Beispiel zu rechnen. AWT, Swing, JavaFX & SWT 3
G JavaFX TextField Eingabe formatieren/einschränken AWT, Swing, JavaFX & SWT 2
S Swing JFormattedTextField - bei nicht korrekter Eingabe Inhalt überschreiben AWT, Swing, JavaFX & SWT 5
J Swing JButton durch Eingabe von Zahlen in JTextFields aktivieren AWT, Swing, JavaFX & SWT 3
C Swing JTextfield hängt sich bei Eingabe auf AWT, Swing, JavaFX & SWT 6
A Auf eingabe warten AWT, Swing, JavaFX & SWT 5
R JTextField Eingabe bestimmen AWT, Swing, JavaFX & SWT 5
S JTable - Auf spezielle Eingabe nicht reagieren. AWT, Swing, JavaFX & SWT 5
N Filternde Combobox in JTable verliert Fokus nach erster Eingabe AWT, Swing, JavaFX & SWT 2
M Swing Eingabe auf JTextField automatisch ausgeben auf JLabel AWT, Swing, JavaFX & SWT 2
M Swing JTable cell leeren bei Eingabe AWT, Swing, JavaFX & SWT 6
N Eingabe JTextfield überprüfen AWT, Swing, JavaFX & SWT 3
earlgrey_tea KeyEvent reagiert nicht auf Eingabe ("Pausentaste") AWT, Swing, JavaFX & SWT 11
T Tooltip bei falscher Eingabe anzeigen AWT, Swing, JavaFX & SWT 2
S SWT Wie bei Widget Text auf int prüfen bei Eingabe AWT, Swing, JavaFX & SWT 5
J Eingabe im JTextField übermitteln AWT, Swing, JavaFX & SWT 6
P Swing Einfache Eingabe in JTextfield wird nicht ausgegeben AWT, Swing, JavaFX & SWT 3
B Pop-Up eingabe für Zahlen AWT, Swing, JavaFX & SWT 5
B Eingabe von JTextField verwenden AWT, Swing, JavaFX & SWT 10
S Eingabe Überprüfung AWT, Swing, JavaFX & SWT 4
S JTable: Eingabe nur für bestimmte Var.Typen zulassen AWT, Swing, JavaFX & SWT 13
P jframe eingabe durch button AWT, Swing, JavaFX & SWT 2
S Swing Auf Enter - Eingabe reagieren AWT, Swing, JavaFX & SWT 10
U Swing Eingabe von JTextField in einen String übergeben. AWT, Swing, JavaFX & SWT 3
eskimo328 JTable nächste Zelle nach Eingabe einer Ziffer AWT, Swing, JavaFX & SWT 5
A Eingabe in JFrame AWT, Swing, JavaFX & SWT 4
aze JTextField Eingabe verbergen AWT, Swing, JavaFX & SWT 14
A Die Eingabe in einem JTextField beschränken AWT, Swing, JavaFX & SWT 5
R JTextField Eingabe speichern AWT, Swing, JavaFX & SWT 4
G JTable - bei falscher Eingabe wird alter Wert genommen. AWT, Swing, JavaFX & SWT 2
N JFormattedTextField erst Verlassen, wenn Eingabe korrekt AWT, Swing, JavaFX & SWT 6
N Eingabe eines Textfields weiterverwenden AWT, Swing, JavaFX & SWT 6
A Bei Eingabe eines Datums ein Kalender aufpoppen lassen AWT, Swing, JavaFX & SWT 2
H Adressbuch - Problem beim Speichern der Eingabe AWT, Swing, JavaFX & SWT 5
hdi JTextField - Eingabe verschlüsselt anzeigen AWT, Swing, JavaFX & SWT 2
M JFileChooser-> eingabe Vorgeben AWT, Swing, JavaFX & SWT 7
M jTextField mit Eingabe beschränken AWT, Swing, JavaFX & SWT 4
V Start Button und Wert Eingabe in ein Fenster AWT, Swing, JavaFX & SWT 2
M JTable: TableCellEditor nach Eingabe sofort beenden? AWT, Swing, JavaFX & SWT 3
S JTextField - Eingabe speichern AWT, Swing, JavaFX & SWT 2
I Tastur eingabe geht nicht (wenn Button vorhanden) AWT, Swing, JavaFX & SWT 5
C jComboBox während eingabe kontextabhängig vorausfüllen AWT, Swing, JavaFX & SWT 3
V JTextField - Mehrfachselektion und Eingabe möglich? AWT, Swing, JavaFX & SWT 2
G Eingabe auslesen mit JOptionPane AWT, Swing, JavaFX & SWT 2
I Prüfen einer Eingabe in JTextField, Fokusverlust AWT, Swing, JavaFX & SWT 2
sparrow JComboBox soll Selektion anhand der Eingabe ändern AWT, Swing, JavaFX & SWT 2
S Eingabe des Textfeldes in Variable speichern AWT, Swing, JavaFX & SWT 7
H Eingabe von Zahlen in JTable und Fokusweitergabe AWT, Swing, JavaFX & SWT 4
C JTextField Eingabe prüfen AWT, Swing, JavaFX & SWT 4
L JTextField verweigert die Eingabe AWT, Swing, JavaFX & SWT 6
M JTextField nach erfolgreicher Eingabe leeren? AWT, Swing, JavaFX & SWT 2
W Auf eine Eingabe warten? AWT, Swing, JavaFX & SWT 2
R JTable, automatischer resize der Zellen nach einer Eingabe AWT, Swing, JavaFX & SWT 4
M Position von Eingabe-Fenster AWT, Swing, JavaFX & SWT 5
G GUI - Inhalte wechseln (Eingabe-Assistenten programmieren) AWT, Swing, JavaFX & SWT 2
G Textfeldgröße während Eingabe ändern AWT, Swing, JavaFX & SWT 4
Z immer Problem mit Eingabe durch JTextField und JTree AWT, Swing, JavaFX & SWT 7
J JTextfield Eingabe einschränken AWT, Swing, JavaFX & SWT 4
S Eingabe einschränken bei TextField AWT, Swing, JavaFX & SWT 19
D Intelligente Eingabe AWT, Swing, JavaFX & SWT 3
W Auf Eingabe von Return reagieren AWT, Swing, JavaFX & SWT 4
F Eingabe in JPasswordField auf vier Zeichen beschränken AWT, Swing, JavaFX & SWT 3
chik Java Komponente mit formatierter Eingabe? AWT, Swing, JavaFX & SWT 5
D Button und Textfeld Darstellung AWT, Swing, JavaFX & SWT 3
B Scene Builder Textfeld Begrenzen AWT, Swing, JavaFX & SWT 3
T JavaFX MultiLine / MultiStyle Textfeld AWT, Swing, JavaFX & SWT 1
izoards Textfeld für Zeit AWT, Swing, JavaFX & SWT 4
E Frage zum Textfeld AWT, Swing, JavaFX & SWT 8
B Ausgaben einer Umrechnung vom Textfeld in ein Label AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben