der Code erstellt unten ein Raster, das mit Schaltflächen bestückt ist. Ich würde gerne wissen, wie man eine Methode hinzufügen kann, die eine andere Gitterbox mit Zahlen auffüllt. Wenn die Nummer in der zweiten Popup-Grid-Box ausgewählt wird, ändert sich die Beschriftung der ursprünglichen Schaltfläche, auf die geklickt wurde. Im folgenden Beispiel klickt jemand auf den Button mit dem Text "1". Ein Raster erscheint mit den Tasten 1 bis 5. Taste 5 wird angeklickt. Die Popup-Grid-Box verschwindet und die Schaltfläche mit dem Text "1" wird jetzt auf "5" geändert.Wie erstellt man eine Popup-Box mit JavaFX
import javafx.application.*;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.stage.*;
import javafx.scene.*;
import javafx.scene.layout.*;
import javafx.scene.paint.Color;
import javafx.scene.paint.Paint;
import javafx.scene.control.*;
import javafx.scene.input.MouseEvent;
public class GUI extends Application {
public static void main(String[] args) {
Application.launch(args);
}
@Override public void start(Stage primaryStage)
{
final int HGAP = 2;
final int VGAP = 2;
final int BUTTONSIZE = 50;
final int INSET = 5;
final int SIZE = 4;
GridPane root = new GridPane();
root.setPadding(new Insets(INSET));
root.setHgap(HGAP);
root.setVgap(VGAP);
root.setAlignment(Pos.CENTER);
final Button[][] btn = new Button[SIZE][SIZE];
final Paint background = Color.TURQUOISE;
int index = 0;
for (int theCol = 0; theCol < SIZE; theCol++) {
for (int theRow = 0; theRow < SIZE; theRow++) {
btn[theRow][theCol] = new Button(""+ index);
btn[theRow][theCol].setPrefSize(BUTTONSIZE, BUTTONSIZE);
root.add(btn[theRow][theCol], theRow, theCol);
index++;
btn[theRow][theCol].setOnMouseClicked(new EventHandler<MouseEvent>()
{
@Override
public void handle(MouseEvent arg0)
{
Button b= (Button)arg0.getSource();
System.out.println(b.getText());
}
});
}
}
Scene scene = new Scene(root,background);
primaryStage.setTitle("Grid");
primaryStage.setScene(scene);
primaryStage.show();
}
}
Ich denke, hier ist erklärt: http://StackOverflow.com/Questions/12717969/javafx-2-custom-popup-pane – DVarga
Ich denke, einige der Links dort waren temporäre Links, die die Codebeispiele in ihnen hatten – StonedRanger