私はJAVAを初めて使い慣れていますが、適切なタイミングで見えて消えるようにする適切な方法を見つけるようです。基本的には、コードをトリガーするボタンがあります。このコードは、実行に数分かかる場合があります。この間、私はアニメーションの砂時計ガラスを表示し、終了時に消滅させたいと考えています。Jlabelはクリック直後に表示され、コードがJavaで実行された後に消えます。Javaのローダーのように、クリック操作後のイベントシーケンス
基本的に、砂時計のガラスはジュラベルの内側にあり、最初は目に見えないように設定されています。 アクションイベントでJbuttonをクリックしたときに、最初に表示するように設定すると、50個のifステートメントとcmdに書き込んで出力を取得するいくつかの関数のようになります。それが終わったら、もう一度目に見えないように書きます。唯一の問題は、コードの進捗状況がプログレスローダーとして使用するという全目的を破って終了した後にのみ表示されることです。誰もこの効果を達成する方法を知っていますか?ここで コードです:
//The JLabel
JLabel lblLoading = new JLabel("Loading");
lblLoading.setIcon(new ImageIcon("hourglass.gif"));
lblLoading.setBounds(407, 274, 132, 74);
lblLoading.setVisible(false);
// The Button Code
btnCheckUpdates.setIcon(new ImageIcon("image/checkicon.png"));
btnCheckUpdates.setBounds(216, 361, 148, 34);
frame.getContentPane().add(btnCheckUpdates);
// the action event on click
btnCheckUpdates.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
//I set visible to true in the begening
lblLoading.setVisible(true);
// Here goes like 50 if statements
// call to function which writes to cmd.exe then returns info
// info is checked (like another 50 if statements)
// call to cmd function again
// Now after all the code is written i try to make it invisible again
lblLoading.setVisible(false);
}
});
私はおそらくすべてで何かがどのように機能するかを理解していないよ確信しています。なぜこれが起こっているのか、それを正しく動作させる方法や、それが動作しているように見せかけるためのシンプルなトリックを使うのは誰にも分かりませんか? どんな助力も大変ありがとうございます!
ありがとうございました。試してみます... – Alex