У меня есть следующий код, взятый из GeeksforGeeks, который отображает содержимое двумерного массива в JTable с использованием JScrollPane:
public class JTableExamples {
// frame
JFrame f;
// Table
JTable j;
// Constructor
JTableExamples()
{
// Frame initiallization
f = new JFrame();
// Frame Title
f.setTitle("JTable Example");
// Data to be displayed in the JTable
String[][] data = {
{ "Kundan Kumar Jha", "4031", "CSE" },
{ "Anand Jha", "6014", "IT" }
};
// Column Names
String[] columnNames = { "Name", "Roll Number", "Department" };
// Initializing the JTable
j = new JTable(data, columnNames);
j.setBounds(30, 40, 200, 300);
// adding it to JScrollPane
JScrollPane sp = new JScrollPane(j);
f.add(sp);
// Frame Size
f.setSize(500, 200);
// Frame Visible = true
f.setVisible(true);
}
Что я пытаюсь сделать, это добавить простой компонент (например, JButton)под столом, но это не похоже на работу.Я попытался изменить код, добавив JButton в JPanel и добавив JPanel во фрейм:
JButton button = new JButton("Back");
JPanel panel = new JPanel();
panel.add(button);
f.add(sp);
f.add(panel);
Но это просто удаляет всю таблицу и заменяет ее одной кнопкой.Я также попытался добавить кнопку в JPanel и добавить эту JPanel в JScrollPane:
JButton button = new JButton("Back");
JPanel panel = new JPanel();
panel.add(button);
sp.add(panel);
f.add(sp);
Но, похоже, это ничего не изменило.Я также пытался возиться с предпочтительным и максимальным размером JScrollPanel, но безрезультатно - он всегда занимает весь экран и не дает JButton появляться на экране.
Не для дизайна здесь, только для функциональности: пусть JButton появится под моим JTable.Любые предложения будут с благодарностью.Заранее спасибо!