Swing JComponents 对齐方式类似于表单

发布于 2024-11-28 14:34:09 字数 277 浏览 1 评论 0原文

如何使用 Swing 将这些 JComponent 像表单一样对齐在内容窗格的中心,

        panel1.add(l1);
        panel1.add(c1);
        panel1.add(l2);
        panel1.add(c2);
        panel1.add(b4);
        panel1.add(b5);
        frame1.getContentPane().add(panel1);

请帮助我

How to align these JComponents like a Form on center of the Content pane...using Swing

        panel1.add(l1);
        panel1.add(c1);
        panel1.add(l2);
        panel1.add(c2);
        panel1.add(b4);
        panel1.add(b5);
        frame1.getContentPane().add(panel1);

Please help me

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

眼眸印温柔 2024-12-05 14:34:09

您可以阅读在容器内布置组件教程吗?第一的?我滥用了这句话,但是,总有不止一种方法可以给猫剥皮


这是一个使用 BoxLayoutsetAlignmentX(... )JComponent 实例 -

public final class StackComponentsDemo {
    public static void main(String[] args){
        SwingUtilities.invokeLater(new Runnable(){
            @Override
            public void run() {
                createAndShowGUI();             
            }
        });
    }

    private static void createAndShowGUI(){
        final JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        final JPanel panel = new JPanel();
        panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));

        panel.add(new DisabledJButton());
        panel.add(new DisabledJButton());
        panel.add(new DisabledJButton());
        panel.add(new DisabledJButton());
        panel.add(new DisabledJButton());

        frame.add(panel);
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }

    private static final class DisabledJButton extends JButton{
        public DisabledJButton(){
            super("Disabled");
            setEnabled(false);
            setAlignmentX(Component.CENTER_ALIGNMENT);
        }
    }
}

在此处输入图像描述

How about you read the Laying Out Components Within a Container tutorial first? I abuse this saying but, there's always more than one way to skin a cat


Here's a superfluous example that uses BoxLayout and setAlignmentX(...) on the JComponent instances -

public final class StackComponentsDemo {
    public static void main(String[] args){
        SwingUtilities.invokeLater(new Runnable(){
            @Override
            public void run() {
                createAndShowGUI();             
            }
        });
    }

    private static void createAndShowGUI(){
        final JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        final JPanel panel = new JPanel();
        panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));

        panel.add(new DisabledJButton());
        panel.add(new DisabledJButton());
        panel.add(new DisabledJButton());
        panel.add(new DisabledJButton());
        panel.add(new DisabledJButton());

        frame.add(panel);
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }

    private static final class DisabledJButton extends JButton{
        public DisabledJButton(){
            super("Disabled");
            setEnabled(false);
            setAlignmentX(Component.CENTER_ALIGNMENT);
        }
    }
}

enter image description here

信愁 2024-12-05 14:34:09

检查 SpringLayout 是否符合您的需求。如果没有,GridBagLayout 可能就可以了。

这是一个使用的示例 SpringLayout 用于简单的类似表单的布局。

Check SpringLayout if it fits your needs. If not, probably GridBagLayout will do.

Here's an example of using SpringLayout for simple form-like layout.

め可乐爱微笑 2024-12-05 14:34:09

我建议使用盒子布局管理器。在没有 IDE 帮助的情况下使用布局管理器需要一些时间和练习。更多信息可以在这里找到: http://download.oracle.com/ javase/tutorial/uiswing/layout/box.html

I would recommend using the boxlayout manager. Using the layout managers without the help of an IDE takes some time and practice. More information can be found here: http://download.oracle.com/javase/tutorial/uiswing/layout/box.html

只是一片海 2024-12-05 14:34:09

如果所有其他方法都失败,您可以随时尝试:http: //code.google.com/intl/nl-NL/javadevtools/wbpro/layoutmanagers/swing/index.html

窗口生成器给我留下了深刻的印象,它生成漂亮、干净的代码,并且很容易集成到日食中。

If all else fails you can always try: http://code.google.com/intl/nl-NL/javadevtools/wbpro/layoutmanagers/swing/index.html

I was really impressed with window builder, it generates nice and clean code and is easily integrated into eclipse.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文