我需要通过摆动中的一个单击按钮多次更改jlabel.text。在这段代码中,我需要将标签文本设置为在dowork()函数之前开始,并设置为进行中,然后将其设置为在dowork()之后结束(jlabel和dowork中的状态类型执行时间较长):
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
status.setText("start");
try {
Thread.sleep(10000);
} catch (InterruptedException ex) {
Logger.getLogger(PelakInRFID.class.getName()).log(Level.SEVERE, null, ex);
}
status.setText("in progress");
dowork();
try {
Thread.sleep(10000);
} catch (InterruptedException ex) {
Logger.getLogger(PelakInRFID.class.getName()).log(Level.SEVERE, null, ex);
}
status.setText("end");
}
在此代码状态下,仅设置为结束和开始不显示。
我将尝试使用SwingWorker
实例(尤其是其doInBackground
方法)在doWork
与主UI线程不同的线程上执行当前正在执行的操作。按照编写方式,您的侦听器方法势必会在执行期间冻结用户界面,正如您所说的那样,这可能会很长一段时间,从而导致不良的用户体验。
更改JLabel
文本可以在三个不同的地方进行:首先,在调用execute
(即开始)之前SwingWorker
;其次,使用publish
/
process
机制SwingWorker
在用户界面上发布中间结果;第三,在done
方法中,在方法SwingWorker
执行完毕后立即在UI线程上再次调用它doInBackground
。
参考资料:Oracle的有关工作线程SwingWorker
的教程以及该类的
JavaDoc API
文档SwingWorker
。
问题内容: 如何通过单击按钮时的Javascript 更改标签的属性值? 问题答案: 如果没有,则单击将重新加载当前页面,因此您需要执行以下操作: 或防止这样的滚动: 或在您的函数中: ....或者不打扰的方式:
当我单击一个按钮时,有没有一种方法可以更改TreeView的TreeItem的文本?我尝试执行oracle示例http://docs.oracle.com/javafx/2/uicontrols/tree-view.htm中所示的操作,但我不想通过单击TreeItem更改它,而是单击按钮。第二步,我想使用上下文菜单打开一个带有Textfield的窗口,在这里我可以手动插入文本以更改treeitem
问题内容: 我正在尝试使用Python和Selenium在LinkedIn上添加联系人。我试图通过在“网络”选项卡(https://www.linkedin.com/mynetwork)中添加LinkedIn提出的联系建议来实现此目的,该选项具有无限滚动功能。 基本上,我希望脚本找到每个建议的配置文件旁边的“连接”按钮,单击该按钮,然后重复执行直到出现错误为止,从而脚本应向下滚动以加载更多“连接”
问题内容: 当我在“更新”面板中使用“按钮”时,它不会触发点击事件,但在更新面板之外,它可以工作。 这是代码 按钮的代码是 问题答案: 试试这个 集到和附加在
下面是使用引导模板的单选按钮组的代码片段。但我试图做的是每次切换选项时更改单选按钮的类部分(即选中单选按钮时,标签类将为“btn btn primary”,如果未选中,标签类将为“btn btn default”)。有人知道如何做到这一点吗?
所以假设我有一个“开”和一个“关”按钮。当我按下打开按钮时,我希望打开按钮隐藏自己,关闭按钮显示出来,反之亦然。 一个人怎么能这么做?