jPanel按钮在java中触发另一个类

时间:2014-05-11 12:00:46

标签: java button jpanel

所以,我有一个名为Math的类,它运行一小段代码,另一个名为GUI的类,它包含一个按钮和一个文本框。我需要按下按钮运行Math类。

在数学课上:

public class Math {

 public static int com;

 public static void main (String[] args) {
     com = GUI.num1 * GUI.num2;
     GUI.TextBox3.setText(com);
    }
}

在GUI类中(顺便说一下,它是jPanel):

public class GUI extends javax.swing.JFrame {
public static int num1;
public static int num2;

public GUI() {
    initComponents();
}
private void Button1ActionPerformed(java.awt.event.ActionEvent evt) {                                      
      num1 = Integer.parseInt(TextBox1.getText());
      num1 = Integer.parseInt(TexBox2.getText());
      Math.main (Sring[] );//This is the part the doesn't work

}      

如果你能提供帮助,那就太好了,谢谢!

3 个答案:

答案 0 :(得分:0)

你最好不要打电话给你的班级Math,因为java已经有一个这样的类,它可能会产生一些冲突。

你的错误是什么?

查看您的代码,不了解您的Math类如何访问您的GUI,这是所有代码吗?

您最好将Math.main(...)替换为:

private void Button1ActionPerformed(java.awt.event.ActionEvent evt) {                                      
    num1 = Integer.parseInt(TextBox1.getText());
    num2 = Integer.parseInt(TexBox2.getText());
    TextBox3.setText(String.valueOf(num1 * num2));
}

编辑,修正错误

答案 1 :(得分:0)

class MyClass {

     public static int com;
     public static void Method()
       {
       com = GUI.num1 * GUI.num2;
       GUI.TextBox3.setText(""+com);
       }

    }

private void Button1ActionPerformed(java.awt.event.ActionEvent evt) {        
          num1 = Integer.parseInt(TextBox1.getText());
          num2 = Integer.parseInt(TexBox2.getText());
          MyClass.Method();
    } 

这样会更方便。

这里

 GUI.TextBox3.setText(com);

TextBox3也需要是静态的。

注意:您甚至不需要计算类直接计算

TextBox3.setText(""+(num1*num2));

答案 2 :(得分:0)

这是一个更合适的答案

public class MyMath {

 public static int com;

 public int squareIt(int a, int b) {
     com = a * b;
     return com; // return a*b;
    }
}

这会让你的生活变得更轻松,你可以像这样修改你的前端(GUI):

public class GUI extends javax.swing.JFrame {
public static int num1;
public static int num2;

public GUI() {
    initComponents();
}
private void Button1ActionPerformed(java.awt.event.ActionEvent evt) {                                      
      num1 = Integer.parseInt(TextBox1.getText());
      num2 = Integer.parseInt(TexBox2.getText());
      TextBox3.setText(""+new MyMath().squareIt(num1,num2));

}  
}