gpt4 book ai didi

Java GUI Netbeans,在另一个包中的类的文本区域中显示输出

转载 作者:行者123 更新时间:2023-12-01 05:25:14 25 4
gpt4 key购买 nike

我需要在netbeans的java swing GUI测试区域显示我在标准java编程(在Main clas中)中编译的计算结果,但我总是遇到问题。我敢打赌问题是因为我要打印的字符串在 GUI 类中不可用,这是我在 swing 中的代码部分

private void predictActionPerformed(java.awt.event.ActionEvent evt) {                                        

TextArea1.setText(Engine.Print.printresult(toarray));
//JOptionPane.showMessageDialog(null,Engine.Print.printresult(toarray));
// TextArea1.setText(Retrieving.main(args));
}

这是包 Engine、Class Print、方法 printresult 中的代码,String[]printresult 是从另一个类传递的,它可以在没有 GUI 的情况下直接运行:

 public static void printresult(String[]toarray){
for(int a=0; a<toarray.length;a++){
System.out.println(toarray[a]);
}

确实需要帮助。谢谢

最佳答案

您声明:

Actualy I need to display the value of my calculation of my console in swing Text area since this program need to be visualized using GUI, i think it is impossible to just copy all my code into GUI since it contains several class instead, so I only need to send the result into GUI swing textarea but I have no idea what to do. Can anyone tell me how to do that since this way is not working.

您首先需要做的是重写计算代码。你没有向我们展示任何这段代码,这使得我们无法猜测它在做什么或做错了什么,但我怀疑它会进行计算并将其打印到控制台,这对于 GUI 不起作用。
我建议您对非 GUI 计算代码执行以下操作:

  • 同样,首先也是最重要的是,重写您的计算代码,使其成为正确的 OOP 类
  • 它应该包括私有(private)实例字段、至少一个构造函数和允许向此类传递信息的公共(public)方法,以及从类中提取结果的方法,尽管有些方法会同时执行这两种操作。这些代码都不会涉及到控制台的 println ,除非这是出于调试目的,并且这些行将在最终的“生产”代码中被删除。
  • 上述一个或多个类将成为您的“模型”或 GUI 背后的大脑。
  • 它应该没有(或非常有限)关于 GUI 的知识(它应该是 GUI“不可知论者”)并且编写得足够灵活,以便它可以被 Swing GUI、控制台程序或您可以使用的任何其他用户界面使用想想。
  • 如果您想变得更奇特,可以为您的模型提供一个 PropertyChangeSupport 对象,以便 GUI 可以“监听”模型的更改并响应这些更改。

我建议您对 GUI 显示代码执行以下操作:

  • 这将是您的“ View ”模型,它的编写也必须符合面向对象编程的原则。
  • 为 View 提供我们上面描述的模型的实例字段。换句话说,您的 View 将在其内部保存一个模型对象。
  • 让 View Controller 或监听器与模型交互。例如,如果按下 JButton,则使其 ActionListener 通知模型(通过调用适当的方法)该按钮已被按下。如果模型需要来自 GUI 的信息(例如 JTextFields 中保存的文本),则 ActionListener 将提取该文本,然后使用方法参数将信息传递到模型中。
  • 将 GUI 注册为模型的“监听器”(可能使用 PropertyChangeListener),这样它就可以响应模型状态的变化。

这些建议非常通用,因此可能不会像您或我希望的那样对您有帮助,但鉴于我们对您的问题了解的信息有限,这是必要的。如需更具体的帮助,请向我们提供有关您的问题和代码的更具体和详细的​​信息。

关于Java GUI Netbeans,在另一个包中的类的文本区域中显示输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9780728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com