#java #user-interface
#java #пользовательский интерфейс
Вопрос:
У меня есть метод void, который печатает данные в красивой таблице в другом классе. Я хотел бы спросить, как я могу распечатать содержимое этого метода void в JFrame?
public void printInformation(Person[] data) {
for (int i=0, i<data.length' i ){
System.out.println(data[i].getName() " | " data[i].getSurname());
}
}
Комментарии:
1. можете ли вы опубликовать код? Как бы вы хотели, чтобы отображение было напечатано в JFrame, что вы пробовали до сих пор, что не сработало?
2. Я хочу, чтобы вся эта информация была в JFrame. Можно ли передать данные в JFrame, вызвав этот метод?
3. Посмотрите на ответ @Zizhen Song, это должно сработать
Ответ №1:
Данные могут быть напечатаны в JFrame с помощью класса JTable.
JTable table;
public void createTable(Person[] data) {
String[] columnNames = {"Name", "Surname"};
String[][] people = new String[data.length][2];
for (int i=0, i<data.length, i ){
people[i] = {data[i].getName(), data[i].getSurname());
}
table = new JTable(people, columnNames);
}
В JTable есть конструктор:
- JTable(Object[][] rowData, Object[] ColumnNames)
Вы можете создать два массива: один, содержащий ваш набор данных, и один, содержащий имена столбцов. Используя два массива, вы можете вывести таблицу в JFrame