package fx;
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.ComboBox;
import javafx.scene.control.ContentDisplay;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.image.ImageView;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class Exercise16_15 extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
Label label = new Label("image", new ImageView("img/card_K.png")); //标签
String[] position = {"LEFT", "RIGHT", "TOP", "BOTTOM", "CENTER"}; //位置数组
ComboBox<String> contentDisplay = new ComboBox<>(FXCollections.observableArrayList(position)); //内容展示
contentDisplay.setOnAction(event -> { //复选框注册动作事件
String value = contentDisplay.getItems().get(contentDisplay.getItems().indexOf(contentDisplay.getValue()));
switch (value) {
case "TOP": label.setContentDisplay(ContentDisplay.TOP); break;
case "RIGHT": label.setContentDisplay(ContentDisplay.RIGHT); break;
case "BOTTOM": label.setContentDisplay(ContentDisplay.BOTTOM); break;
case "LEFT": label.setContentDisplay(ContentDisplay.LEFT); break;
case "CENTER": label.setContentDisplay(ContentDisplay.CENTER); break;
default:
}
});
TextField graphicTextGap = new TextField(); //结点文本间距
graphicTextGap.setPrefColumnCount(5); //设置列数
graphicTextGap.setOnAction(event -> {
try {
label.setGraphicTextGap(Double.parseDouble(graphicTextGap.getText()));
} catch (Exception ex) {
}
});
HBox hBox = new HBox(10, new Label("contentDisplay:"), contentDisplay, new Label("graphicTextGap:"), graphicTextGap);
hBox.setAlignment(Pos.CENTER);
BorderPane pane = new BorderPane(new StackPane(label));
pane.setTop(hBox);
pane.setPadding(new Insets(5));
pane.getCenter().setStyle("-fx-pref-height: 200px;");
Scene scene = new Scene(pane);
primaryStage.setScene(scene);
primaryStage.setTitle("Exercise16_15");
primaryStage.show();
}
}