给我一些.jdesktop.swingx 拓展Worker的使用示例。
user
这里是使用 `javax.swing.SwingWorker` 的一个简单示例，用于在 GUI 程序中执行后台任务，同时更新用户界面：

```java
import javax.swing.*;
import java.awt.*;

public class SwingWorkerExample extends JFrame {
    private JLabel statusLabel;

    public SwingWorkerExample() {
        statusLabel = new JLabel("初始化中...");
        add(statusLabel, BorderLayout.CENTER);
        Button startButton = new JButton("开始任务");
        startButton.addActionListener(e -> startTask());
        add(startButton, BorderLayout.SOUTH);
        setSize(300, 150);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null); // 窗口居中
    }

    private void startTask() {
        statusLabel.setText("任务进行中...");
        SwingWorker<Void, Integer> worker = new SwingWorker<Void, Integer>() {
            @Override
            protected Void doInBackground() throws Exception {
                for (int i = 1; i <= 100; i++) {
                    Thread.sleep(50); // 模拟耗时操作
                    publish(i); // 更新进度
                }
                return null;
            }

            @Override
            protected void process(java.util.List<Integer> chunks) {
                int progress = chunks.get(chunks.size() - 1); // 取最后一个进度值
                statusLabel.setText("进度: " + progress + "%");
            }

            @Override
            protected void done() {
                statusLabel.setText("任务完成");
            }
        };
        worker.execute();
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {
            JFrame frame = new SwingWorkerExample();
            frame.setVisible(true);
        });
    }
}
```

这段代码展示了一个简单的 Java Swing 程序，通过 `SwingWorker` 在后台执行一个模拟的任务，同时更新界面上的标签来显示任务的进度。您可以根据实际需要调整 `doInBackground` 方法中的内容来处理不同的后台任务。
assistant