栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

打开jdialog后更新jlabel文本

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

打开jdialog后更新jlabel文本

为了使您

SwingWorker
能够进行后台工作,您需要调用
SwingWorker#execute()
方法。如果您不添加它,那么…它将不知道何时开始工作。就像其他任何变量一样:

JLabel label = new JLabel("Hello world");

但是,如果您从未将其添加

label
到任何内容(或未
ActionListener
添加到
JButton
),则将永远不会添加/执行该内容。

worker.execute();

在构造函数内部或您希望其开始工作的任何地方。


根据@MadProgrammer的评论:

请记住,

SwingWorker
可以返回数据,因此
Boolean
可以
String
使用方法实例字段返回,而不是返回,而是可以
get
done
方法中返回并使用它来获取工作程序的返回值,该方法更安全,更实用。

他指的是这样更改您的工人的代码:

SwingWorker worker = new SwingWorker<Boolean, Void>() {    @Override    public String doInBackground() {        return "<html><center>Lecture X : " + ticketDAO.getLectureX() + "</center></html>";    }    @Override    public void done() {        lectureXlabel.setText(get());        lectureXlabel.revalidate();        lectureXlabel.repaint();        componentsPanel.revalidate();        componentsPanel.repaint();        getContentPane().revalidate();        getContentPane().repaint();    }};


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/419623.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号