3

私は Java プログラミングは得意ですが、GUI 開発は初めてです。何年も前に作成したコンソール ブラックジャック ゲームを、netbeans を使用して構築した GUI を介してプレイできるゲームにしたいと考えていました。GUI がなければ、ほとんどの人は自分の作業ポートフォリオにゲームを追加するときにゲームを真剣に受け止めないと思います

サイズが 1000X700 ピクセルに設定された JFRAME を作成し、その上にブラックジャック テーブルをシミュレートする濃い緑色の背景を持つ JPanel を作成しました。

濃い緑色の JPanel の上に、トランプの裏にアイコンが設定された小さな 60X93 JLabel があります。これはディーラーを表し、それが置かれている JPanel の上に水平方向および垂直方向に配置したいと考えました。

ただし、特定の GUI の netbeans ツールバーでは、「水平方向に中央揃え」オプションと「垂直方向に中央揃え」オプションがグレー表示され、ディーラーである JLabel を選択してもクリックできません。シフトクリックしてJLabelとそれが置かれているJPanelの両方を選択しようとしましたが、それでも「水平方向の中央」と「垂直方向の中央」のオプションはグレー表示されています。

誰かが私を助けてくれたり、ガイダンスを提供してくれませんか? ありがとう...私は2日間グーグルで過ごしましたが、他の人がこの同じ問題に遭遇していない理由がわかりません。

4

2 に答える 2

2

興味深い質問です。私はNetBeansを何年も使用してきましたが、正直に言うと、これらのアイコンを指摘するまで、これまで気づいたことはありませんでした。私も彼らに何もさせることができません。

ただし、JavaでのGUI開発に慣れていない場合は、レイアウトマネージャーについて読み、GridBagLayoutチュートリアルで時間を費やす必要があります。GridBagLayoutは、Swing開発で群を抜いて最も人気のあるレイアウトマネージャーです。別のレイアウトマネージャーを使用する方が理にかなっている実際の状況はほんの一握りしかないため、必要に応じて排他的に使用することで取得できます。

当面の目的:インスペクタービューで、JPanelを右クリックし、[レイアウトの設定]->[グリッドバッグレイアウト]を選択します。これで、JPanelのすぐ下にあるインスペクターツリービューにレイアウトマネージャーが表示されます。それを右クリックして「カスタマイズ」を選択します。ウィンドウがポップアップ表示され、興味のあるコンポーネントをクリックして、あらゆる種類の設定(マージン、パディングなど)を調整できます。興味のある設定は「アンカー」、希望する値は「センター」です。JLabelを選択した状態で、左上のプルダウンメニューから、または上下にグラフィカルにこの設定を調整できます。

いずれにせよ、最も些細な「Hello World」の例を超えて、あらゆる種類のJava GUI開発を行う場合は、すぐにGridBagLayoutを使用することになります。だからあなたは飛び込んだほうがいいです!

于 2010-10-08T19:02:43.443 に答える
0

ツール ボタンのオプション「水平方向に中央揃え」と「垂直方向に中央揃え」について説明します。

Matisse Designer に用意されている 6 つのツールバー ボタンはすべて、相互に関連するコンポーネントを整列させるためのものです。これらのボタンは、デザイナーで複数のコンポーネントを選択した場合にのみアクティブになります。

デザイナ ウィンドウで 2 つ以上のコンポーネント (JPanel または JFrame) を選択し、[水平方向に中央揃え] ボタンをクリックすると、選択したすべてのコントロール (コンポーネント) が上下に配置され、すべてのコンポーネントの中心点が配置されます。縦一列に。つまり、それらが水平方向に移動して、正確に上下に整列することを意味します。

「Center Vertically」ボタンは、この整列を垂直方向に行います。したがって、あなたの質問に答えるために、JFrame でコンポーネントをセンタリングするために使用しているツールは正しくありません。これらは、コンテナではなく、コンポーネントを互いに相対的に整列させるためのものです。

JPanel と JPanel 内のコンポーネントを選択すると、ツール ボタンが無効になります。配置設定ボタンは、同じコンテナ内のコンポーネント、つまり同じコンテナの下にあるコンポーネントが選択されている場合にのみ使用できます。

コンポーネントを JFrame の中央に配置するには、カスタム コードを追加するか、デザイナーがデフォルトで使用する Group Layout 以外のレイアウト マネージャーを使用する必要があります。


Tushar Joshi、ナグプールに関して

于 2010-10-08T19:24:41.027 に答える