Помогите с проблемкой новичку

 
 
 
Сообщения:1
Я изучаю джаву недолго, делаю приложение для портфолио, столкнулся с проблемой вывода текста при нажатии на кнопку то есть я нажимаю на кнопку и текст в 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;
	}
	
}
 
 
Сообщения:27
Дмитрий Яницкий:
Я изучаю джаву недолго, делаю приложение для портфолио, столкнулся с проблемой вывода текста при нажатии на кнопку то есть я нажимаю на кнопку и текст в JLabel должен поменятся. Подскажите как это реализовать и может подскажите как оптимизировать код.

Вот ни чего не понял, какую кнопку ты жмешь? Зачем весь код сюда положил? Но суть нажатия кнопки и изменения такова:

public void Buttom1(ActionEvent e) {
label1.setText("Новая надпись");
}
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет