0
benim gibi aşağıda benim Salıncak ilerleme çubuğu sınıfı:JavaFX ProgressBar bir Salıncak İlerleme çubuğu dönüştürme
public class MyProgessBar extends JDialog implements Runnable {
/**
* @param string
*/
private JProgressBar progressBar;
private boolean cancelled=false;
public static void main(String[] args) throws InterruptedException{
MyProgessBar p = new MyProgessBar("Test");
new Thread(p).start();
for(int i=0;i<500;i++){
p.setMsg("Its "+i+"%");
p.setDone(i);
Thread.sleep(200);
}
p.dispose();
}
public MyProgessBar(String title) {
setTitle(title);
progressBar = new JProgressBar();
progressBar.setValue(0);
progressBar.setStringPainted(true);
progressBar.setIndeterminate(true);
add(progressBar);
setSize(400, 50);
setLocationRelativeTo(null);
setModal(true);
SwingUtilities.invokeLater(this);
}
/**
* @param string
*/
public void setTaskName(String string) {
progressBar.setString(string);
setTitle(string);
}
/**
* @param string
*/
public void setMsg(String string) {
progressBar.setString(string);
}
/**
* @param rows
*/
public void setDone(int rows) {
progressBar.setValue(rows);
}
/**
*
*/
public void taskFinished() {
setVisible(false);
dispose();
}
public void run() {
setVisible(true);
progressBar.setVisible(true);
}
protected void processWindowEvent(WindowEvent e) {
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
this.cancelled = true;
}
super.processWindowEvent(e);
}
public boolean isCancelled(){
return cancelled;
}
}
ve ben yöntemlerle benim ilerleme çubuğu
MyProgess bar = new MyProgess("Test");
bar.setMsg("Test");
tanımlanan arıyorum
Yukarıdaki sınıfı tamamen javafx'e dönüştürmenin bir yoluna ihtiyacım var. Ben bir acemi Java ve javafx alıyorum ve alabileceğim herhangi bir yardım için minnettarım.
Sizin salıncak kod aslında bozuldu: o Swing tek dişli kuralını ihlal eden bir arka plan iş parçacığı gelen UI günceller. Swing'de bu, programınızın temelde keyfi bir zamanda hata üretebileceği anlamına gelir. (Bkz. Bu [https://docs.oracle.com/javase/tutorial/uiswing/concurrency/index.html).] JavaFX'de, eşdeğer kural olan 'IllegalStateException' değerini ihlal eden birçok çağrı. Https://docs.oracle.com/javase/8/javafx/interoperability-tutorial/concurrency.htm sayfasına bakın. –