0

JAVA2Dで簡単なゲームを書いています。クラス「グラウンド」を作成しました。このクラスのオブジェクトをそのように作成すると...

Ground g1 = new Ground("WATER", 50, 100, 5, 5) //params: type of surface, margin-left,     margin-top, width, height

...5x5 ピクセルの正方形を作成します (JAVA2D の fillRect 関数で)。ここで、この正方形をフレームの任意の場所に設定したいと思います。これは HTML での簡単な例です: HTML で単純なボックスを移動する場合は、スタイルを使用します。

<div style="margin-left: 50px; margin-top: 100px"></div>

そして出来上がり。JAVAには、それを助けないレイアウトしかありません。レイアウトでは余白を自由に設定できません。

setBounds が機能しない

4

1 に答える 1

0

setBounds() は、レイアウトを null に設定している限り機能するはずです。これを示すコードがいくつかあります

    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;

    public class Test extends JFrame
    {
       private JPanel panel;
       private JButton button;

       public Test()
       {
           panel = new JPanel();
           button = new JButton("I am a Button");
           panel.setLayout(null);
           button.setBounds(80,100,50,50);
           panel.add(button);

           this.setTitle("setBounds() Test");
           this.setSize(480,340);
           this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
           this.setVisible(true);
           this.getContentPane().add(panel);
       }

       public static void main(String[] args) 
       {
           new Test();
       }
 }
于 2013-03-16T22:31:30.707 に答える