-1

我在swings上编写代码并使用空布局,以便我可以使用set Bounds将j组件放在我喜欢的任何地方但是当我最大化J Frame时,我的组件将是静态的。

我怎样才能使组件自动移动。请帮助我,这很重要。

而且我必须使用空布局,不能使用任何其他布局,因为我必须将这么多组件放在特定位置。

    public class ScreenResize extends JFrame{
    private static JButton b;
    ScreenResize(){

    JFrame.setDefaultLookAndFeelDecorated(true);

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    int frameWidth = 200;
    int frameHeight = 100;
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    setBounds((int) screenSize.getWidth() - frameWidth, 0, frameWidth, frameHeight);
    setVisible(true);
    b=new JButton();
    b.setBounds(50,50,40,20);
    add(b);

    }
    public static void main(String[] args) {
    new ScreenResize();
    }
    }   

谢谢。

4

1 回答 1

2

除非您想对本质上是其他布局(如 BorderLayout、GridLayout 等)的内容进行重新编程,否则您将无法做到这一点。所以解决这个问题的方法是不使用空布局,而是使用嵌套在一起的其他布局的组合。

这是一个开始了解其他特定布局可以为您做什么的链接。

于 2014-04-21T18:28:53.087 回答