sách gpt4 ai đã đi

java - 实现 SwingWorker

In lại 作者:行者123 更新时间:2023-11-29 06:03:07 25 4
mua khóa gpt4 Nike

想做一个小的textEditor。它将包含两个文本区域,一个用于输入文本,一个用于错误显示。据我了解,SwingWorker 在后台工作,因此不会延迟 UI 更新。为了检查,我写了下面的代码并插入了 5000 行并尝试输入,我认为随着行的增加,textEditor2 中的更新变得非常缓慢。代码中swingworker的实现是否正确?

textEditor1和textEditor2都是JTextarea

 private void editorKeyPressed(java.awt.event.KeyEvent evt) {

SwingWorker worker = new SwingWorker() {
String text = null;

@Ghi đè
protected Void doInBackground() throws Exception {
text = textEditor1.getText().toString();
trả về giá trị null;
}

@Ghi đè
protected void done() {
thử {
get();
textEditor2.setText(text);
} catch (Exception ex) {
System.out.println(ex);
}
}
};

worker.execute();
}

1 Câu trả lời

每次按下键时您都在生成工作线程,我想这就是您看到性能下降的原因。

您仍然需要管理正在执行的线程数以保持 UI 响应能力。如果您希望您的后台任务始终运行,请设置您自己的线程并使用并发包中的一个类来简化事件线程的数据传递(例如 ArrayBlockingQueue).

关于java - 实现 SwingWorker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9403118/

25 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com