Package javafx.scene.layout

Examples of javafx.scene.layout.HBox


        Button tbBack = new Button();
        AquaFx.createButtonStyler().setIcon(MacOSDefaultIcons.LEFT).setType(ButtonType.LEFT_PILL).style(tbBack);
        Button tbForward = new Button();
        tbForward.setDisable(true);
        AquaFx.createButtonStyler().setIcon(MacOSDefaultIcons.RIGHT).setType(ButtonType.RIGHT_PILL).style(tbForward);
        HBox separator = new HBox();
        separator.setPrefSize(15, 1);
        Button btnAll = new Button("Alle einblenden");
        HBox separator2 = new HBox();
        separator2.setPrefSize(279, 1);
        TextField search = new TextField();
        AquaFx.createTextFieldStyler().setType(TextFieldType.SEARCH).style(search);
        toolBar.getItems().addAll(tbBack, tbForward, separator, btnAll, separator2, search);

        pane.setTop(toolBar);

        /*
         * TabPane for Content
         */
        TabPane contentTabPane = new TabPane();
        contentTabPane.setPadding(new Insets(25, 15, 15, 15));
        Tab tabDate = new Tab();
        tabDate.setText("Datum & Uhrzeit");
        contentTabPane.getTabs().add(tabDate);
        Tab tabTimezone = new Tab();
        tabTimezone.setText("Zeitzone");
        contentTabPane.getTabs().add(tabTimezone);
        Tab tabClock = new Tab();
        tabClock.setText("Uhr");

        /*
         * The ClockSettings-Content
         */
        GridPane grid = new GridPane();
        grid.setHgap(5);
        grid.setVgap(5);
        grid.setPadding(new Insets(25, 30, 0, 60));

        CheckBox box1 = new CheckBox("Datum und Uhrzeit in der Men\u00FCleiste anzeigen");
        box1.setSelected(true);
        grid.add(box1, 0, 0, 3, 1);

        Label labelTime = new Label("Zeitoptionen:");
        ToggleGroup group = new ToggleGroup();
        RadioButton radioButtonDigital = new RadioButton("Digital");
        radioButtonDigital.setToggleGroup(group);
        radioButtonDigital.setSelected(true);
        RadioButton radioButtonAnalog = new RadioButton("Analog");
        radioButtonAnalog.setToggleGroup(group);
        grid.addRow(2, labelTime, radioButtonDigital, radioButtonAnalog);
        GridPane.setHalignment(labelTime, HPos.RIGHT);
        GridPane.setMargin(radioButtonAnalog, new Insets(0, 0, 0, 20));

        CheckBox box2 = new CheckBox("Uhrzeit mit Sekunden anzeigen");
        grid.add(box2, 1, 3, 2, 1);
        CheckBox box3 = new CheckBox("Blinkende Trennzeichen");
        grid.add(box3, 1, 4, 2, 1);
        CheckBox box4 = new CheckBox("24 Stunden verwenden");
        box4.setSelected(true);
        grid.add(box4, 1, 5, 2, 1);
        CheckBox box5 = new CheckBox("Uhrzeit mit Suffix anzeigen");
        box5.setDisable(true);
        grid.add(box5, 1, 6, 2, 1);

        Label labelDate = new Label("Datumsoptionen:");
        grid.add(labelDate, 0, 8);
        GridPane.setHalignment(labelDate, HPos.RIGHT);
        GridPane.setMargin(labelDate, new Insets(0, 0, 0, 40));
        CheckBox box6 = new CheckBox("Wochentag anzeigen");
        box6.setSelected(true);
        grid.add(box6, 1, 8, 2, 1);
        CheckBox box7 = new CheckBox("Datum anzeigen");
        grid.add(box7, 1, 9, 2, 1);

        HBox hbox = new HBox();
        hbox.setSpacing(5);
        hbox.setAlignment(Pos.CENTER_LEFT);
        CheckBox box8 = new CheckBox("Zeit vorlesen:");
        ChoiceBox<String> choices = new ChoiceBox<String>(FXCollections.observableArrayList("Zur vollen Stunde",
                "Zur halben Stunde", "Zur Viertelstunde"));
        choices.setDisable(true);
        choices.getSelectionModel().selectFirst();
        Button abjustVoice = new Button();
        abjustVoice.setText("Stimme anpassen ...");
        abjustVoice.setDisable(true);
        hbox.getChildren().addAll(box8, choices, abjustVoice);
        grid.add(hbox, 0, 14, 4, 1);

        tabClock.setContent(grid);
        /*
         * Content finished.. add it to Tab
         */
        contentTabPane.getTabs().add(tabClock);
        contentTabPane.getSelectionModel().select(tabClock);
        pane.setCenter(contentTabPane);

        /*
         * Footer
         */
        HBox footerBox = new HBox();
        footerBox.setSpacing(5);
        footerBox.setAlignment(Pos.BOTTOM_LEFT);
        Image image = new Image(AquaFx.class.getResource("demo/images/lock_open.png").toExternalForm());
        ImageView lockView = new ImageView(image);
        lockView.setPreserveRatio(true);
        lockView.setFitHeight(36);
        footerBox.getChildren().add(lockView);
        Label info = new Label("Zum Sch\u00FCtzen auf das Schloss klicken.");
        info.setStyle("-fx-font-size: 12");
        info.setPadding(new Insets(0, 0, 3, 0));
        footerBox.getChildren().add(info);

        AnchorPane anchorpane = new AnchorPane();
        Button helpBtn = new Button("?");
        AquaFx.createButtonStyler().setType(ButtonType.HELP).style(helpBtn);
        anchorpane.getChildren().addAll(footerBox, helpBtn);
View Full Code Here


        AquaFx.createButtonStyler().setIcon(MacOSDefaultIcons.LEFT).setType(ButtonType.LEFT_PILL).style(tbBack);
        Button tbForward = new Button();
        tbForward.setDisable(true);
        AquaFx.createButtonStyler().setIcon(MacOSDefaultIcons.RIGHT).setType(ButtonType.RIGHT_PILL).style(tbForward);
       
        HBox separator = new HBox();
        separator.setPrefSize(15, 1);
        Button btnAll = new Button("Alle einblenden");
        HBox separator2 = new HBox();
        separator2.setPrefSize(15, 1);
        Button share = new Button();
        share.setDisable(true);
        AquaFx.createButtonStyler().setIcon(MacOSDefaultIcons.SHARE).style(share);
       
       
View Full Code Here

            new Person("Jane", "Doe", "jane.doe@example.com", "jane.d@foo.com", false));

    @Override public void start(Stage primaryStage) throws Exception {
        BorderPane pane = new BorderPane();

        HBox tableContainer = new HBox();
        tableContainer.setPadding(new Insets(20));
        TableView<Person> table = new TableView<Person>();
        // table.setPrefHeight(100);
        // table.setPrefWidth(250);
        table.setEditable(true);
        // table.getSelectionModel().setCellSelectionEnabled(true) ;

        TableColumn<Person, String> firstNameCol = new TableColumn<Person, String>("First Name");
        // firstNameCol.setMinWidth(100);
        firstNameCol.setCellValueFactory(new PropertyValueFactory<Person, String>("firstName"));
        TableColumn lastNameCol = new TableColumn("Last Name");
        lastNameCol.setEditable(true);
        lastNameCol.setCellFactory(TextFieldTableCell.forTableColumn());
        lastNameCol.setOnEditCommit(new EventHandler<CellEditEvent<Person, String>>() {
            @Override public void handle(CellEditEvent<Person, String> t) {
                ((Person) t.getTableView().getItems().get(t.getTablePosition().getRow())).setLastName(t.getNewValue());
            }
        });
        lastNameCol.setCellValueFactory(new PropertyValueFactory<Person, String>("lastName"));
        // TableColumn emailCol = new TableColumn("Email");
        TableColumn<Person, String> firstEmailCol = new TableColumn<Person, String>("Primary");
        firstEmailCol.setMinWidth(200);
        firstEmailCol.setCellValueFactory(new PropertyValueFactory<Person, String>("primaryEmail"));
        TableColumn<Person, String> secondEmailCol = new TableColumn<Person, String>("Secondary");
        secondEmailCol.setMinWidth(200);
        secondEmailCol.setCellValueFactory(new PropertyValueFactory<Person, String>("secondaryEmail"));
        // emailCol.getColumns().addAll(firstEmailCol, secondEmailCol);
        TableColumn<Person, Boolean> vipCol = new TableColumn<Person, Boolean>("VIP");
        vipCol.setEditable(true);
        vipCol.setCellFactory(CheckBoxTableCell.forTableColumn(vipCol));
        final Callback<TableColumn<Person, Boolean>, TableCell<Person, Boolean>> cellFactory = CheckBoxTableCell.forTableColumn(vipCol);

        vipCol.setCellFactory(new Callback<TableColumn<Person, Boolean>, TableCell<Person, Boolean>>() {
            @Override public TableCell<Person, Boolean> call(TableColumn<Person, Boolean> column) {
                TableCell<Person, Boolean> cell = cellFactory.call(column);
                return cell;
            }
        });
        vipCol.setOnEditCommit(new EventHandler<CellEditEvent<Person, Boolean>>() {
            @Override public void handle(CellEditEvent<Person, Boolean> t) {
                ((Person) t.getTableView().getItems().get(t.getTablePosition().getRow())).setVip(t.getNewValue());
            }
        });
        table.getColumns().addAll(firstNameCol, lastNameCol, firstEmailCol, secondEmailCol, vipCol);
        table.setItems(data);
        table.setTableMenuButtonVisible(false);
        tableContainer.getChildren().add(table);

        pane.setCenter(tableContainer);
        pane.setStyle("-fx-background-color: white;");
        Scene scene = new Scene(pane);
        AquaFx.style();
View Full Code Here

            new Person("Jane", "Doe", "jane.doe@example.com", "jane.d@foo.com", false));

    @Override public void start(Stage primaryStage) throws Exception {
        BorderPane pane = new BorderPane();

        HBox treeContainer = new HBox();
        treeContainer.setPadding(new Insets(10));
        TreeItem<String> rootItem = new TreeItem<String>("People");
        rootItem.setExpanded(true);
        for (Person person : data) {
            TreeItem<String> personLeaf = new TreeItem<String>(person.getFirstName());
            boolean found = false;
            for (TreeItem<String> statusNode : rootItem.getChildren()) {
                if (statusNode.getValue().equals((!person.getVip() ? "no " : "") + "VIP")) {
                    statusNode.getChildren().add(personLeaf);
                    found = true;
                    break;
                }
            }
            if (!found) {
                TreeItem<String> statusNode = new TreeItem<String>((!person.getVip() ? "no " : "") + "VIP");
                rootItem.getChildren().add(statusNode);
                statusNode.getChildren().add(personLeaf);
            }
        }
        TreeView<String> tree = new TreeView<String>(rootItem);
        tree.setPrefHeight(150);
        tree.setPrefWidth(150);
        treeContainer.getChildren().add(tree);

        pane.setCenter(treeContainer);
        pane.setStyle("-fx-background-color: white;");
        Scene scene = new Scene(pane);
        AquaFx.style();
View Full Code Here

import com.aquafx_project.AquaFx;

public class SplitPaneSample extends Application {

    @Override public void start(Stage stage) {
        HBox hbox = new HBox();
        hbox.setSpacing(10);
        hbox.setPadding(new Insets(20));

        SplitPane splitPane1 = new SplitPane();
        splitPane1.setOrientation(Orientation.VERTICAL);
        splitPane1.setPrefSize(200, 200);
        final Label l1 = new Label("Top Label");
        final Label r1 = new Label("Bottom Label");
        splitPane1.getItems().addAll(l1, r1);

        SplitPane splitPane2 = new SplitPane();
        splitPane2.setOrientation(Orientation.HORIZONTAL);
        splitPane2.setPrefSize(400, 200);
        final Label c2 = new Label("Center Label");
        final Label r2 = new Label("Right Label");
        splitPane2.getItems().addAll(splitPane1, c2, r2);
        hbox.getChildren().add(splitPane2);

        Scene scene = new Scene(hbox);
        stage.setScene(scene);
        AquaFx.style();
View Full Code Here

        AquaFx.styleStage(stage, StageStyle.UNIFIED);
        stage.setScene(scene);
        stage.setTitle("AquaFX Controls");
        BorderPane pane = new BorderPane();
       
      HBox hbox = new HBox();
      hbox.setSpacing(5);
      hbox.setPadding(new Insets(15));
      hbox.setAlignment(Pos.CENTER);
        /*
         * Different Control-sizes
         */
        Label labelb5 = new Label("regular:");
        hbox.getChildren().add(labelb5);
       
        Button b5 = new Button("Button");
        AquaFx.resizeControl(b5, ControlSizeVariant.REGULAR);
        hbox.getChildren().add(b5);
       
        ToggleButton tb5 = new ToggleButton("ToggleButton");
        AquaFx.resizeControl(tb5, ControlSizeVariant.REGULAR);
        hbox.getChildren().add(tb5);
       
        CheckBox cb5 = new CheckBox("CheckBox");
        cb5.setIndeterminate(true);
        AquaFx.resizeControl(cb5, ControlSizeVariant.REGULAR);
        hbox.getChildren().add(cb5);

        RadioButton rb5 = new RadioButton("RadioButton");
        AquaFx.resizeControl(rb5, ControlSizeVariant.REGULAR);
        hbox.getChildren().add(rb5);

        TextField tf5 = new TextField("TextField");
        AquaFx.resizeControl(tf5, ControlSizeVariant.REGULAR);
        hbox.getChildren().add(tf5);

        ComboBox<String> ecombo5 = new ComboBox<String>();
        ecombo5.setItems(items);
        ecombo5.setEditable(true);
        ecombo5.setPromptText("select");
        AquaFx.resizeControl(ecombo5, ControlSizeVariant.REGULAR);
        hbox.getChildren().add(ecombo5);
       
        ComboBox<String> combo5 = new ComboBox<String>();
        combo5.setItems(items);
        combo5.setPromptText("select");
        AquaFx.resizeControl(combo5, ControlSizeVariant.REGULAR);
        hbox.getChildren().add(combo5);
       
        ChoiceBox<String> choice5 = new ChoiceBox<String>();
        choice5.setItems(items);
        choice5.getSelectionModel().selectFirst();
        AquaFx.resizeControl(choice5, ControlSizeVariant.REGULAR);
        hbox.getChildren().add(choice5);
       
        Slider slider5 = new Slider(0, 50, 20);
        slider5.setShowTickLabels(true);
        slider5.setShowTickMarks(true);
        slider5.setMajorTickUnit(25);
        slider5.setMinorTickCount(4);
        hbox.getChildren().add(slider5);
       
       
        pane.setCenter(hbox);
        scene.setRoot(pane);
View Full Code Here

        Button tbBack = new Button();
        AquaFx.createButtonStyler().setIcon(MacOSDefaultIcons.LEFT).setType(ButtonType.LEFT_PILL).style(tbBack);
        Button tbForward = new Button();
        tbForward.setDisable(true);
        AquaFx.createButtonStyler().setIcon(MacOSDefaultIcons.RIGHT).setType(ButtonType.RIGHT_PILL).style(tbForward);
        HBox separator = new HBox();
        separator.setPrefSize(15, 1);
        Button btnAll = new Button("Alle einblenden");
        HBox separator2 = new HBox();
        separator2.setPrefSize(279, 1);
        TextField search = new TextField();
        AquaFx.createTextFieldStyler().setType(TextFieldType.SEARCH).style(search);
        toolBar.getItems().addAll(tbBack, tbForward, separator, btnAll, separator2, search);

        mainBox.getChildren().add(toolBar);
        /*
         * The top content
         */
        HBox header = new HBox();
        header.setSpacing(5);
        header.setPadding(new Insets(20, 0, 5, 0));
        header.setAlignment(Pos.CENTER);
        Label labelSurrounding = new Label("Umgebung:");
        ChoiceBox<Object> choices = new ChoiceBox<Object>();
        choices.setItems(FXCollections.observableArrayList("Automatisch", new Separator(), "Umgebungen bearbeiten ..."));
        choices.getSelectionModel().selectFirst();
        header.getChildren().addAll(labelSurrounding, choices);
        mainBox.getChildren().add(header);

        /*
         * The left-side content
         */
        HBox content = new HBox();
        content.setPadding(new Insets(10, 15, 10, 20));
        content.setSpacing(10);

        ListView<String> list = new ListView<String>();
        ObservableList<String> listItems = FXCollections.observableArrayList("WLAN", "Bluetooth-PAN");
        list.setItems(listItems);
        list.setPrefWidth(200);

        // Create a CellFactory for ListCells
        list.setCellFactory(new Callback<ListView<String>, ListCell<String>>() {
            @Override public ListCell<String> call(ListView<String> list) {
                return new NetworkCell();
            }
        });

        content.getChildren().add(list);

        /*
         * The right-side content
         */
        GridPane grid = new GridPane();
        // grid.setGridLinesVisible(true);
        grid.setHgap(10);
        grid.setVgap(10);
        grid.setPadding(new Insets(18, 5, 8, 15));
        AquaFx.setGroupBox(grid);

        Label labelStatus = new Label("Status:");
        GridPane.setHalignment(labelStatus, HPos.RIGHT);
        grid.add(labelStatus, 0, 0, 2, 1);
        Label labelConnected = new Label("Verbunden");
        labelConnected.setStyle("-fx-font-weight: bold;");
        grid.add(labelConnected, 2, 0);
        Button btnDisableWlan = new Button("WLAN deaktivieren");
        GridPane.setHalignment(btnDisableWlan, HPos.RIGHT);
        grid.add(btnDisableWlan, 3, 0);
        Label labelCurrent = new Label("\"WLAN\" ist mit \"PrettyFlyForAWiFi\" verbunden und \n hat die IP-Adresse 192.168.0.104.");
        labelCurrent.setStyle("-fx-font-size: 11");
        grid.add(labelCurrent, 2, 2, 3, 1);
        Label labelNetworkName = new Label("Netzwerkname:");
        GridPane.setHalignment(labelNetworkName, HPos.RIGHT);
        grid.add(labelNetworkName, 0, 3);
        ChoiceBox<Object> choicesNetwork = new ChoiceBox<Object>();
        choicesNetwork.setItems(FXCollections.observableArrayList("PrettyFlyForAWiFi", new Separator(),
                "Mit anderem Netzwerk verbinden ...", "Netzwerk anlegen"));
        choicesNetwork.getSelectionModel().select(2);
        GridPane.setHalignment(choicesNetwork, HPos.RIGHT);
        GridPane.getHgrow(choicesNetwork);
        grid.add(choicesNetwork, 1, 3, 3, 1);
        CheckBox checkShowNew = new CheckBox("Auf neue Netzwerke hinweisen");
        checkShowNew.setSelected(true);
        grid.add(checkShowNew, 1, 4, 3, 1);
        Label labelExplanation = new Label("Bekannte Netzwerke wewrden automatisch verbunden. \n" + "Falls kein bekanntes Netzwerk vorhanden ist, werden \n" + "Sie vor dem Verbinden mit einem neuen Netzwerk \n" + "gefragt.");
        labelExplanation.setStyle("-fx-font-size: 10");
        grid.add(labelExplanation, 1, 5, 3, 1);
        VBox spacer = new VBox();
        spacer.setPrefHeight(140);
        spacer.setPrefWidth(200);
        grid.add(spacer, 3, 6);
        CheckBox chekShowState = new CheckBox("WLAN-Status in der \n" + "Men\u00FCleiste anzeigen");
        chekShowState.setSelected(true);
        GridPane.setValignment(chekShowState, VPos.TOP);
        grid.add(chekShowState, 0, 7, 2, 1);
        Button btmMore = new Button("Weitere Optionen ...");
        GridPane.setHalignment(btmMore, HPos.RIGHT);
        GridPane.setValignment(btmMore, VPos.BOTTOM);
        grid.add(btmMore, 2, 7, 2, 1);
        Button helpBtn = new Button("?");
        AquaFx.createButtonStyler().setType(ButtonType.HELP).style(helpBtn);
        GridPane.setValignment(helpBtn, VPos.BOTTOM);
        GridPane.setHalignment(helpBtn, HPos.RIGHT);
        grid.add(helpBtn, 4, 7);

        content.getChildren().add(grid);
        mainBox.getChildren().add(content);

        /*
         * Footer
         */
        HBox footerBox = new HBox();
        footerBox.setSpacing(5);
        footerBox.setAlignment(Pos.BOTTOM_LEFT);
        footerBox.setPadding(new Insets(0, 0, 5, 15));
        Image image = new Image(AquaFx.class.getResource("demo/images/lock_open.png").toExternalForm());
        ImageView lockView = new ImageView(image);
        lockView.setPreserveRatio(true);
        lockView.setFitHeight(36);
        footerBox.getChildren().add(lockView);
        Label info = new Label("Zum Sch\u00FCtzen auf das Schloss klicken.");
        info.setStyle("-fx-font-size: 12");
        info.setPadding(new Insets(0, 0, 3, 0));
        footerBox.getChildren().add(info);
        mainBox.getChildren().add(footerBox);

        HBox anchorButtons = new HBox();
        anchorButtons.setPadding(new Insets(0, 15, 0, 0));
        anchorButtons.setSpacing(15);
        anchorButtons.setAlignment(Pos.BOTTOM_RIGHT);
        Button btnAssis = new Button("Assistent ...");
        anchorButtons.getChildren().add(btnAssis);
        Button btnRev = new Button("Zur\u00FCcksetzen");
        btnRev.setDisable(true);
        anchorButtons.getChildren().add(btnRev);
        Button btnUse = new Button("Anwenden");
        btnUse.setDisable(true);
        anchorButtons.getChildren().add(btnUse);
        mainBox.getChildren().add(anchorButtons);

        /*
         * MenuBar
         */
 
View Full Code Here

    static class NetworkCell extends ListCell<String> {
        @Override protected void updateItem(String item, boolean empty) {
            super.updateItem(item, empty);
            if (item != null) {

                HBox cellBox = new HBox();
                cellBox.setAlignment(Pos.CENTER_LEFT);
                cellBox.setSpacing(5);
                cellBox.setPadding(new Insets(2, 5, 3, 2));
                ImageView dotImage;
                VBox texts = new VBox();
                texts.setPrefWidth(95);
                texts.setAlignment(Pos.CENTER_LEFT);
                final Label type = new Label(item);
                final Label legend = new Label(item);
                legend.setStyle("-fx-font-size: 11; -fx-text-fill: gray;");
                ImageView typeImage;

                if (item.equals("WLAN")) {
                    dotImage = new ImageView(NsImageIconLoader.load(NsImageIcon.STATUS_AVAILABLE));
                    legend.setText("Verbunden");
                    Image img = new Image(AquaFx.class.getResource("demo/images/wifi.png").toExternalForm());
                    typeImage = new ImageView(img);
                    typeImage.setPreserveRatio(true);
                    typeImage.setFitHeight(32);
                } else {
                    dotImage = new ImageView(NsImageIconLoader.load(NsImageIcon.STATUS_PARTIALLY_AVAILABLE));
                    legend.setText("Keine IP-Adresse");
                    Image img = new Image(AquaFx.class.getResource("demo/images/bluetooth.png").toExternalForm());
                    typeImage = new ImageView(img);
                    typeImage.setPreserveRatio(true);
                    typeImage.setFitHeight(32);
                }

                cellBox.getChildren().add(dotImage);
                texts.getChildren().add(type);
                texts.getChildren().add(legend);
                cellBox.getChildren().add(texts);
                cellBox.getChildren().add(typeImage);

                setGraphic(cellBox);

                selectedProperty().addListener(new ChangeListener<Boolean>() {
View Full Code Here

                                ".jpg");
                        }
              }
        });
       
        HBox hbox = new HBox(10);
        hbox.setPadding(new Insets(20, 0, 0, 20));
        hbox.getChildren().setAll(gridTitlePane, accordion);
        Group root = (Group)scene.getRoot();
        root.getChildren().add(hbox);
        scene.setFill(Color.rgb(237, 237, 237));
        stage.setScene(scene);
View Full Code Here

        checkBox.setAllowIndeterminate(false);
        vbox.getChildren().add(checkBox);

        borderPane.setCenter(vbox);

        HBox hbox = new HBox();
        hbox.setAlignment(Pos.CENTER_RIGHT);
        hbox.setPadding(new Insets(19));
        hbox.setSpacing(12);

        Button cancel = new Button();
        cancel.setText("Abbrechen");
        cancel.setCancelButton(true);
        hbox.getChildren().add(cancel);

        Button off = new Button();
        off.setText("Ausschalten");
        off.setDefaultButton(true);
        hbox.getChildren().add(off);

        borderPane.setBottom(hbox);

        Scene myScene = new Scene(borderPane, 470, 172);
        AquaFx.style();
View Full Code Here

TOP

Related Classes of javafx.scene.layout.HBox

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.