如何从JFrame切换到java类?

时间:2014-11-29 06:02:38

标签: java swing oop jframe

我一直试图弄清楚如何从JFrame转到我的java类。

到目前为止,这是我的代码:(它只打开main..which是JFrame)

Process process = Runtime.getRuntime().exec("cmd.exe /c start java -jar \C:\Users\Admin\Documents\NetBeansProjects\Program\dist\Program.jar");
BufferedReader input = new BufferedReader(new InputStreamReader(process.getInputStream()));

主要用于类,使我可以轻松地使用setvislble()作为框架,但现在我需要它向后,主要是现在的JFrame。我需要知道如何打开类文件。 (如果有人知道如何切换除了使用CMD之外会很棒!)

我尝试过使用此功能加上其他变体的组合,但它不会起作用。

java -cp "C:\Users\Admin\Documents\NetBeansProjects\Program\dist\Program.jar class"

1 个答案:

答案 0 :(得分:3)

  

JFrame按钮,如果我的理解正确,则不能很好地处理无限循环。

这个想法不是要阻止EDT,但是在Swing中肯定会有正确的方法重复一个动作(除非另有说明),以及执行长时间运行任务的方法。以下是我通常给出的一些建议:

  

不要阻止EDT(事件调度线程)。 GUI将会冻结'当发生这种情况时有关详细信息和修复,请参阅Concurrency in Swing

但回到手头的事情......

  

..让用户在GUI中输入信息,然后将该信息发送到文本文件中。该类读取文本文件,获取信息并执行其操作..

好的,这是10种不同的错误。

我们假设GUI名为GUI.class,另一个名为Worker.class

Worker.class

这个类可能有一个no-args构造函数以及一个接受InputStream的构造函数(对于文本文件,如果最终需要的话)。

Worker类可能有一个main(String[]),用于创建Worker对象的实例。它可能使用:

  1. InputStream的{​​{1}}构造函数,用于配置完成工作所需的字段。
  2. Worker实例的无参数构造函数,然后使用 setter方法进行配置。 (可能会提示用户通过命令行提供信息。)
  3. Worker完成后,请致电main实例上的execute()并为结果调用 getter methods ,然后将结果写入{{ 1}}。

    Worker

    GUI还可以使用System.out实例。它可能会使用no-args变体,然后将setter方法绑定到GUI中的输入控件。一旦用户单击 Execute 按钮,GUI.class该过程,然后查询getter方法以向用户显示结果(仍在GUI中)。