때때로, 당신은 단지
public class TestFlow {
public static void main(String[] args) {
new TestFlow();
}
public TestFlow() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
}
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
frame.add(new TestPane());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
public class TestPane extends JPanel {
public TestPane() {
setLayout(new GridLayout(0, 1));
add(createPane(FlowLayout.LEFT, 5, 5));
add(createPane(FlowLayout.CENTER, 15, 15));
add(createPane(FlowLayout.RIGHT, 20, 20));
add(createPane(FlowLayout.LEADING, 0, 0));
add(createPane(FlowLayout.TRAILING, 5, 5));
}
protected JPanel createPane(int alignment, int hGap, int vGap) {
JPanel panel = new JPanel(new FlowLayout(alignment, hGap, vGap));
panel.setBorder(new LineBorder(Color.GRAY));
panel.add(new JLabel("Left"));
panel.add(new JLabel("Middle"));
panel.add(new JLabel("Right"));
return panel;
}
}
}
은 무엇 당신이 달성하고자한다 ... 실험을해야합니까? – MadProgrammer
요소 간의 간격과 요소의 정렬을 제어하기 만하면됩니다. 모든 것을 서로 가깝게 쌓아 놓은 상태에서 모든 것을 일정한 간격으로 설정할 수 있기를 바랬습니다. – mao
@mao 매개 변수 이름은 원하는 것을 말합니다. 동일한 너비로 요소를 정렬하려면 GridLayout을 사용하십시오. – ntalbs