質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaFX

JavaFXとは、Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリです。Swingとは異なり、FXMLと呼ばれる XMLとCSSを併用してデザインを記述します。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

2996閲覧

ステータスバーを表示させることはできたが、実行させるとステータスバーが全体に表示されるので、縦幅を細くして、下側に表示させるには?

mr0237

総合スコア164

JavaFX

JavaFXとは、Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリです。Swingとは異なり、FXMLと呼ばれる XMLとCSSを併用してデザインを記述します。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2016/11/20 13:48

編集2016/11/20 13:50

JavaFXのcontrolsfxのライブラリ(http://fxexperience.com/controlsfx/)を使って、ステータスバーを表示させることはできましたが、実行させると以下のように全体に表示されます。↓

![イメージ説明

これを縦幅を細くして、下側に表示させるにはどうすればいいのでしょうか?

JAVAコードは以下の通りです。

JAVA

1 2package test1; 3 4import javafx.application.Application; 5import javafx.fxml.FXMLLoader; 6import javafx.geometry.Rectangle2D; 7import javafx.scene.Parent; 8import javafx.scene.Scene; 9import javafx.stage.Screen; 10import javafx.stage.Stage; 11import javafx.scene.control.Button; 12import org.controlsfx.control.StatusBar; 13 14 15public class Test1 extends Application { 16 17 @Override 18 public void start(Stage stage) throws Exception { 19 Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml")); 20 21 Scene scene = new Scene(root); 22 23 Rectangle2D primaryScreenBounds = Screen.getPrimary().getVisualBounds(); 24 25 26 /* 27 ステータスバーを表示 28 */ 29 StatusBar statusBar = new StatusBar(); 30 statusBar.getRightItems().add(new Button("Info")); 31 statusBar.setProgress(.5); 32 33 /* 34 画面を最大化 35 */ 36 stage.setX(primaryScreenBounds.getMinX()); 37 stage.setY(primaryScreenBounds.getMinY()); 38 stage.setWidth(primaryScreenBounds.getWidth()); 39 stage.setHeight(primaryScreenBounds.getHeight()); 40 stage.setMaximized(true);//画面を最大化に設定 41 stage.setScene(scene); 42 Scene scene1 = new Scene(statusBar); 43 stage.setScene(scene1); 44 45 46 47 /* 48 画面を表示 49 */ 50 stage.show(); 51 } 52 53 /** 54 * @param args the command line arguments 55 */ 56 public static void main(String[] args) { 57 launch(args); 58 } 59 60} 61

FXMLコードは以下の通りです。

FXML

1<?xml version="1.0" encoding="UTF-8"?> 2 3<?import javafx.scene.control.Button?> 4<?import javafx.scene.control.Menu?> 5<?import javafx.scene.control.MenuBar?> 6<?import javafx.scene.control.MenuItem?> 7<?import javafx.scene.control.ToolBar?> 8<?import javafx.scene.image.Image?> 9<?import javafx.scene.image.ImageView?> 10<?import javafx.scene.layout.AnchorPane?> 11<?import javafx.scene.layout.BorderPane?> 12<?import javafx.scene.layout.ColumnConstraints?> 13<?import javafx.scene.layout.GridPane?> 14<?import javafx.scene.layout.RowConstraints?> 15 16 17<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="724.0" prefWidth="1072.0" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1"> 18 <children> 19 <BorderPane layoutX="188.0" layoutY="58.0" prefHeight="400.0" prefWidth="786.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> 20 <top> 21 <GridPane prefHeight="77.0" prefWidth="1072.0" BorderPane.alignment="CENTER"> 22 <columnConstraints> 23 <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" /> 24 </columnConstraints> 25 <rowConstraints> 26 <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" /> 27 <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" /> 28 </rowConstraints> 29 <children> 30 <MenuBar> 31 <menus> 32 <Menu mnemonicParsing="false" text="File"> 33 <items> 34 <MenuItem mnemonicParsing="false" text="Close" /> 35 </items> 36 </Menu> 37 <Menu mnemonicParsing="false" text="Edit"> 38 <items> 39 <MenuItem mnemonicParsing="false" text="Delete" /> 40 </items> 41 </Menu> 42 <Menu mnemonicParsing="false" text="Help"> 43 <items> 44 <MenuItem mnemonicParsing="false" text="About" /> 45 </items> 46 </Menu> 47 </menus> 48 </MenuBar> 49 <ToolBar prefHeight="40.0" prefWidth="200.0" GridPane.rowIndex="1"> 50 <items> 51 <Button mnemonicParsing="false" prefHeight="31.0" prefWidth="36.0" stylesheets="@test.css"> 52 <graphic> 53 <ImageView pickOnBounds="true" preserveRatio="true"> 54 <image> 55 <Image url="@New_16x16.png" /> 56 </image> 57 </ImageView> 58 </graphic> 59 </Button> 60 </items> 61 </ToolBar> 62 </children> 63 </GridPane> 64 </top> 65 </BorderPane> 66 </children> 67</AnchorPane> 68

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

FXMLのほうでStatusBarの位置を指定するほうが簡単ですね。
今回は BoderPane の bottom に指定しました。

イメージ説明

Java

1package test1; 2 import javafx.application.Application; 3 import javafx.fxml.FXMLLoader; 4 import javafx.geometry.Rectangle2D; 5 import javafx.scene.Parent; 6 import javafx.scene.Scene; 7 import javafx.stage.Screen; 8 import javafx.stage.Stage; 9 import javafx.scene.control.Button; 10 import org.controlsfx.control.StatusBar; 11 12 public class Test1 extends Application { 13 14 @Override 15 public void start(Stage stage) throws Exception { 16 Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml")); 17 18 Scene scene = new Scene(root); 19 Rectangle2D primaryScreenBounds = Screen.getPrimary().getVisualBounds(); 20 21 stage.setX(primaryScreenBounds.getMinX()); 22 stage.setY(primaryScreenBounds.getMinY()); 23 stage.setWidth(primaryScreenBounds.getWidth()); 24 stage.setHeight(primaryScreenBounds.getHeight()); 25 stage.setMaximized(true);//画面を最大化に設定 26 stage.setScene(scene); 27 28 stage.show(); 29 } 30 31 /** 32 * @param args the command line arguments 33 */ 34 public static void main(String[] args) { 35 launch(args); 36 } 37 }

xml

1<?xml version="1.0" encoding="UTF-8"?> 2 3<?import javafx.scene.control.Button?> 4<?import javafx.scene.control.Menu?> 5<?import javafx.scene.control.MenuBar?> 6<?import javafx.scene.control.MenuItem?> 7<?import javafx.scene.control.ToolBar?> 8<?import javafx.scene.image.Image?> 9<?import javafx.scene.image.ImageView?> 10<?import javafx.scene.layout.AnchorPane?> 11<?import javafx.scene.layout.BorderPane?> 12<?import javafx.scene.layout.ColumnConstraints?> 13<?import javafx.scene.layout.GridPane?> 14<?import javafx.scene.layout.Pane?> 15<?import javafx.scene.layout.RowConstraints?> 16<?import org.controlsfx.control.StatusBar?> 17 18<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="724.0" prefWidth="1072.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1"> 19 <children> 20 <BorderPane layoutX="188.0" layoutY="58.0" prefHeight="400.0" prefWidth="786.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> 21 <top> 22 <GridPane prefHeight="77.0" prefWidth="1072.0" BorderPane.alignment="CENTER"> 23 <columnConstraints> 24 <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" /> 25 </columnConstraints> 26 <rowConstraints> 27 <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" /> 28 <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" /> 29 </rowConstraints> 30 <children> 31 <MenuBar> 32 <menus> 33 <Menu mnemonicParsing="false" text="File"> 34 <items> 35 <MenuItem mnemonicParsing="false" text="Close" /> 36 </items> 37 </Menu> 38 <Menu mnemonicParsing="false" text="Edit"> 39 <items> 40 <MenuItem mnemonicParsing="false" text="Delete" /> 41 </items> 42 </Menu> 43 <Menu mnemonicParsing="false" text="Help"> 44 <items> 45 <MenuItem mnemonicParsing="false" text="About" /> 46 </items> 47 </Menu> 48 </menus> 49 </MenuBar> 50 <ToolBar prefHeight="40.0" prefWidth="200.0" GridPane.rowIndex="1"> 51 <items> 52 <Button mnemonicParsing="false" prefHeight="31.0" prefWidth="36.0" stylesheets="@test.css"> 53 <graphic> 54 <ImageView pickOnBounds="true" preserveRatio="true"> 55 <image> 56 <Image url="@New_16x16.png" /> 57 </image> 58 </ImageView> 59 </graphic> 60 </Button> 61 </items> 62 </ToolBar> 63 </children> 64 </GridPane> 65 </top> 66 <center> 67 <Pane prefHeight="200.0" prefWidth="200.0" BorderPane.alignment="CENTER" /> 68 </center> 69 <bottom> 70 <StatusBar BorderPane.alignment="CENTER" /> 71 </bottom> 72 </BorderPane> 73 </children> 74</AnchorPane>

投稿2016/11/23 00:44

編集2016/11/23 00:45
MasashiKimura

総合スコア1150

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mr0237

2016/11/24 07:52

ありがとうこざいます。助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問