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

只要您将布局设置为 null,setBounds() 就应该可以工作我这里有一些代码可以演示这一点

    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 回答