#author("2018-05-08T14:18:50+00:00","default:haikikyou","haikikyou")
[[JavaFX]]
#author("2018-05-12T10:56:27+00:00","default:haikikyou","haikikyou")
#contents

* コンテナ [#w6446a3f]

- UI部品のレイアウトを整えるベース部分である。
- 行、列、重なりやタイル配置など様々なクラスがある。
- Windowのリサイズで自動的に配置とサイズを変更してくれる機能がある。

テキストフィールドやラベル、ボタンなど、この

* Accordion [#l8ed6376]

Accordionレイアウトを提供する。~
タイトルをクリックするとコンテンツが表示されるビューである。

#ref(./javafx-container-accordion.png)

&label(sample){サンプル}; Accordionの使用例

&ref(./SampleAccordion.java);

#geshi(java){{{
package sample;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Accordion;
import javafx.scene.control.TextArea;
import javafx.scene.control.TitledPane;
import javafx.scene.web.WebView;
import javafx.stage.Stage;

/**
 *
 * @author t-moriyasu
 */
public class SampleAccordion extends Application {
    
    /**
     * Initialize stage and start scene.
     * 
     * @param primaryStage
     * @throws Exception 
     */
    @Override
    public void start(Stage primaryStage) throws Exception {
        // Create accordion.
        Accordion acc = new Accordion();
        
        // Create panes.
        TitledPane pane1 = new TitledPane("pane1", new TextArea("content1"));
        TitledPane pane2 = new TitledPane("pane2", new TextArea("content2"));
        TitledPane pane3 = new TitledPane("pane3", new TextArea("content3"));
        TitledPane pane3 = new TitledPane("pane3", new WebView());
        
        // Add panes to the accordion container.
        acc.getPanes().add(pane1);
        acc.getPanes().add(pane2);
        acc.getPanes().add(pane3);
        
        // When the stage is shown, make pane1 opened.
        acc.setExpandedPane(pane1);
        
        // Load a webpage when page3 is opened.
        pane3.setOnMousePressed(event -> {
            WebView wv = (WebView)pane3.getContent();
            if (wv.getEngine().getLocation() == null) {
                wv.getEngine().load("https://haikikyou.xsrv.jp/pwiki/");
            }
        });
        
        // Create a scene
        Scene scene = new Scene(acc);
        primaryStage.setScene(scene);
        
        // Show window.
        primaryStage.show();
    }

    /**
     * Launch application.
     * 
     * @param args 
     */
    public static void main(String[] args) {
        launch(args);
    }

}
}}}


&label(info){説明};
- Accordionに3つのペインを追加している。
- 3つのうち2つのペインは、テキストエリア、1つはWebビューである。
- WebViewは、初回にロードされた時に、指定のURLからコンテンツをロードする。
* 参考リンク [#xea86aa8]

- https://docs.oracle.com/javase/jp/8/javafx/user-interface-tutorial/accordion-titledpane.htm
- https://docs.oracle.com/javase/jp/8/javafx/api/javafx/scene/control/Accordion.html


トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
目次
ダブルクリックで閉じるTOP | 閉じる
GO TO TOP