Я изучаю джаву недолго, делаю приложение для портфолио, столкнулся с проблемой вывода текста при нажатии на кнопку то есть я нажимаю на кнопку и текст в JLabel должен поменятся. Подскажите как это реализовать и может подскажите как оптимизировать код.
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Label;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import java.awt.SystemColor;
public class Display {
private static JFrame frame;
private JPanel mainPanel;
private JPanel panel1;
private JPanel panel2;
private JPanel panel3;
private JPanel panel4;
private boolean visible = false;
private int money;
private int kardMoney;
public Label park;
public Label parknum;
JButton butt1 = new JButton("Паркомат №1");
JButton butt2 = new JButton("Паркомат №2");
JButton butt3 = new JButton("Паркомат №3");
JButton butt4 = new JButton("Добавить паркомат");
JButton butt5 = new JButton("X отчёт");
JButton butt7 = new JButton("Z отчёт");
JButton butt8 = new JButton(" Отчёты ");
JButton butt9 = new JButton("Печать чека");
JButton butt10 = new JButton("Оплатить");
JButton butt11 = new JButton("Отмена");
private JTextField textField;
private String parknumb;;
/**
* @wbp.parser.entryPoint
*/
public void createDisplay(int width, int height, String title) {
frame = new JFrame(title);
mainPanel = new JPanel();
panel1 = new JPanel();
panel2 = new JPanel();
panel4 = new JPanel();
butt1.setBounds(10, 61, 170, 39);
butt1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
parknumb = "1";
}
});
butt2.setBounds(10, 111, 170, 39);
butt2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
parknumb = "2";
}
});
butt3.setBounds(10, 161, 170, 39);
butt3.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
}
});
butt4.setBounds(10, 211, 170, 23);
butt4.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
}
});
butt8.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
panel3.setVisible(true);
}
});
butt5.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
xMon();
}
});
butt7.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
zMon();
}
});
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(800,600);
frame.setResizable(false);
frame.getContentPane().add(mainPanel, BorderLayout.CENTER);
mainPanel.setBounds(0, 0, ParkomatMain.getWidth(), ParkomatMain.getHeight());
mainPanel.setBackground(Color.black);
mainPanel.setLayout(null);
mainPanel.add(panel1);
panel1.setBounds(0, 0,249,600);
panel1.setBackground(Color.lightGray);
mainPanel.add(panel2);
panel2.setBounds(250, 0,544,571);
panel2.setBackground(Color.gray);
panel1.setLayout(null);
panel1.add(butt1);
panel1.add(butt2);
panel1.add(butt3);
panel1.add(butt4);
butt8.setBounds(10, 525, 229, 39);
panel1.add(butt8);
JLabel lblNewLabel = new JLabel("\u041F\u0430\u0440\u043A\u043E\u043C\u0430\u0442\u044B: ");
lblNewLabel.setFont(new Font("Sitka Subheading", Font.PLAIN, 22));
lblNewLabel.setBounds(10, 11, 229, 39);
panel1.add(lblNewLabel);
panel3 = new JPanel();
panel3.setBounds(0, 481, 249, 33);
panel1.add(panel3);
panel3.setVisible(false);
panel3.setBackground(SystemColor.inactiveCaption);
panel3.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
panel3.add(butt5);
panel3.add(butt7);
panel2.setLayout(null);
butt10.setBounds(277, 528, 137, 32);
panel2.add(butt10);
butt11.setBounds(424, 528, 110, 32);
panel2.add(butt11);
butt9.setBounds(10, 528, 147, 32);
panel2.add(butt9);
JLabel lblNewLabel_1 = new JLabel("Паркомат: ");
lblNewLabel_1.setFont(new Font("Sitka Subheading", Font.PLAIN, 22));
lblNewLabel_1.setBounds(10, 11, 188, 32);
panel2.add(lblNewLabel_1);
JButton btnNewButton = new JButton("\u0421\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F");
btnNewButton.setBounds(371, 11, 163, 32);
panel2.add(btnNewButton);
JLabel lblNewLabel_2 = new JLabel("\u041D\u043E\u043C\u0435\u0440 \u0442\u0430\u043B\u043E\u043D\u0430: ");
lblNewLabel_2.setFont(new Font("Sitka Subheading", Font.PLAIN, 22));
lblNewLabel_2.setBounds(10, 50, 163, 32);
panel2.add(lblNewLabel_2);
textField = new JTextField();
textField.setBounds(177, 57, 260, 20);
panel2.add(textField);
textField.setColumns(10);
JLabel lblNewLabel_3 = new JLabel("\u0412\u0440\u0435\u043C\u044F \u0432\u044C\u0435\u0437\u0434\u0430: ");
lblNewLabel_3.setFont(new Font("Sitka Subheading", Font.PLAIN, 22));
lblNewLabel_3.setBounds(10, 90, 163, 32);
panel2.add(lblNewLabel_3);
JLabel lblNewLabel_4 = new JLabel("\u0412\u0440\u0435\u043C\u044F \u0432\u044B\u0435\u0437\u0434\u0430: ");
lblNewLabel_4.setFont(new Font("Sitka Subheading", Font.PLAIN, 22));
lblNewLabel_4.setBounds(10, 125, 163, 32);
panel2.add(lblNewLabel_4);
JLabel lblNewLabel_5 = new JLabel();
panel2.add(lblNewLabel_5);
lblNewLabel_5.setText(parknumb);
lblNewLabel_5.setFont(new Font("Sitka Subheading", Font.PLAIN, 22));
lblNewLabel_5.setBounds(144, 11, 35, 32);
butt5.getActionCommand();
butt7.getActionCommand();
butt8.getActionCommand();
butt1.getActionCommand();
butt2.getActionCommand();
mainPanel.add(panel4);
panel4.setVisible(visible);
frame.setVisible(true);
}
double sum = money + kardMoney;
public void clearDisplay() {
}
public void xMon() {
System.out.println("Сумма налички: " + money);
System.out.println("Сумма безнала: " + kardMoney);
System.out.println("Сумма кассы: " + sum);
}
public void zMon() {
System.out.println("Сумма кассы: " + sum);
nullKass();
}
public void nullKass() {
money = 0;
kardMoney = 0;
}
public JFrame getFrame() {
return frame;
}
public JPanel getMainPanel() {
return mainPanel;
}
public JPanel getPanel1() {
return panel1;
}
public JPanel getPanel2() {
return panel2;
}
}
public class ParkomatMain {
private static int width = 800;
private static int height = 600;
private static String title = "Контрольный пункт парковки";
private static Display disp;
public static void main(String[] args) {
disp = new Display();
disp.createDisplay(width, height, title);
}
public static int getWidth() {
return width;
}
public static int getHeight() {
return height;
}
}