イベントの開始時にJava Swingのボタンクリックイベントにローダーアイコンを表示したいのですが、イベントが終了したらローダーを消す必要があります。
これを達成する方法は?現在、私はこのようなことをしています。
package swing;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class LoaderDisplay {
public static void main(String[] args) {
final JFrame frame = new JFrame();
JPanel panel = new JPanel();
JButton button1 = new JButton();
ImageIcon loading = new ImageIcon("loading_icon.gif");
final JLabel label = new JLabel("Loading... ", loading, JLabel.CENTER);
label.setVisible(false);
frame.add(panel);
panel.add(button1);
panel.add(label);
frame.setVisible(true);
button1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
// event start
label.setVisible(true);
// some operation
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
// event end
label.setVisible(false);
}
});
}
}
ヘルプはありますか?