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

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

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

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

Interface Builder

Interface BuilderとはApple"s Mac OsXとiOS ぷラットフォームのユーザーインターフェイスを作るために使用されるビジュアルデザインツールです。

JavaFX

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

Java

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

Javaアプレット

Javaアプレットは、Webページに組み込まれて実行されるJavaアプリケーションの形式です。Java SE 11で廃止となりました。

Q&A

解決済

1回答

1690閲覧

JAVA,Scene Builderでデスクトップアプリ用GUI作成

daisukekubota

総合スコア33

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

Interface Builder

Interface BuilderとはApple"s Mac OsXとiOS ぷラットフォームのユーザーインターフェイスを作るために使用されるビジュアルデザインツールです。

JavaFX

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

Java

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

Javaアプレット

Javaアプレットは、Webページに組み込まれて実行されるJavaアプリケーションの形式です。Java SE 11で廃止となりました。

0グッド

0クリップ

投稿2020/02/26 08:21

JAVAでScene BuilderでGUI作成をしているのですが、下記のソースコードの<Tab text=" File " />のところにさらにメニューボタンの階層を入れたいのですがやり方が分からず、親切な方どうすればいいのか教えていただけないでしょうか。

<?xml version="1.0" encoding="UTF-8"?> <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> <GridPane alignment="center" hgap="10" vgap="10" xmlns="http://javafx.com/javafx/10.0.2-internal" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.Controller"> <columnConstraints> <ColumnConstraints /> </columnConstraints> <rowConstraints> <RowConstraints /> </rowConstraints> <children> <AnchorPane prefHeight="768.0" prefWidth="1366.0"> <children> <TabPane prefHeight="59.0" prefWidth="1374.0" tabClosingPolicy="UNAVAILABLE"> <tabs> <Tab text="Machine Learning"> <content> <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0"> <children> <TabPane prefHeight="100.0" prefWidth="1374.0" tabClosingPolicy="UNAVAILABLE"> <tabs> <Tab text="Control " /> <Tab text=" File " /> <Tab text=" Home " /> <Tab text=" Ajust " /> <Tab text=" Proccess " /> <Tab text=" Count/Sze " /> <Tab text=" Measure " /> <Tab text=" 3DMeasure " /> <Tab text=" 3DAnimetion " /> <Tab text=" Apri " /> </tabs> </TabPane> </children></AnchorPane> </content> </Tab> <Tab text="Deep Learning"> <content> <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" /> </content> </Tab> </tabs> </TabPane> </children></AnchorPane> </children> </GridPane>

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

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

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

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

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

guest

回答1

0

ベストアンサー

Tabの中にボタンを配置したい、ということでしょうか?

SceneBuilderではむずかしい(or無理だ)と思います。Tab#setGraphic()であとで設定するのがいいと思います。以下の例ではFXMLLoaderを使っていませんが、おおきなレイアウトはSceneBuilderで作成し、細かいところは実装を追加する、というイメージです。

java

1import javafx.application.Application; 2import javafx.scene.Scene; 3import javafx.scene.control.*; 4import javafx.scene.layout.HBox; 5import javafx.stage.Stage; 6 7public class xxTabMenuButton { 8 public static void main(final String[] args) throws Exception { 9 Application.launch(App.class, args); 10 } 11 12 public static class App extends Application { 13 @Override 14 public void start(final Stage stage) throws Exception { 15 final TabPane tabPane = new TabPane(); 16 final Tab tabA = new Tab("aaa"); 17 tabPane.getTabs().add(tabA); 18 final Tab tabB = new Tab("bbb", new TextField("zzz")); 19 tabPane.getTabs().add(tabB); 20 final Tab tabC = new Tab(); 21 tabC.setGraphic( 22 new HBox( 23 new Label("ccc"), 24 new MenuButton("Menu"), 25 new Label("---"))); 26 tabPane.getTabs().add(tabC); 27 stage.setScene(new Scene(tabPane)); 28 stage.setWidth(400); 29 stage.setHeight(400); 30 stage.show(); 31 } 32 } 33}

投稿2020/02/26 13:05

編集2020/02/27 13:24
shiketa

総合スコア4036

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

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

daisukekubota

2020/03/01 02:34

ご返信ありがとうございます、ただご説明の内容がわかりません。 Tab#setGraphic()とソースコードの関係もわからないです。 申し訳ございませんが、ご返信お待ちしております。
shiketa

2020/03/03 12:54

わたしの書いた上記サンプルは、そのままコピペすればコンパイルできて動作もするはずです。試してみられましたか?試されたのであれば、どこかを変えてみましたか?変えた結果はどうせしたか?ある程度動く小さなものに少しずつ手を加えることで覚えられることも多々あります。 Tab#setGraphic()についてはJavaDocをまずは読んでみてください。[javadoc][https://docs.oracle.com/javase/jp/8/javafx/api/javafx/scene/control/Tab.html#setGraphic-javafx.scene.Node-]。なんのこっちゃ、でしょうね。そうであれば、チュートリアルからsetGraphic()の記述のある部分を読んでみてもいいかもしれません。[チュートリアル](https://docs.oracle.com/javase/jp/8/javafx/user-interface-tutorial/label.htm#CIHHFIBJ) # 勘違いだったらごめんなさい。そもそもJavaでのプログラミングは不得意なのではありませんか?JavaFXはかなり大きめのライブラリなので、Java言語の基礎と基本的なAPIは抑えておかないとつらいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.39%

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

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

質問する

関連した質問