Java Swingでゲームを開発しています。私はその場所のすべての要素を設定するために、絶対座標と固定のウィンドウサイズを使用します。しかし、私がJFrameのサイズを変更すると、描かれた要素はスケールされません。それをどうすれば実現できますか? 私の例では、デフォルトのウィンドウサイズを1280 x 720に設定し、このサイズに従ってゲームを開発します。それでは、Javaに自動的に要素のサイズを変更させるだけで完璧です。Java Swing JFrameとJPanelの描画されたすべての要素のサイズ変更
0
A
答えて
-1
固定サイズのウィンドウが必要な場合は、JFrame.setResizable(boolean)APIを使用してウィンドウのサイズを変更できないようにすることができます。例:
public class FixedSizeJFrame
{
public static void main(String[] args)
{
JFrame frame = new JFrame("My Title");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(100, 100, 1280, 720);
frame.getContentPane().add(new JLabel("My Label"), BorderLayout.NORTH);
frame.getContentPane().add(new JTextArea("Sample text"), BorderLayout.CENTER);
frame.setResizable(false);
frame.setVisible(true);
}
}
+1
ユーザーは、サイズ変更ができないウィンドウがどれだけ嫌いであるかを指摘したいだけです。コードでは、フォントメトリックの相違点も考慮に入れません。 DPI;コードを実行する必要があるかもしれない画面の解像度は、ユーザーの受け入れとユーザビリティの可能性をさらに減らす – MadProgrammer
+0
をTrueにします。しかし、setResizable()がどのように使われているかを実証したかっただけです。 –
関連する問題
- 1. Java、swing、JFrame、JPanel
- 2. Java Swing:イメージ付きJPanelのサイズ変更
- 3. 制御のJPanelはJFrameのサイズ変更
- 4. JScrollPane内のJPanelのサイズを変更すると、JPanelで描画したものがクリアされます
- 5. JpanelのサイズをJavaのSwingで
- 6. JPanelを描画してJFrameにJPanelを追加する
- 7. 私のJPanelは、JFrameのサイズが変更されるたびに常に更新されます。
- 8. Java JFrameのサイズ変更されていない
- 9. java swing jframeのサイズが画面の大きさを返します
- 10. サイズ変更時のJPanelのサイズ変更
- 11. JFrameとその中のすべてのコンテンツのサイズ変更
- 12. JFrameがJPanelに合わせてサイズ変更されていない
- 13. JPanelの問題 - 通常の外観でサイズ変更して再描画する
- 14. Java - 独自のJPanelでJPanelを切り替え、内部のJPanelとコンポーネントをJFrameのサイズに応じてサイズ変更します。
- 15. JFrameに最後に追加したJPanelのサイズが変更されるのはなぜですか?
- 16. Java swing - Jpanelは再レンダリング/再描画しません。
- 17. JavaのsetPreferredSizeのサイズが変更されないJPanel
- 18. Java Swing JPanelスライドアップアニメーション?
- 19. Java(JFrame)で図面のサイズを変更してください
- 20. のJavaのSwing/JFrameのリスナー
- 21. Java Swing JFrameレイアウト
- 22. JPanelのJava Swingでのパネル
- 23. Java、Swing - JPanelは期待通りにJFrameに表示されません
- 24. JFrameのサイズが変更され、スクロールバーが表示されない
- 25. 入れ子にされたJPanelのサイズ変更の問題
- 26. 別の関数からjframeにアクセスしてjpanelを追加する - Java swing
- 27. JavaのSwingは - JPanelのとのPropertyChangeListener
- 28. Java、Swing、すべての入力フィールドの取得と変更
- 29. JFrame(レイアウトなし)をJPanelに変更
- 30. CardLayout上のJPanel Swing Java
「私は絶対座標を使用します」 - しないでください。 [レイアウト・マネージャー](https://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html) – c0der
*「すべての要素をその場所に設定するには、絶対座標と固定ウィンドウ・サイズを使用します。しかし、JFrameのサイズを変更した場合、描かれた要素はスケールされません。* - そうです、それはレイアウトマネージャがあなたのために行うものですが、ホイールを再構築したい場合、手動で行う必要がありますコンポーネントの関係や、コンテナのサイズの変更、スペースの割り当て方法、使用可能なスペースがコンポーネントに収まるようにするためにどう対処するかについて、アイデアを考えてください。 – MadProgrammer
これらの問題のほとんどを解決するために設計されたAPIを使用することができます。ピクセルの完璧なレイアウトは錯覚です。異なるフォントメトリック。 DPI;画面解像度。ビデオドライバ;それらを乗り切る時間。代わりにユーザーのフローとインタラクションに焦点を当ててください – MadProgrammer