кулак всего
Последнее, проще говоря, FlowLayout
предназначен для использования только тогда, когда вы выравниваете свои компоненты по горизонтали, как если бы это был текст в строках.
вместо этого используйте другую раскладку, например BoxLayout
как это
public Table() {
getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));
String[] columnNames = {"First Name", "Last Name", "Address"};
Object[][] data = {{"Bob", "Hazel", "HelpMeDr"}, {"Yo", "Whattup", "ezpz"}};
TestDB = new JTable(data, columnNames);
TestDB.setPreferredScrollableViewportSize(new Dimension(500, 50));
TestDB.setFillsViewportHeight(true);
JScrollPane scrollPane = new JScrollPane(TestDB);
getContentPane().add(scrollPane);
JTextField textField = new JTextField();
getContentPane().add(textField);
}
И последнее, что текстовые компоненты имеют не менее 10 типов слушателей, вы должны использовать тот, который соответствует вашим потребностям. Ответ нашего друга (который я поддержал) предложил вам использовать ActionListener
, который будет вызываться каждый раз, когда пользователь нажимает «Enter» в текстовом поле.
см. Как использовать BoxLayout для лучшего понимания разметки и удачного кодирования ^ - ^.