Создать текстовое поле и связать с кнопками - 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();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д