2017-06-30 3 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); 
    } 
} 

Je testais le MonologFX à partir de JFXtras (v8.0-r5), mais je suis resté coincé avec!JFXtras MonologFX - Comment détecter quel bouton a été enfoncé

Quelqu'un peut-il me dire comment vérifier quel était le bouton dans la boîte de dialogue qui a été pressée par l'utilisateur? J'ai essayé de plusieurs façons, mais pas de chance du tout.

Merci beaucoup.

+0

Je pense que vous devez demander à ceux intelligents à *[email protected]*! La classe 'MonologFXButton' ne contient aucune de ces méthodes qui permettent d'ajouter/supprimer' EventHandler'! Un petit conseil de ma part, quand vous rencontrez des projets aussi incomplets/vagues, laissez-le. Vous pouvez créer des dialogues personnalisés/élégants en utilisant le 'JavaFX' d'origine mais c'est une bonne pratique! – Yahya

+0

Projets incomplets et vagues? Bien merci. – tbeernot

Répondre

0

Mais les contrôles dans les laboratoires sont expérimentaux et Mark n'a pas travaillé sur celui-ci depuis longtemps. Nous ne les sortons pas parce que quelqu'un peut les utiliser, mais à partir de la version 8u40 JavaFX a une boîte de dialogue elle-même. https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/Dialog.html|

+1

Je veux vous remercier pour vos réponses rapides. Mais, laissez-moi demander une chose. Pourquoi n'a-t-on pas créé de méthode pour travailler avec EventHandlers? Ok, je vais jeter un oeil dans les boîtes de dialogue JavaFX. Merci beaucoup. –

+0

Comme expliqué sur le site web de JFXtras; tout dans les laboratoires est expérimental, terrain de jeu, instable, ... Par exemple: en ce moment je joue avec OverflowHBox. Je peux décider de l'abandonner parce que je n'aime pas où il va, ou le finir et le déplacer dans JFXtras commun pour une version plus formelle. Donc, en utilisant quelque chose de laboratoires est totalement non pris en charge. Mark l'a probablement abandonné parce que peu importe. – tbeernot