2013-06-07 4 views
0

У меня есть этот простой диалог, который будет вызываться, когда приложение закрыто.Как улучшить это диалоговое окно

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

Можете ли вы помочь мне, как улучшить визуальная компоновка кнопки? Я не знаю, как сделать эти кнопки похожими на пример и как установить цвет фона.

+0

Использование SceneBuilder. См. [Кнопки стилизации FX с CSS] (http://fxexperience.com/2011/12/styling-fx-buttons-with-css/). –

+0

Вы скопировали изображение из ControlsFX, так как он является открытым исходным кодом, просто скопируйте код. –

ответ

1

Вы попробовали MonologFX? Это часть пакета JFXtras. Это даст вам большую часть того, что вы хотите, и вы можете навести кнопки, как описано here.

2

Во втором диалоговом окне показан стиль JavaFX Modena, который будет использоваться по умолчанию в Java 8 и может быть включен в предыдущих версиях Java 8, как показано на рисунке here.

setUserAgentStylesheet(STYLESHEET_MODENA); 
+1

Также второе диалоговое окно происходит из проекта ** [ControlsFX] (https://bitbucket.org/JonathanGiles/controlsfx) ** с открытым исходным кодом и может быть свободно использовано. Нет смысла изобретать колесо :) –