2012-03-25 10 views
17

मैं जावाएफएक्स destop एप्लिकेशन बना रहा हूँ। मैं डिफ़ॉल्ट विंडोज़ सीमा को हटाना चाहता हूं और मैं न्यूनतम, अधिकतम और बंद करने के 3 मानक आइकन को कस्टमाइज़ करना चाहता हूं।जावाएफएक्स प्राथमिक स्तर विंडोज़ सीमाओं को हटा दें?

दिखता है या इस प्रकार के कस्टमाइज़ेशन की मूल प्रेरणा नई कैसपर्सकी 2012 उपयोगकर्ता इंटरफ़ेस है .... मैं ऐसा ही कुछ डिजाइन करने के लिए चाहते हैं ... :)

+1

प्रश्न वास्तव में मूल प्रश्न होने पर डुप्लिकेट के रूप में चिह्नित करना कितना अनौपचारिक है। – Haggra

+0

यदि आप अपनी खुद की खिड़की तैयार करते हैं तो कृपया बहुत रूढ़िवादी बनें और प्रत्येक मूल मंच के डिजाइन में कुछ हद तक चिपकने का प्रयास करें। यह इसे पेंच करने के लिए अविश्वसनीय रूप से आसान है और इसे एक सस्ता चीज की तरह दिखता है। – RecursiveExceptionException

उत्तर

29

यह उदाहरण एक अच्छा प्रारंभिक बिंदु हो सकता है। सभी खिड़की की सजावट हटा दी गई है। मानक विंडो संचालन के लिए कस्टम बटन रखने के लिए HBox का विस्तार करने वाली कक्षा का उपयोग किया जा सकता है।

package javafxdemo; 

import javafx.application.Application; 
import javafx.application.Platform; 
import javafx.event.ActionEvent; 
import javafx.event.EventHandler; 
import javafx.scene.Scene; 
import javafx.scene.control.Button; 
import javafx.scene.control.ToolBar; 
import javafx.scene.layout.BorderPane; 
import javafx.scene.layout.HBox; 
import javafx.stage.Stage; 
import javafx.stage.StageStyle; 

public class JavaDemo extends Application { 

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

    class WindowButtons extends HBox { 

     public WindowButtons() { 
      Button closeBtn = new Button("X"); 

      closeBtn.setOnAction(new EventHandler<ActionEvent>() { 

       @Override 
       public void handle(ActionEvent actionEvent) { 
        Platform.exit(); 
       } 
      }); 

      this.getChildren().add(closeBtn); 
     } 
    } 

    @Override 
    public void start(Stage primaryStage) { 
     //remove window decoration 
     primaryStage.initStyle(StageStyle.UNDECORATED); 

     BorderPane borderPane = new BorderPane(); 
     borderPane.setStyle("-fx-background-color: green;"); 

     ToolBar toolBar = new ToolBar(); 

     int height = 25; 
     toolBar.setPrefHeight(height); 
     toolBar.setMinHeight(height); 
     toolBar.setMaxHeight(height); 
     toolBar.getItems().add(new WindowButtons()); 

     borderPane.setTop(toolBar); 

     primaryStage.setScene(new Scene(borderPane, 300, 250)); 
     primaryStage.show(); 
    } 
} 

आप JavaFX Samples भी डाउनलोड कर सकते हैं जहां आप कई और उपयोगी उदाहरण पा सकते हैं।

+0

उपर्युक्त उदाहरण के लिए धन्यवाद .. – dhroove

+1

ग्रेट उत्तर। +1! लेकिन क्या होगा यदि कोई स्क्रीन के चारों ओर खिड़की को स्थानांतरित करने में सक्षम होना चाहता था? – 735Tesla

+2

कभी भी मुझे यह जवाब नहीं मिला: http://stackoverflow.com/questions/11780115/moving-an-undecorated-stage-in-javafx-2 – 735Tesla

संबंधित मुद्दे