所以,我有一个名为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
}
如果你能提供帮助,那就太好了,谢谢!
答案 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));
}
}