根据你的指示,我决定使用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);
}
}
答案 0 :(得分:1)
这正是不推荐使用绝对布局的原因。
您最好的方法是使用类似GridBagLayout
的内容来定位元素,然后在屏幕调整大小和重新整形时让它们移动。
GridBagLayout
上有大量优秀的文档和教程可以帮助您入门。您还可以使用某些IDE中内置的工具(例如,NetBeans有一个很好的工具)来让您以图形方式进行布局。
答案 1 :(得分:1)
由于答案只是要求布局 - 它的布局推荐时间!
我的最爱 - http://www.miglayout.com/满足了我上一次Swing项目的所有布局需求。 wrap
,span x
和center
布局参数应该是完成图片所需的全部内容。