有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在带有ActionListener和ifelse语句Jbutton的JFrame上使用JTextFields、JButtons和JLabels不起作用

我是Java新手,正在尝试做我的第一个项目。下面的代码有一个按钮,当点击时,什么都不会发生。我正在处理Eclipse,没有抛出异常

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class MTV extends JFrame implements ActionListener {
    public JTextField kutucuk1, kutucuk2, kutu3;
    public JLabel kutu1, kutu2;
    public JButton buton1;
    int yas, motorhacmi;

    public MTV() {      
        setLayout(new GridLayout (3,3));
        kutu1 = new JLabel("Aracınızın yası");
        kutucuk1 = new JTextField(yas);
        kutu2 = new JLabel("Aracınızın Motor Hacmi");
        kutucuk2 = new JTextField(motorhacmi);
        buton1 = new JButton("Hesapla");
        kutu3 = new JTextField();


        setTitle("MTV Hesaplama");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(600, 500);
        setVisible(true);

        add(kutu1);
        add(kutucuk1);
        add(kutu2);
        add(kutucuk2);
        add(buton1);
        add(kutu3); 
        buton1.addActionListener(this);
    }

    public void actionPerformed(ActionEvent e) {
        yas = Integer.parseInt(kutucuk1.getText().toString());
        motorhacmi = Integer.parseInt(kutucuk2.getText().toString());

        if (motorhacmi <= 1300 && (yas <=3 && yas >=1)) {               
            kutu3.setText("Ödenecek vergi 743");
        }           
        else if ((motorhacmi > 1300 && motorhacmi <= 1600) && (yas <=3 && yas >=1)) {                           
            kutu3.setText("Ödenecek vergi 1294");               
        }
    }

    public static void main(String[] args) {
        MTV mtv = new MTV();
    }
}

共 (2) 个答案

  1. # 1 楼答案

    或者向JTextFields添加大小,并在创建窗格之前将所有元素的位置更改为:

    add(kutu1);
    add(kutucuk1);
    add(kutu2);
    add(kutucuk2);
    add(buton1);
    add(kutu3); 
    buton1.addActionListener(this);
    setTitle("MTV Hesaplama");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setSize(600, 500);
    setVisible(true);
    
  2. # 2 楼答案

    试试这个链接Eclipse Gui 如果你使用的是eclipse,那么不要创建文本字段和按钮以及所有这些组件,你只需要拖放,当你选择和组件时,代码已经写好了