0

SwingMetaWidget を使用しています。私のコードには、ドメインオブジェクトを動的に渡すダイアログがあり、ドメインオブジェクトに基づいてさまざまな数のコンポーネントが発生します。検査結果に基づいて、メタウィジェットがそのpreferredSizeを返すようにしたいと思います。どうすればこれを達成できますか。私の要点を説明するために、チュートリアルの例を見てみましょう。

メインコード:

package com.myapp;

import javax.swing.*;
import org.metawidget.swing.*;

public class Main {

    public static void main( String[] args ) {
        Person person = new Person();

        SwingMetawidget metawidget = new SwingMetawidget();
        metawidget.setToInspect( person );

        JFrame frame = new JFrame( "Metawidget Tutorial" );
        frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        frame.getContentPane().add( metawidget );
        frame.setSize( 400, 250 );
        frame.setVisible( true );
    }
}

ドメイン オブジェクト:

package com.myapp;

public class Person {
    private String  mName;
    private int     mAge;
    private boolean mRetired;

    public String getName() { return mName; }
    public void setName( String name ) { mName = name; }

    public int getAge() { return mAge; }
    public void setAge( int age ) { mAge = age; }

    public boolean isRetired() { return mRetired; }
    public void setRetired( boolean retired ) { mRetired = retired; }
}

「frame.setSize( 400, 250 );」という行を削除すると、フレームは完全に折りたたまれ、何も表示されません。 折りたたまれたフレームのイメージ

Metawidget のすべてのコンポーネントを表示するのに十分な JFrame を表示する方法はありますか (JFrame の pack() を呼び出す必要があります)。それより身長が気になります。固定幅を設定できます。

適切なサイズの JFrame の画像

4

1 に答える 1