귀하의 예제를 바탕으로, 당신은
JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT));
를 사용할 수 있습니다하지만이 왼쪽에있는 귀하의 모든 구성 요소를 정렬됩니다.
다른 레이아웃 관리자 또는 레이아웃 관리자 조합을 사용할 수도 있습니다.
는 더 많은 아이디어
업데이트
에 대한 A Visual Guide to Layout Managers에서 봐 대신를 사용하려고 고려, 당신에게 선택의 여지를주지 않는 (JPanel
의 기본 레이아웃 매니저)
FlowLayout
다른 레이아웃 매니저 또는 예컨대 레이아웃 관리자의 조합 ...
import java.awt.EventQueue;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
public class LayoutExample {
public static void main(String[] args) {
new LayoutExample();
}
public LayoutExample() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
ex.printStackTrace();
}
JFrame frame = new JFrame("Testing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new TestPane());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
public class TestPane extends JPanel {
public TestPane() {
setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.anchor = GridBagConstraints.WEST;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 0;
gbc.gridy = 0;
add(new JLabel("Name:"), gbc);
gbc.gridy++;
add(new JLabel("Activity:"), gbc);
gbc.gridx++;
gbc.gridy = 0;
gbc.fill = GridBagConstraints.NONE;
add(new JTextField(10), gbc);
gbc.gridy++;
add(new JTextField(20), gbc);
gbc.gridx = 0;
gbc.gridy++;
gbc.anchor = GridBagConstraints.CENTER;
gbc.gridwidth = 2;
add(new JButton("Register"), gbc);
}
}
}
나는 당신의 코드를 시험해 보았지만, 여전히 어떤 것도 바꾸지 않았다. 레이아웃은 다음과 같습니다 : 이름 활동 패널의 왼쪽으로 이동 한 활동이 없습니다. – Sophie
패널이 패널의 기본 크기를 사용하는 패널 내에 배치되었으므로 아무런 변화가 없습니다. – MadProgrammer
하지만 어떻게 만들 수 있습니까? 변화? 고마워요! – Sophie