2012-01-12 1 views
0


私はゲームのためにこのレベルのクリエイターをプログラミングしています。私の友人の何人かはやっていますが、今のところGUIはヌルレイアウトを使用しています。今はうまく動作しますが、私はまだそれに反対しています。他の誰もがあなたに常にLayoutManagerを使用させることを奨励しています。私はそれが今あるようなデザインを損なうことは本当に望んでいないので、私はかなり私はこのように見えるGUIを作成することができますLayoutManagerであるかどうかを知りたい:
enter image description hereJava APIにこのようなことを可能にするLayoutManagerがありますか?

ITをする必要がありますスタンダードJAVA APIに! :)

+0

ただし、JButtonの下にJScrollPaneを配置することはできません。 – Benjamin

答えて

2

これはBorderLayoutにとってはうまくいくようです。ボタンを入れ子にしてNORTH要素として入れます。 JScrollPaneをCENTERコンポーネントとして追加します。グリッド自体は、GridBagLayoutまたはおそらくGridLayoutの候補であるように見えます。

2

短い答え、はい:GridBagLayout。しかし、それはうまく動作してデバッグするのに苦労するでしょう。

ロング答えは:カスタムTableCellRenderersTableCellEditorsBorderLayoutJButtonsためJPanel、およびJTableでこのベストを尽くすことができようにそれは私には見えます。

0

は、SunのJava自体によってために利用可能な優れたドキュメントを参照してください:

http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html

あなたはGridLayoutGridBagLayoutを見つけることができますか?それをスクロール可能なコンテナに入れたら、そのトリックを行うべきです。

0

全体のパネルにはGroupLayoutを使用し、マップにはカスタムペイントメソッドを使用します。

他のレイアウトマネージャよりも複雑なので、ここで多くの人がGroupLayoutをおすすめするとは思いません。スケーラビリティの高い結果が得られるので好きなので、時間をかけて理解しました。今、私はほとんど何も使用していません - 特に、ボタンとテキストフィールドを持つユーザーインタラクションパネルの場合。

マップでは、カスタムMapPanelを作成し、paintComponent()を上書きします。もちろん、独自のカスタムスクロールアルゴリズムを記述する必要がありますが、スクロールバーを扱わなければならないという小さなメリットがあると思います。誰かがマウスをドラッグして地図を移動できるようにすることができます。マウスホイールを使用してズームし、インターフェイスを非常に直感的にします。スクロールバーをペイントする場合は、スクロールバーをペイントすることもできます。

私はこのようなモデルを使用していくつかのインターフェイスを構築しました。私は、このモデルを使ったゲーム用のいくつかのマップと、金融市場チャートパッケージを構築しました。 JTableでやろうとすると悪夢になるようなカスタム機能を追加するのは非常に簡単です。

関連する問題