JAVA, как получить значение на JTextfield

Я бы хотел, чтобы кто-то проверил эту программу, у меня возникли проблемы с получением результата, это не будет отображаться. Я пробовал так много способов. помогите, я только начал изучать java. пожалуйста, помогите здесь мой код:

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

class Counter extends JFrame implements ActionListener
{
JPanel row1 = new JPanel();
JLabel title = new JLabel("Monthly Total Sales");

JPanel row2 = new JPanel();
JLabel week1 = new JLabel("1st Week");
JTextField text1 = new JTextField(10);
JLabel week2 = new JLabel("2nd Week");
JTextField text2 = new JTextField(10);

JPanel row3 = new JPanel();
JLabel week3 = new JLabel("3rd Week");
JTextField text3 = new JTextField(10);
JLabel week4 = new JLabel("4th Week");
JTextField text4 = new JTextField(10);

JPanel row4 = new JPanel();
JLabel month = new JLabel("Monthly Total:");

JPanel row5 = new JPanel();
JButton count = new JButton("TOTAL");

public Counter()
{
 super("Monthly Earnings");
 setSize(500,500);
 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 setVisible(true);

 Container pane = getContentPane();
 GridLayout layout = new GridLayout(5,1,2,2);
 pane.setLayout(layout);

 FlowLayout layout1 = new FlowLayout(FlowLayout.CENTER,2,2);
 row1.setLayout(layout1);
 row1.add(title);
 pane.add(row1);

 GridLayout layout2 = new GridLayout(1,2,2,2);
 row2.setLayout(layout2);
 row2.add(week1);
 row2.add(text1);
 row2.add(week2);
 row2.add(text2);
 pane.add(row2);

 GridLayout layout3 = new GridLayout(1,2,2,2);
 row3.setLayout(layout3);
 row3.add(week3);
 row3.add(text3);
 row3.add(week4);
 row3.add(text4);
 pane.add(row3);

 FlowLayout layout4 = new FlowLayout(FlowLayout.CENTER,2,2);
 row4.setLayout(layout4);
 row4.add(month);
 pane.add(row4);

 FlowLayout layout5 = new FlowLayout(FlowLayout.CENTER,2,2);
 row5.setLayout(layout5);
 row5.add(count);
 pane.add(row5);

 setContentPane(pane);
 setVisible(true);

}
public void actionPerformed(ActionEvent tot)
{
 if(tot.getSource()==count)
 {
 float we1=0;
 we1 = Float.parseFloat(text1.getText());
 float we2=0;
 we2 = Float.parseFloat(text2.getText());
 float we3=0; 
 we3 = Float.parseFloat(text3.getText());
 float we4=0; 
 we4 = Float.parseFloat(text4.getText());

 float total = (we1+we2+we3+we4);
 month.setText("Php"+total);

 }

}
public static void main(String args[])
{
 Counter counting = new Counter();

}
 }

проблема при отображении результата.. :(

3 ответа

Вам необходимо зарегистрировать ActionListener с помощью кнопки для actionPerformed метода actionPerformed

count.addActionListener(this);


чтобы получить текст в текстовом поле, присвойте строку имени текстового поля - .getText();


Вы просто не добавляете ActionListener нигде, поэтому ничего не произойдет, когда вы нажмете кнопку "TOTAL".

licensed under cc by-sa 3.0 with attribution.