2015-10-22 3 views
0

Je suis en train de mettre le rembourrage pour mon GridPane, mais chaque fois que je mets le rembourrage il me donne le message d'erreur:java fx gridpane setpadding

incompatible types: java.awt.Insets cannot be converted to javafx.geometry.insets 

Chaque site je vais et tous les états de recherche pour mettre en œuvre comme ceci:

grid.setPadding(new Insets(10, 10, 10, 10)); 

Et dans mon code je l'ai mis exactement le même que pour les tests:

grid.setPadding(new Insets(10, 10, 10, 10)); 

Donc, je ne comprends pas pourquoi cela ne me permettra pas d'écrire cela, j'ai aussi essayé de rechercher le message d'erreur mais rien ne se présente.

Voici mon code:

/* 
* To change this license header, choose License Headers in Project Properties. 
* To change this template file, choose Tools | Templates 
* and open the template in the editor. 
*/ 
package myrectangle2d; 

import java.awt.Insets; 
import javafx.application.Application; 
import javafx.event.ActionEvent; 

import javafx.event.EventHandler; 
import javafx.scene.Scene; 
import javafx.scene.control.Button; 
import javafx.scene.control.Label; 
import javafx.scene.control.TextField; 
import javafx.scene.layout.BorderPane; 
import javafx.scene.layout.GridPane; 
import javafx.scene.layout.HBox; 
import javafx.scene.layout.StackPane; 
import javafx.stage.Stage; 

/** 
* 
* @author macuser 
*/ 
public class Exercise18_29 extends Application { 

    Stage window; 
    Label label1, label2, centerXL, centerXR; 
    TextField textCenterXL, textCenterXR; 

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


    @Override 
    public void start(Stage primaryStage) { 

     window = primaryStage; 
     window.setTitle("Triangles"); 



     GridPane grid = new GridPane(); 
     grid.setPadding(new Insets(10, 10, 10, 10)); 

     label1 = new Label("Do the Triangles match"); 
     GridPane.setConstraints(label1, 0, 0); 


     label2 = new Label("Yes or no"); 
     GridPane.setConstraints(label2, 1, 0); 


     centerXL = new Label("Center X LEFT"); 
     GridPane.setConstraints(centerXL, 0, 5); 

     textCenterXL = new TextField(); 
     GridPane.setConstraints(textCenterXL, 1, 5); 


     centerXR = new Label("Center X RIGHT"); 
     GridPane.setConstraints(centerXL, 0, 5); 

     textCenterXR = new TextField(); 
     GridPane.setConstraints(textCenterXR, 3, 5); 

     grid.getChildren().addAll(label1, label2, centerXL, textCenterXL, centerXR, textCenterXR); 

     Scene scene = new Scene(grid, 400, 600); 


     window.setScene(scene); 



     window.show(); 

    } 




} 

Répondre

5

Le message d'erreur vous indique tout ce que vous devez savoir:

types incompatibles: java.awt.Insets ne peuvent pas être convertis en javafx.geometry.insets

vous avez importé java.awt.Insets: (première ligne d'importation dans votre code) dont vous avez besoin javafx.geometry.Insets.

+0

@ James_D - Merci, cela a fait l'affaire. Je suis encore nouveau à l'apprentissage de Java, donc je n'ai pas entièrement compris cette erreur. – rissandimo

+0

je reçois la même erreur mais pour moi si je le change en javafx.geometry.Insets il donne une erreur et me demande de le changer en java.awt.Insets, si j'utilise java.awt.Insets les Insets à l'intérieur du setPadding doesn Ne fonctionne pas, je le change en geometry.Insets le code ne fonctionne pas ... des pensées? – SebastianZdroana

+0

Cela ressemble à une question différente. Utilisez-vous AWT/Swing ainsi que JavaFX? C'est à dire. avez-vous besoin des deux classes 'Insets' pour une raison quelconque? –