【问题标题】:Java: I getting many errors in this program? I'm trying to create calculator [closed]Java:我在这个程序中遇到很多错误?我正在尝试创建计算器 [关闭]
【发布时间】:2016-03-10 12:08:15
【问题描述】:
import java.awt.Label;

import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class MyCal implements ActionListener {

 JButton jb;
 JTextPane ta5;
 JTextPane ta4;
 JTextPane ta3;
 JTextPane ta2;
 JTextPane ta1;
 JTextPane ta;

 int add = 9, mul, div, sub, num, num1;

 MyCal()

 {
  JFrame jf = new JFrame();

  jb = new JButton("Calculate");
  jb.setBounds(80, 145, 100, 40);
  jb.addActionListener(this);


  JTextPane ta = new JTextPane();
  ta.setBounds(80, 30, 100, 40);

  //ta.setText("First Number");


  JTextPane ta1 = new JTextPane();
  ta1.setBounds(80, 100, 100, 40);

  //ta1.setText("Second Number");


  JTextPane ta2 = new JTextPane();


  ta2.setText("Addition");
  ta2.setBounds(10, 200, 50, 30);


  JTextPane ta3 = new JTextPane();
  ta3.setText("Subtraction");
  ta3.setBounds(70, 200, 50, 30);


  JTextPane ta4 = new JTextPane();
  ta4.setText("Multiplication");
  ta4.setBounds(130, 200, 50, 30);


  JTextPane ta5 = new JTextPane();
  ta5.setText("Division");
  ta5.setBounds(190, 200, 50, 30);


  jf.add(ta);
  jf.add(ta1);
  jf.add(jb);
  jf.add(ta2);
  jf.add(ta3);
  jf.add(ta4);
  jf.add(ta5);

  jf.setSize(300, 300);
  jf.setLayout(null);
  jf.setVisible(true);

 }
 public static void main(String[] args) {

  new MyCal();

 }

 @Override

 public void actionPerformed(ActionEvent e) {

  ta3.setText("Hello");
 }

}

【问题讨论】:

  • 什么错误,在哪里,...?
  • 你必须更新你的问题,以避免 -ve 投票!
  • 看来你在找魔术师 :)
  • @KushalMaharana 检查下面的答案。

标签: java swing awt


【解决方案1】:

你已经声明了类级别的变量,但是你没有使用它们,你是在main()中创建同名的局部变量,这些变量和类级别的变量是不一样的。

你应该做this.ta = new JTextPane();而不是像JTextPane ta = new JTextPane();这样的事情

这段代码应该可以解决这个问题,但是它不会执行您的计算器逻辑。

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextPane;

public class MyCal implements ActionListener {

    JButton jb;
    JTextPane ta5;
    JTextPane ta4;
    JTextPane ta3;
    JTextPane ta2;
    JTextPane ta1;
    JTextPane ta;

    int add = 9, mul, div, sub, num, num1;

    MyCal ()

    {
        JFrame jf = new JFrame();

        jb = new JButton("Calculate");
        jb.setBounds(80, 145, 100, 40);
        jb.addActionListener(this);

        this.ta = new JTextPane();
        ta.setBounds(80, 30, 100, 40);

        // ta.setText("First Number");

        this.ta1 = new JTextPane();
        ta1.setBounds(80, 100, 100, 40);

        // ta1.setText("Second Number");

        this.ta2 = new JTextPane();
        ta2.setText("Addition");
        ta2.setBounds(10, 200, 50, 30);

        this.ta3 = new JTextPane();
        ta3.setText("Subtraction");
        ta3.setBounds(70, 200, 50, 30);

        this.ta4 = new JTextPane();
        ta4.setText("Multiplication");
        ta4.setBounds(130, 200, 50, 30);

        this.ta5 = new JTextPane();
        ta5.setText("Division");
        ta5.setBounds(190, 200, 50, 30);

        jf.add(ta);
        jf.add(ta1);
        jf.add(jb);
        jf.add(ta2);
        jf.add(ta3);
        jf.add(ta4);
        jf.add(ta5);

        jf.setSize(300, 300);
        jf.setLayout(null);
        jf.setVisible(true);

    }

    public static void main(String[] args) {

        new MyCal();

    }

    @Override
    public void actionPerformed(ActionEvent e) {

        ta3.setText("Hello");
    }

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-04
    • 1970-01-01
    • 1970-01-01
    • 2022-10-12
    • 2020-04-23
    • 1970-01-01
    • 2020-03-15
    • 1970-01-01
    相关资源
    最近更新 更多