2014-06-09 2 views

Répondre

0

Le code suivant montre comment utiliser FXMLLoader pour transformer une chaîne en certains objets FXML. Ensuite, l'habituel GetChildren(). Add (XX) peut être utilisé pour assigner à n'importe où vous avez besoin.

Robert

package ic.ac.uk.relationshipvisualiser.app; 

import java.io.ByteArrayInputStream; 
import java.io.InputStream; 

import javafx.application.Application; 
import javafx.fxml.FXMLLoader; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.stage.Stage; 

public class tmpTest extends Application { 

    public static void main(String[] args) { 
     System.out.println("Start tmpTest"); 
     launch(args); 
     System.out.println("Start tmpTest"); 
    } 

    final Group m_root = new Group(); 

    @Override 
    public void start(Stage primaryStage) throws Exception { 
     String sample_fxml = 
       "<?import javafx.scene.control.Label?>" + 
       "<?import javafx.scene.Group?>" + 
       "<Group xmlns:fx=\"http://javafx.com/fxml\">" + 
       "  <Label fx:id=\"Name\" style=\"-fx-font-weight: bold;\" alignment=\"CENTER\">It worked</Label>" +   
       "</Group>"; 

     InputStream stream = new ByteArrayInputStream(sample_fxml.getBytes("UTF-8")); 
     FXMLLoader l = new FXMLLoader(); 

     Group mG = (Group) l.load(stream); 

     m_root.getChildren().add(mG); 

     primaryStage.setScene(new Scene(m_root)); 

     primaryStage.show(); 

    } 

} 
+0

regardez cette image je veux ajouter fxml scrollpane [link] (http://i.stack.imgur.com/DiPnk.p ng) – user3717821

+0

pas au démarrage pendant l'exécution ou dans toute fonction exécutée après le démarrage – user3717821

+0

J'essayais de montrer comment charger une chaîne dans un ensemble d'objets FXML. Dans l'exemple, je l'ai fait au démarrage mais exactement le même code peut être placé dans n'importe quel événement. Vous voudrez également le modifier pour lire la chaîne du fichier FXML réel. – Robert3452

0

Suite à ma réponse précédente pour montrer la lecture d'un fichier: d'abord créer un fichier c: \ test.fxml contenant:

<?import javafx.scene.control.Label?> 
<?import javafx.scene.Group?> 
<Group xmlns:fx="http://javafx.com/fxml"> 
<Label fx:id="Name" style="-fx-font-weight: bold;" alignment="CENTER">It worked</Label>  
</Group> 

Suivant En utilisant le code suivant:

package ic.ac.uk.relationshipvisualiser.app; 

import java.io.FileInputStream; 
import java.io.InputStream; 

import javafx.application.Application; 
import javafx.fxml.FXMLLoader; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.stage.Stage; 

public class tmpTest extends Application { 

    public static void main(String[] args) { 
     System.out.println("Start tmpTest"); 
     launch(args); 
     System.out.println("Start tmpTest"); 
    } 
    final Group m_root = new Group(); 

    @Override 
    public void start(Stage primaryStage) throws Exception { 
     InputStream stream = new FileInputStream("c:\\test.fxml"); 
     FXMLLoader l = new FXMLLoader(); 
     Group mG = (Group) l.load(stream); 

     m_root.getChildren().add(mG); 
     primaryStage.setScene(new Scene(m_root)); 
     primaryStage.show(); 
    } 
} 
+0

Merci pour les codes – user3717821

Questions connexes