JTable table = new JTable(data,columnNames);
JScrollPane pane = new JScrollPane(table);
this.add(pane);
this.add(table);
Мои данные отображаются, но имя столбца не отображается сверху.Невозможно получить имя столбца в JTable в Swing
JTable table = new JTable(data,columnNames);
JScrollPane pane = new JScrollPane(table);
this.add(pane);
this.add(table);
Мои данные отображаются, но имя столбца не отображается сверху.Невозможно получить имя столбца в JTable в Swing
Компонент может иметь только один родительский элемент.
JScrollPane pane = new JScrollPane(table);
this.add(pane);
this.add(table);
Сначала добавьте таблицу в окне просмотра в ScrollPane, что хорошо, так как это приведет к тому, заголовок таблицы автоматически будет отображаться, когда GUI становится видимым.
Но тогда вы добавляете таблицу непосредственно в фрейм, что плохо, потому что оно больше не может отображаться в scrollpane.
Избавьтесь от:
//this.add(table);
, а затем ScrollPane, содержащий таблицу, будут отображаться на раме.
Я прокомментировал эту строку, но ее не показывал заголовок (имя столбца) сверху. Но когда я печатаю на консоли, он отображает как данные, так и имя столбца. – user2592244
JTable API и следуйте ссылке на учебник Swing на тему «Как использовать таблицы» для рабочего примера. Если у вас все еще есть проблемы, отправьте сообщение [SSCCE] (http://sscce.org/), демонстрирующее проблему. Я дал свое лучшее предположение, основываясь на ваших четырех строках кода. – camickr
@camickr SSCCE был «удален» в пользу [MCVE] (http://stackoverflow.com/help/mcve). Последний документ короче, размещен на Stack Exchange и был разработан консенсусом сообщества. Хотелось бы вам знать .. –
Посмотрите на этот пример
import java.awt.Color;
import javax.swing.*;
public class table extends JFrame{
public table() {
setSize(600, 300);
String[] columnNames = {"A", "B", "C"};
Object[][] data = {
{"Moni", "adsad", 2},
{"Jhon", "ewrewr", 4},
{"Max", "zxczxc", 6}
};
JTable table = new JTable(data, columnNames);
JScrollPane tableSP = new JScrollPane(table);
JPanel tablePanel = new JPanel();
tablePanel.add(tableSP);
tablePanel.setBackground(Color.red);
add(tablePanel);
setTitle("Marks");
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
table ex = new table();
ex.setVisible(true);
}
});
}
}
Как вы реализующего 'TableModel'? Пожалуйста, посмотрите на эту [нить] (http://stackoverflow.com/q/9647522/1057230). Надеюсь, что это могло бы ответить на это сообщение :-) –