2017-06-30 39 views
0
package javafx_jfxtras_monologfx; 

import javafx.application.Application; 
import javafx.scene.control.Button; 
import javafx.scene.layout.StackPane; 
import javafx.scene.Scene; 
import javafx.stage.Stage; 
import javafx.event.EventHandler; 
import javafx.event.ActionEvent; 
import jfxtras.labs.dialogs.MonologFX; 
import jfxtras.labs.dialogs.MonologFXButton; 
import jfxtras.labs.dialogs.MonologFX.Type; 

public class JavaFX_JFXtras_MonologFX extends Application 
{ 
    @Override 
    public void start(Stage stage) 
    { 
     MonologFX m = new MonologFX(); 
     m.setModal(true); 
     m.setType(Type.QUESTION); 
     m.setTitleText("JFXtras MonologFX"); 
     m.setMessage("Do you want to continue?"); 
     m.setPos(698, 450); 

     MonologFXButton mb1 = new MonologFXButton(); 
     mb1.setType(MonologFXButton.Type.YES); 
     mb1.setLabel("Continue"); 
     m.addButton(mb1); 

     MonologFXButton mb2 = new MonologFXButton(); 
     mb2.setType(MonologFXButton.Type.NO); 
     mb2.setLabel("Exit"); 
     m.addButton(mb2); 

     Button btn = new Button(); 
     btn.setText("Click the Button"); 
     btn.setOnAction(new EventHandler<ActionEvent>() 
     { 
      @Override 
      public void handle(ActionEvent event) 
      { 
       System.out.println("Hello :)"); 
      } 
     }); 

     StackPane root = new StackPane(); 
     root.getChildren().add(btn); 

     Scene scene = new Scene(root, 300, 250); 

     stage.setTitle("JavaFX - JFXtras MonologFX"); 
     stage.setScene(scene); 
     stage.show(); 

     m.show(); 
    } 


    public static void main(String[] args) 
    { 
     launch(args); 
    } 
} 

我正在測試JFXtras(v8.0-r5)的MonologFX,但我被卡住了!JFXtras MonologFX - 如何檢測被按下的按鈕

任何人都可以告訴我如何檢查用戶按下的對話框中的按鈕是什麼?我嘗試了很多方法,但都沒有運氣。

非常感謝。

+0

我想你需要問那些智能在* [email protected]*! MonologFXButton類不包含允許添加/刪除'EventHandler'的方法!從我這裏得到一些建議,當你遇到這種不完整/模糊的項目時,就放手吧。您可以使用原始的'JavaFX'創建自定義/時尚的對話,儘管這是一個很好的做法! – Yahya

+0

不完整和模糊的項目?好吧,謝謝。 – tbeernot

回答

0

但實驗室中的控件是實驗性的,馬克在很長一段時間裏都沒有在這方面工作。我們不會把它們拿出來,因爲有人可能會使用它們,但是從版本8u40開始,JavaFX本身就有一個對話框。 https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/Dialog.html|

+1

我想感謝您的快速解答。但是,讓我問一件事。爲什麼沒有任何一種方法來使用EventHandlers?好的,我會看看JavaFX對話框。非常感謝。 –

+0

正如JFXtras網站上所解釋的那樣;在實驗室中的一切都是實驗性的,操場,不穩定的......例如:現在我在擺弄OverflowHBox。我可能會決定放棄它,因爲我不喜歡它的發展方向,或者完成它,並將其轉移到JFXtras中,以進行更正式的發佈。所以使用實驗室中的任何東西完全不受支持。馬克可能會放棄它,因爲不管。 – tbeernot