如何把按钮放在日本的右上角

时间:2014-09-03 14:10:07

标签: java swing layout

根据你的指示,我决定使用GridBagLayout,但我也面临一个问题,就是在面板中定位按钮,预计按钮位于右上方,但是它显示在中心,请告诉我是什么问题在我的代码`

import java.awt.ComponentOrientation;
import java.awt.EventQueue;
import java.awt.GridBagConstraints;

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

import java.awt.GridBagLayout;

public class Test extends JFrame {

private JPanel contentPane;
private JButton button2;

public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {
                Test frame = new Test();
                frame.setVisible(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}

public Test() {
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 573, 410);
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    contentPane.setLayout(new GridBagLayout());
    contentPane.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
    setContentPane(contentPane);
    button2 = new JButton("button2");

    GridBagConstraints c = new GridBagConstraints();

    c.gridx = 0;
    c.gridy = 0;

    contentPane.add(button2, c);

}

}

这是输出 http://postimg.org/image/bhnzskznj/

2 个答案:

答案 0 :(得分:1)

这正是不推荐使用绝对布局的原因。

您最好的方法是使用类似GridBagLayout的内容来定位元素,然后在屏幕调整大小和重新整形时让它们移动。

GridBagLayout上有大量优秀的文档和教程可以帮助您入门。您还可以使用某些IDE中内置的工具(例如,NetBeans有一个很好的工具)来让您以图形方式进行布局。

答案 1 :(得分:1)

由于答案只是要求布局 - 它的布局推荐时间!

我的最爱 - http://www.miglayout.com/满足了我上一次Swing项目的所有布局需求。 wrapspan xcenter布局参数应该是完成图片所需的全部内容。