Создать текстовое поле и связать с кнопками - Java

Узнай цену своей работы

Формулировка задачи:

Дана программа, надо добавить в нее текстовое поле, такое,что при вводе числа на кнопке выводилось это число Первую часть я сделал, добавил текст, а вот как связать ее с кнопкой не пойму. Точнее надо что-то с count сделать.
package io;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*; // Eventhandling
 
public class MyCountingFrame extends JFrame  {
 
    /**
     * Da JFrame das Serializable Interface implementiert, sollte diese UID
     * definiert werden. Wir setzten sie der Einfachheit halber auf 1:
     */
    private static final long serialVersionUID = 1L;
 
    /** Variablendeklarationen von JButton aus dem Konstruktor verschoben */
    private JButton button;
    /** Zaehlrichtung: true = aufwaerts */
    private boolean richtung = true;
    /** Anzahl Klicks */
    private int count = 0;
 
    /** Konstruktor */
    public MyCountingFrame() {
        /*
         * Fenster konfigurieren:
         */
        // Frame-Erzeugung ueber Konstruktor von JFrame
        super("My Counting Frame");
        // Groesse des Frames
        this.setBounds(100, 100, 350, 420);// первый две это точки на экране,где они окно будет выходить, вторые две это ширина и высота окна
        // Schliesse das Fenster bei Klick auf das Kreuz
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
        // Anlegen einer Menuzeile
        JMenuBar menubar = new JMenuBar();
        // Eintragen der Menuzeile in den Frame
        this.setJMenuBar(menubar);
 
        // Anlegen eines Eintrags in der Menuezeile
        JMenu myMenu = new JMenu("Mein Menue");
        // Eintragen des Menupunkts in die Menuezeile
        menubar.add(myMenu);
 
        // Menuunterpunkt "Reset" anlegen
        JMenuItem resetItem = new JMenuItem("Reset");
        // und in das Menu myMenu eintragen
        myMenu.add(resetItem);
 
        // Zugriff auf geerbten ContentPane
        Container conPane = this.getContentPane();
        // Anlegen eines Panelbereichs
        JPanel panel = new JPanel();
        // Eintragen des Panels in den Frame
        conPane.add(panel);
        /*JTextField text1 = new JTextField(20);
        add(text1);*/
 
        /*
         * Inhalte des Panels definieren:
         */
        // Erzeugen eines Buttons
        button = new JButton("Click me");
        // und Eintragen in das ContentPane
        panel.add(button);

        // RadioButtons anlegen, "aufwaerts" ist initial markiert
        JRadioButton auf = new JRadioButton("aufwaerts", true);
        JRadioButton ab = new JRadioButton("abwaerts");
        // und zum Panel hinzufuegen
        panel.add(auf);
        panel.add(ab);
 
        // Zusammenfassen der RadioButtons zu einer Gruppe
        ButtonGroup group = new ButtonGroup();
        group.add(auf);
        group.add(ab);
 
        //JTextField hinzufugen// [B]Создал поле для текста[/B]
        JTextField text1 = new JTextField(20);////////////////////////////
        panel.add(text1);
        
        // Anzeigen des Frames
        setVisible(true);
        
        /*
         * Definition und Anmelden der ActionListener:
         */
        // Klicken auf die RadioButtons "auf" und "ab"
        auf.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                // Setze Richtung = 'aufwaerts'
                richtung = true;
            }
        });
        ab.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                // Setze Richtung = 'abwaerts'
                richtung = false;
            }
        });
 
        // Klicken auf button
        button.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                buttonActionPerformed();
            }
        });
 
        // Klicken auf das MenuItem "Reset"
        resetItem.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                resetActionPerformed();
            }
        });

    } // Ende des Konstruktors MyCountingFrame()
 
    /*
     * DEFINITION DER von den ActionListenern verwendeten METHODEN:
     */
    /** Aktionen nach Klick auf Button */
    private void buttonActionPerformed() {
        if (richtung)
            count++; // Aufwaerts zaehlen
        else
            count--; // Abwaerts zaehlen
        button.setText("bis " + count + " gezaehlt");
    }
 
    /** Aktionen nach Klick auf Reset */
    private void resetActionPerformed() {
        button.setText("Click me");
        count = 0;
        richtung = true;
    }
 
    /**
     * Main Methode: Erzeugen des Fensters
     */
    public static void main(String args[]) {
        new MyCountingFrame();
    }
}
тема для Java GUI & JavaFX

Решение задачи: «Создать текстовое поле и связать с кнопками»

textual
Листинг программы
String displayLabel = text1.getText();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.75 из 5
Похожие ответы