3

Macで複数のJFrameを使用してプログラムを作成しましたが、解像度は問題なく、すべてが画面に適切に収まりました。しかし、PCでプログラムを実行すると、JFrameが大きすぎて、画面からすぐに消えてしまいます。

私の質問は、すべてのコンポーネントが少し小さく描画されるように、JFrameでユニバーサル解像度を設定することは可能ですか?私はむしろそれを行い、プログラム全体を調べて、すべてのコンポーネントのサイズを手動で変更したいと思います。

4

3 に答える 3

5

複数のJFrameを使用してプログラムを作成しました

代わりにCardLayoutを誤って使用します。本当の理由がある場合にのみ、親でJDialogまたはJOptionPaneを使用し、(JDialog)を単一のJFrameにsetModal(true)で使用します。

しかし、PCでプログラムを実行すると、JFrameが大きすぎて、画面からすぐに消えてしまいます。

すべてのコンポーネントが少し小さく描画されるように、JFrameでユニバーサル解像度を設定することは可能ですか?

適切なLayoutManagerを使用してください、確かに簡単な仕事ではなく、実際の努力が必要です

私はむしろそれを行い、プログラム全体を調べて、すべてのコンポーネントのサイズを手動で変更したいと思います。

適切なLayoutManagerを使用し、

  • より良いヘルプのためにSSCCEであなたの質問をより早く編集するためにPCまたはプラットフォーム間で異なる画面サイズであなたの問題を示しました
于 2012-04-29T22:10:37.250 に答える
4

私の知る限り、Swingコンポーネントの解像度を変更することはできません。ただし、システムから現在の画面サイズを取得できます(ここに例があります)。この画面サイズを使用すると、コンポーネントを調整できます。

GUIを賢くコーディングしている場合は、GUIのすべてのコンポーネントのサイズを手動で変更する必要はありません。代わりに、トップレベルのJPanel(またはJFrameなど)は、含まれているコンポーネント(たとえば、pack()など)によってサイズを調整します。したがって、ハードコードされたサイズを持つコンポーネントはごくわずかです。このサイズは、編集しやすいクラスまたはファイルに外部化することもできます。

于 2012-04-29T21:59:47.177 に答える
0

私はあなたのような問題に遭遇しました、そして私はそれをJScrollbarで解決しました! JFrameをスクロール可能にする方法は次のとおりです

于 2013-06-30T23:43:26.783 に答える