标签与关闭按钮JavaFX

时间:2014-09-03 18:09:02

标签: java javafx

是否可以使用关闭按钮创建标签(不可编辑的文本字段)?

点击按钮,标签应消失。

2 个答案:

答案 0 :(得分:1)

创建一个按钮并触发哪个标签不可见:

Button moveBut = new Button("Hide Label"); 
moveBut.setOnAction(new EventHandler<actionevent>() {

 @Override 
 public void handle(ActionEvent arg0) {  

     labelName.setVisible(false);

                                      } 

   });

以下是Link,其中显示了如何使用Labels布局隐藏/取消隐藏BorderPane来自不同地区。

答案 1 :(得分:1)

Joey的回答是有效的,但请注意,您可以将按钮用作标签的图形,将其嵌入标签中:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ContentDisplay;
import javafx.scene.control.Label;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;

public class LabelWithCloseButton extends Application {

    @Override
    public void start(Stage primaryStage) {
        Button closeButton = new Button("X");

        // In real life, use an external style sheet rather than inline styles: 
        // I did it this way for brevity 
        closeButton.setStyle("-fx-font-size: 6pt; -fx-text-fill:red;");

        Label label = new Label("Click the button to close");
        label.setGraphic(closeButton);
        label.setContentDisplay(ContentDisplay.RIGHT);

        HBox root = new HBox(label);
        closeButton.setOnAction(event -> root.getChildren().remove(label));

        Scene scene = new Scene(root, 250, 150);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

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