Слушатель и JLabel - Java
Формулировка задачи:
Почему не работает обработчик событий на кнопке - не видит объект write. и как выводит ответ на JLabel ?
Листинг программы
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.*;
- class GeometryFrame extends JFrame {
- GeometryFrame() {
- int w=500, h=400;
- setTitle("Геометрия");
- setBounds(400,200,w,h);
- setVisible(true);
- setResizable(false);
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- CPanel panel = new CPanel(w,h);
- add(panel);
- }
- }
- class CPanel extends JPanel {
- public CPanel(int W, int H) {
- setLayout(null);
- setBounds(0,0,W,H);
- JTextField TF = new JTextField();
- TF.setHorizontalAlignment(JTextField.LEFT);
- TF.setBounds(10,20,100,25);
- JTextField TF1 = new JTextField();
- TF1.setHorizontalAlignment(JTextField.LEFT);
- TF1.setBounds(10,60,100,25);
- JLabel answer = new JLabel("",1);
- add(TF); add(TF1); add(answer);
- // ActionListener actionListener = new TestActionListener();
- JButton btn = new JButton("Сложить");
- btn.setBounds(10,100,100,25);
- btn.addActionListener(TestActionListener);
- add(btn);
- }
- }
- public class TestActionListener implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- int t, t1, result;
- t = Integer.parseInt(TF.getText());
- t1 = Integer.parseInt(TF1.getText());
- result = t + t1;
- write.setText("Ответ:" + result);
- }
- }
- class Geometry{
- public static void main(String[] args) {
- new GeometryFrame();
- }
- }
Решение задачи: «Слушатель и JLabel»
textual
Листинг программы
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.JTextField;
- import javax.swing.SpringLayout;
- public class GeometryRevoked extends JFrame implements ActionListener{
- private static final long serialVersionUID = 1L;
- public static void main(String[] args){
- new GeometryRevoked();
- }
- private JTextField t1, t2;
- private JLabel result;
- private JButton button;
- GeometryRevoked(){
- initFrame();
- initComponents();
- setVisible(true);
- }
- private void initComponents(){
- SpringLayout layout = new SpringLayout();
- JPanel panel = new JPanel(layout);
- t1 = new JTextField(20);
- t2 = new JTextField(20);
- button = new JButton("Button");
- result = new JLabel("");
- layout.putConstraint(SpringLayout.WEST, t1, 5, SpringLayout.WEST, this);
- layout.putConstraint(SpringLayout.WEST, t2, 5, SpringLayout.WEST, this);
- layout.putConstraint(SpringLayout.NORTH, t2, 25, SpringLayout.NORTH, this);
- layout.putConstraint(SpringLayout.WEST, result, 5, SpringLayout.WEST, this);
- layout.putConstraint(SpringLayout.NORTH, result, 50, SpringLayout.NORTH, this);
- layout.putConstraint(SpringLayout.WEST, button, 5, SpringLayout.WEST, this);
- layout.putConstraint(SpringLayout.NORTH, button, 75, SpringLayout.NORTH, this);
- panel.add(t1);
- panel.add(t2);
- panel.add(result);
- panel.add(button);
- button.addActionListener(this);
- add(panel);
- }
- private void initFrame(){
- setSize(300, 300);
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setLocationRelativeTo(null);
- setResizable(false);
- }
- @Override
- public void actionPerformed(ActionEvent e){
- int value = Integer.parseInt(t1.getText()) + Integer.parseInt(t2.getText());
- result.setText(String.valueOf(value));
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д