如何改进此对话框

时间:2013-06-07 16:08:58

标签: javafx-2 javafx javafx-8

我有一个简单的对话框,在关闭应用程序时会调用它。

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.text.Text;
import javafx.stage.Stage;

public class test extends Application
{

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

    @Override
    public void start(Stage primaryStage)
    {

        // Image
        Image image = new Image("http://docs.oracle.com/javafx/"
                + "javafx/images/javafx-documentation.png");
        ImageView imageView = new ImageView();
        imageView.setImage(image);

        // Text
        Text t = new Text();
        t.setText("This is a text sample");

        // Buttons
        Button btnYes = new Button("Yes");
        Button btnNo = new Button("No");

        // Buttons layout
        HBox hbox = new HBox(8); // spacing = 8
        hbox.setStyle("-fx-padding: 15; -fx-font-size: 15pt;");
        hbox.getChildren().addAll(btnYes, btnNo);
        hbox.setAlignment(Pos.BASELINE_RIGHT);

        ////////////////////////

        BorderPane bp = new BorderPane();
        bp.setPadding(new Insets(10, 20, 10, 20));
        //Button btnTop = new Button("Top");
        bp.setTop(null);
        //Button btnLeft = new Button("Left");
        bp.setLeft(imageView);
        //Button btnCenter = new Button("Center");
        bp.setCenter(t);
        //Button btnRight = new Button("Right");
        bp.setRight(null);
        //Button btnBottom = new Button("Bottom");
        bp.setBottom(hbox);
        Scene scene = new Scene(bp, 500, 200);
        primaryStage.setScene(scene);
        primaryStage.show();
    }
}

到目前为止看起来像这样:

enter image description here

我想让它看起来像这样:

enter image description here

您能帮助我改进按钮的视觉布局吗?我不知道如何使这个按钮看起来像示例以及如何设置背景颜色渐变。

2 个答案:

答案 0 :(得分:2)

第二个对话框显示Modena JavaFX样式,该样式在Java 8中是默认的,可以在之前的Java 8版本中启用,如here所示。

setUserAgentStylesheet(STYLESHEET_MODENA);

答案 1 :(得分:1)

你试过MonologFX吗?它是JFXtras包的一部分。它将为您提供您想要的大部分内容,您可以按照here所述设置按钮的样式。