У меня есть простой графический интерфейс, и я просто хочу, чтобы некоторые текстовые поля укладывались друг на друга, причем каждая коробка была JPanel. В настоящее время я использую FlowLayout как для JFrame, так и для JPanel, но при максимальном увеличении меняются из stackover. В идеале я бы хотел, чтобы текстовые поля оставались в центре окна, даже если он был максимальным. Я смотрел на использование BoxLayout, но у меня были проблемы с работой.Не удается получить макет качания, чтобы работать, как я хочу.
public static Component textbox(String x){
JPanel panel = new JPanel(new FlowLayout(5,5,5));
JLabel lbltAm= new JLabel(x);
JTextField tftAm = new JTextField(10);
lbltAm.setFont(new Font("Serif", Font.PLAIN, 14));
lbltAm.setForeground(Color.white);
panel.add(lbltAm, BorderLayout.NORTH);
panel.add(tftAm, BorderLayout.CENTER);
panel.setBackground(Color.DARK_GRAY);
Border lowerbevel = BorderFactory.createBevelBorder(BevelBorder.LOWERED);
panel.setBorder(lowerbevel);
return panel;
}
private static void createAndShowGUI() {
//Create and set up the window.
JFrame frame = new JFrame("Tip Calculator");
//Add Textbox
frame.setLayout(new BoxLayout(frame, BoxLayout.Y_AXIS));
String Label = "Tip Calculator";
JLabel header = new JLabel(Label);
header.setFont(new Font("Serif", Font.BOLD, 18));
frame.add(header);
frame.add(textbox("Total"));
frame.add(textbox("Tip %"));
frame.add(textbox("People"));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setBackground(Color.gray);
frame.setPreferredSize(new Dimension(300, 400));
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
Пожалуйста [принимать] (http://meta.stackexchange.com/a/5235/155831) некоторые ответы на предыдущие вопросы [] (http://stackoverflow.com/users/3769402/user3769402?tab=questions)! –
К сожалению, просто сделал это. Конечно, всегда кажется, что один ответ приводит к другому ответу. – user3769402
Ну, это * одно вниз *, но как насчет других 16?!? –