機能の実行中に進行状況バーを表示したい。それを表示する最善の方法は何ですか?基本的には、ワンクリックで複数のメールを送信するプログラムを構築しています。メールを送信している間、私は進行中のバーを表示してメールを送信します。javafx:プロセスの進行状況を示すプログレスバー?
-1
A
答えて
1
この場合の最適な解決策はTask
です。
例:
Task<Parent> yourTaskName = new Task<Parent>() {
@Override
public Parent call() {
// DO YOUR WORK
//method to set progress
updateProgress(workDone, max);
//method to set labeltext
updateMessage(message);
}
};
//ProgressBar
ProgressBar pBar = new ProgressBar();
//Load Value from Task
pBar.progressProperty().bind(yourTaskName.progressProperty());
//New Loading Label
Label statusLabel = new Label();
//Get Text
statusLabel.setText("Loading...");
//Layout
VBox root = new VBox(statusLabel, pBar);
//SetFill Width TRUE
root.setFillWidth(true);
//Center Items
root.setAlignment(Pos.CENTER);
//SetOnSucceeded methode
yourTaskName.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(WorkerStateEvent event) {
System.out.println("Finish");
}
});
//Start Thread
Thread loadingThread = new Thread(yourTaskName);
loadingThread.start();
希望これはあなたを助けます。
P.S:Threadとして実行するタスクのコード...
0
ちょうど使用javafx.scene.control.ProgressBar
ドキュメント:私はあなたが実行されている送信する際に、コードのこの部分を試しprogressIndicatorやプログレスバーを表示したい場合は、最後の時間が欲しいものを実装し http://docs.oracle.com/javafx/2/ui_controls/progress.htm
+3
少なくとも、*現在のドキュメントへのリンクを提供してください:http://docs.oracle.com/javase/8/javafx/user-interface-tutorial/progress.htm# CHDDJAJE –
0
senderThreadlive = new Thread(new Runnable() {
@Override
public void run() {
try {
Platform.runLater(new Runnable() {
@Override
public void run() {
ProgressIndicator WaitingSend=new ProgressIndicator();
WaitingSend.setProgress(ProgressIndicator.INDETERMINATE_PROGRESS);
WaitingBox.getChildren().add(WaitingSend);//this is an HBOX
SendMailButton.setDisable(true);
SendMailButton.setText("sending in progress");
}
});
//call Your method of sending
SimpleMail.EmailSender.sendEmail(MailSenderTxt.getText(), MotMailTxt.getText(), DestMailTxt.getText(), ObjetMailTxt.getText(), org.jsoup.Jsoup.parse(ContentMail.getHtmlText()).text());
Platform.runLater(new Runnable() {
@Override
public void run() {
WaitingSend.setProgress(0);
WaitingSend.setVisible(false);
SendMailButton.setDisable(false);
SendMailButton.setText("Send");
}
});
} catch (AuthenticationFailedException e) {
Platform.runLater(new Runnable() {
@Override
public void run() {
//Your popUp here
}
});
} catch (SendFailedException e) {
Platform.runLater(new Runnable() {
@Override
public void run() {
//Your popUp here
}
});
} catch (MessagingException e) {
Platform.runLater(new Runnable() {
@Override
public void run() {
//Your popUp here
}
});
} catch (Exception ex) {
Platform.runLater(new Runnable() {
@Override
public void run() {
//Your popUp here
}
});
}
}
});
senderThreadlive.start();
+0
コードは非常に扱いにくいです...もっと簡単な方法があります – Developer66
関連する問題
- 1. 進行状況を示すプログレスバー
- 2. 複数のajaxリクエストの進行状況を示すプログレスバー。出来ますか?
- 3. 進行状況のテキストを含む水平進行状況バー
- 4. プログレスバーでダウンロードの進行状況を表示する方法は? Visual Basic
- 5. javafxで進行状況インジケータを実行する方法
- 6. AsyncTaskを使用してファイルをダウンロードし、進行状況をプログレスバーに表示
- 7. Jquery UIプログレスバーに進捗状況が表示されない
- 8. Uiで進行状況を表示
- 9. Turbolinks 5:進行状況を表示Bar
- 10. プロセスの進行状況を確認する方法
- 11. SilverLightブラウザアプリケーションの長期保存プロセスの進捗状況を表示
- 12. JavaFXのサービスへの進行状況バーのバインド
- 13. JavaFX - タスクでも進行していない未確定の進行状況バー
- 14. javafx、テキストエリアに印刷中に進行状況バーを表示する方法
- 15. 進行状況のイベントを進行状況バーにリンクする方法
- 16. JavaFX - 進行状況のプロパティが機能しません。
- 17. wxPythonの進行状況バー
- 18. pandas.DataFrame.to_sqlの進行状況バー
- 19. Eclipseの進行状況
- 20. AVPlayerストリーミングの進行状況
- 21. アップロードの進行状況 - リクエスト
- 22. システムメディアプレーヤーの進行状況(UISlider)
- 23. カスタム進行状況のJNLP - 進行状況を表示する前にアプレットクラスを読み込みます。
- 24. プロセス中に進捗状況を表示したい
- 25. 複数のajax jsonpプロセスの進行状況
- 26. parSapplyと進行状況バー
- 27. マルチステップモーダル - 進行状況バー
- 28. ウェブサイトコンテンツロード、進行状況バー
- 29. 2つのプログレスバーのBackgroundworkerレポートの進捗状況
- 30. プログラムの実行中に完了の進行状況を表示
はあなたがまともな答えをしたい場合は、より多くの情報を提供する必要があります。 – pancho018
ようこそStackOverflowへ。このサイトの[ヘルプページ](https://stackoverflow.com/help)を閲覧するのに時間を費やすことをお勧めします。特に[質問する](https://stackoverflow.com/help/)のページをご覧ください。尋ねる)。このフォーラムは、*特定のプログラミングに関する質問*への回答を提供するように設計されており、通常、最良の質問には[MCVE]形式のコードが含まれています。ここに投稿する前に質問を調査し、問題解決の試みを示す例を作成する必要があります。あなたの現在の質問は実際には必須のステートメントなので、このフォーラムでは話題にはなりません。 –
@ Rishabh-Sharma私の答えはあなたのために働くのですか? https://stackoverflow.com/a/45867364/8087490。それがうまくいく場合は、私の答えを正しいものとして受け入れることができます。 – Developer66