3

私は大学のプロジェクト用のソフトウェアを開発しています。デスクトップ アプリケーションの開発に Java を使用しています。そのために、次のようなコンポーネントを追加したいと思います: http://www.mediafire.com/view/?6y1183p8u6phwzg

下のフレームの左側のようなコンポーネントを追加したいです。これはサイズ変更可能なコンポーネントで、見出しとサブメニューが含まれています。Windows XP OS の左側にも、この種のコンポーネントが表示されます。私はこのコンポーネントを開発するのに苦労しましたが、サイズ変更可能なコンポーネントしか作成できませんでしたが、それらの間の空きスペースを減らすことはできませんでした。コードを以下に示し、アプリケーションのサンプル デザインを示します。私のコンポーネントを希望どおりに動作させるための解決策を誰かが提供してくれたり、このコンポーネントを作成するための良い解決策を提供してくれたりしたら、とても感謝しています。どうもありがとうございました.:)

http://www.mediafire.com/view/?c9b8jwp4c558zae

    private void lbl1MousePressed(java.awt.event.MouseEvent evt) {                                  
    if (!(jpnTop.getSize().equals(lbl1.getSize()))) {
        try {
            Thread.sleep(100);
            jpnTop.setSize(lbl1.getSize());

        } catch (InterruptedException ex) {
        }

    } else {
        try {
            Thread.sleep(100);
            jpnTop.setSize(169, 162);


        } catch (InterruptedException ex) {
        }
    }
}  

  private void lbl2MousePressed(java.awt.event.MouseEvent evt) {                                  
    if (!(jpnLow.getSize().equals(lbl2.getSize()))) {
        try {
            Thread.sleep(100);
            jpnLow.setSize(lbl2.getSize());

        } catch (InterruptedException ex) {
        }

    } else {
        try {
            Thread.sleep(100);
            jpnLow.setSize(169, 162);

        } catch (InterruptedException ex) {
        }
    }
}

Ps: このサイトの制限により、画像をアップロードできません。上記の medeafire リンクを使用して画像を表示するようお願いします。どうもありがとうございました。

4

1 に答える 1

5

質問にSwingXのタグを付けたので、車輪の再発明の代わりにそれを使用してください:-)探しているコンポーネントはJXTaskPane/Containerと呼ばれます。

ところで:EDTでスリープすることは(スニペットのmouseListenerメソッドで行うように)間違っています-本当に間違っているように-単にそうしないでください。サイズ/場所のコンポーネントを手動で設定する場合も同じです。これは、適切なLayoutManagerの排他的なタスクです。

于 2012-09-09T08:04:50.013 に答える