Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Quartz明细表上的Swing textarea中插入文本_Java_Swing_Quartz Scheduler_Jtextarea - Fatal编程技术网

Java 在Quartz明细表上的Swing textarea中插入文本

Java 在Quartz明细表上的Swing textarea中插入文本,java,swing,quartz-scheduler,jtextarea,Java,Swing,Quartz Scheduler,Jtextarea,我有点糊涂,搞不懂这个。我已经为我的GUI类创建了一个方法,该方法将文本插入文本区域: public void setMyTextArea(String s) { this.myTextArea.insert(s,0); } 接下来,我想用quartz scheduler安排一个作业,但我想在文本区域显示某些数据。但是在我的工作中,我没有Gui的实例,所以我不能使用上面的方法,因为它不是静态方法。我不能使它成为静态的,因为myTextArea是一个不能是静态的字段 如何将

我有点糊涂,搞不懂这个。我已经为我的GUI类创建了一个方法,该方法将文本插入文本区域:

 public void setMyTextArea(String s) {
         this.myTextArea.insert(s,0);
 }
接下来,我想用quartz scheduler安排一个作业,但我想在文本区域显示某些数据。但是在我的工作中,我没有Gui的实例,所以我不能使用上面的方法,因为它不是静态方法。我不能使它成为静态的,因为
myTextArea
是一个不能是静态的字段

如何将Gui实例传递给作业?例如,我目前正在使用
.usingJobData
传递数据,但我只看到传递布尔、浮点、整数、字符串、双精度,即标准类型的选项。我错过什么了吗?我可以用
.usingJobData
传递对象吗

我的计划是将Gui实例传递给作业,然后让实例使用方法
setMyTextArea() 我假设您的GUI(例如,
JFrame
实例)已创建并可见。你可以用
java.awt.Window
方法

public static Window[] getWindows()

获取已创建窗口的完整列表。反复浏览列表并找到所需的列表。然后将其传递给作业。

没有使用JobData
方法的
将接受对象引用

相反,您需要使用with
put(字符串键,对象值)

然后,您可以使用
作业生成器上的
使用jobdata(JobDataMap newJobDataMap)
设置此
映射

是一个不能是静态的字段

实际上它可以是静态场,为什么不呢


顺便说一句:gui上的所有更新必须在EDT线程中完成,请使用SwingUtilities.invokeLater从其他线程对gui执行更改

是。作业可以传递给任何对象以在作业运行时使用

我可以用.usingJobData传递对象吗

JobDataMap可以接受“Object”类型的值。
因此,您始终可以创建一个映射,在其中放入一些必需的值并将其传递给您的作业。

以前从未使用过Quartz Scheduler,但这行不是您要查找的吗
Scheduler.scheduleJob(作业,触发器),取自文档页面,如果您滚动到所述页面的最底部,则此操作有效。非常感谢。这与
getFrames()
之间有什么区别吗?事实上没有大的区别。我使用了更常见的方法,因为我不知道它可以扩展的GUI类,例如Window