モジュール javafx.swing
パッケージ javafx.embed.swing

クラスSwingNode

  • すべての実装されたインタフェース:
    Styleable, EventTarget


    public class SwingNode
    extends Node
    このクラスは、JavaFXアプリケーションにSwingコンテンツを埋め込むために使用します。 表示されるコンテンツはsetContent(javax.swing.JComponent)メソッドで指定し、このメソッドはSwing JComponentのインスタンスを受け入れます。 JComponentインスタンスに含まれるコンポーネントの階層には重量コンポーネントが含まれていない必要があり、そうでない場合はSwingNodeによるペイントが失敗します。 コンテンツは自動的に再ペイントされます。 すべての入力イベントとフォーカス・イベントは、開発者に対して透過的にJComponentインスタンスに転送されます。

    SwingNodeを使用できる方法を示す標準的なパターンを次に示します。

         public class SwingFx extends Application {
    
             @Override
             public void start(Stage stage) {
                 final SwingNode swingNode = new SwingNode();
                 createAndSetSwingContent(swingNode);
    
                 StackPane pane = new StackPane();
                 pane.getChildren().add(swingNode);
    
                 stage.setScene(new Scene(pane, 100, 50));
                 stage.show();
             }
    
             private void createAndSetSwingContent(final SwingNode swingNode) {
                 SwingUtilities.invokeLater(new Runnable() {
                     @Override
                     public void run() {
                         swingNode.setContent(new JButton("Click me!"));
                     }
                 });
             }
    
             public static void main(String[] args) {
                 launch(args);
             }
         }
     
    導入されたバージョン:
    JavaFX 8.0
    • コンストラクタの詳細

      • SwingNode

        public SwingNode​()
        SwingNodeの新しいインスタンスを構築します。
    • メソッドの詳細

      • setContent

        public void setContent​(JComponent content)
        このSwingNodeに表示するJComponentインスタンスをアタッチします。

        このメソッドは、JavaFXアプリケーション・スレッドまたはイベント・ディスパッチ・スレッドで呼び出すことができます。 ただし、スレッドに関するSwingの制限により、Swingコンポーネントに対するそのアクセスは、イベント・ディスパッチ・スレッドから発生する必要があります。

        パラメータ:
        content - このSwingNodeに表示するSwingコンポーネント
        関連項目:
        EventQueue.isDispatchThread(), Platform.isFxApplicationThread()
      • getContent

        public JComponent getContent​()
        このSwingNodeにアタッチされたJComponentインスタンスを返します。

        このメソッドは、JavaFXアプリケーション・スレッドまたはイベント・ディスパッチ・スレッドで呼び出すことができます。 ただし、スレッドに関するSwingの制限により、Swingコンポーネントに対するそのアクセスは、イベント・ディスパッチ・スレッドから発生する必要があります。

        戻り値:
        このSwingNodeにアタッチされたSwingコンポーネント
        関連項目:
        EventQueue.isDispatchThread(), Platform.isFxApplicationThread()
      • isResizable

        public boolean isResizable​()
        次のクラスからコピーされた説明: Node
        このノードが、その親によってサイズ変更可能なタイプかどうかを示します。 このメソッドによってtrueが返されると、親は、レイアウトの受渡し中にnode.resize(width,height)を呼び出すことによってノードをサイズ変更します(原則としてそのサイズ範囲内で)。 すべての領域、コントロールおよびWebViewは、サイズ設定とCSSスタイルの情報が適用された後のレイアウトにおいて、サイズ変更をその親に依存するサイズ変更可能なクラスです。

        このメソッドによってfalseが返されると、親はレイアウト中にそれをサイズ変更できず(resize()の操作なし)、最小、推奨および最大サイズとしてそのlayoutBoundsを返します。 グループ、テキストおよびすべての図形はサイズ変更可能ではないため、そのサイズ設定はアプリケーションで適切なプロパティ(矩形の場合は幅と高さ、テキストの場合はテキストなど)を設定することによって確立する必要があります。 サイズ変更可能でないノードも、レイアウト中に再配置される場合があります。

        オーバーライド:
        isResizable 、クラス:  Node
        戻り値:
        このノード・タイプが、レイアウト中にその親によってサイズ変更可能どうか
        関連項目:
        Node.getContentBias(), Node.minWidth(double), Node.minHeight(double), Node.prefWidth(double), Node.prefHeight(double), Node.maxWidth(double), Node.maxHeight(double), Node.resize(double, double), Node.getLayoutBounds()
      • prefWidth

        public double prefWidth​(double height)
        レイアウト計算に使用するSwingNodeの推奨される幅を返します。 この値はSwingコンポーネントの推奨される幅に対応します。
        オーバーライド:
        prefWidth 、クラス:  Node
        パラメータ:
        height - 推奨される幅がそれに依存する場合に使用する必要がある高さ
        戻り値:
        レイアウト中にノードのサイズ変更の基準となる推奨される幅
        関連項目:
        Node.isResizable(), Node.getContentBias(), Node.autosize()
      • prefHeight

        public double prefHeight​(double width)
        レイアウト計算に使用するSwingNodeの推奨される高さを返します。 この値はSwingコンポーネントの推奨される高さに対応します。
        オーバーライド:
        prefHeight 、クラス:  Node
        パラメータ:
        width - 推奨される高さがそれに依存する場合に使用する必要がある幅
        戻り値:
        レイアウト中にノードのサイズ変更の基準となる推奨される高さ
        関連項目:
        Node.getContentBias(), Node.autosize()
      • maxWidth

        public double maxWidth​(double height)
        レイアウト計算に使用するSwingNodeの最大幅を返します。 この値はSwingコンポーネントの最大幅に対応します。
        オーバーライド:
        maxWidth 、クラス:  Node
        パラメータ:
        height - 最大幅がそれに依存する場合に使用する必要がある高さ
        戻り値:
        レイアウト中にノードのサイズ変更の基準となる最大幅
        関連項目:
        Node.isResizable(), Node.getContentBias()
      • maxHeight

        public double maxHeight​(double width)
        レイアウト計算に使用するSwingNodeの最大高さを返します。 この値はSwingコンポーネントの最大高さに対応します。
        オーバーライド:
        maxHeight 、クラス:  Node
        パラメータ:
        width - 最大高さがそれに依存する場合に使用する必要がある幅
        戻り値:
        レイアウト中にノードのサイズ変更の基準となる最大高さ
        関連項目:
        Node.isResizable(), Node.getContentBias()
      • minWidth

        public double minWidth​(double height)
        レイアウト計算に使用するSwingNodeの最小幅を返します。 この値はSwingコンポーネントの最小幅に対応します。
        オーバーライド:
        minWidth 、クラス:  Node
        パラメータ:
        height - 最小幅がそれに依存する場合に使用する必要がある高さ
        戻り値:
        レイアウト中にノードのサイズ変更の基準となる最小幅
        関連項目:
        Node.isResizable(), Node.getContentBias()
      • minHeight

        public double minHeight​(double width)
        レイアウト計算に使用するSwingNodeの最小高さを返します。 この値はSwingコンポーネントの最小高さに対応します。
        オーバーライド:
        minHeight 、クラス:  Node
        パラメータ:
        width - 最小高さがそれに依存する場合に使用する必要がある幅
        戻り値:
        レイアウト中にノードのサイズ変更の基準となる最小高さ
        関連項目:
        Node.isResizable(), Node.getContentBias()