Я работаю с JTable
Это может отображать некоторые данные, отсортированные по последним двум столбцам. Проблема состоит в том, что последние две колонки заполнены строками, одна из которых - Дни слабых (с понедельника по пятницу), остальные - часы (HH: мм), я хотел бы отсортировать их с понедельника по пятницу, и если есть больше элементов того же Дня, которые они должны сортировать по Erliest Hour. До сих пор google не очень помогала, так как в нем есть только способы отсортировать что-то в алфавитном порядке в порядке Ascendant/descendant для чисел, но мне не нужен по алфавиту JTable. У кого-нибудь есть идея?Сортировка содержимого JTable
public class ScheduleFrame extends JFrame {
private JPanel contentPane;
private static JTable table;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
ScheduleFrame frame = new ScheduleFrame();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
* @throws Exception
*/
public ScheduleFrame(){
setTitle("Schedule");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 627, 405);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
JScrollPane scrollPane = new JScrollPane();
contentPane.add(scrollPane, BorderLayout.CENTER);
table = new JTable();
scrollPane.setViewportView(table);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
table.setModel(new DefaultTableModel(
new Object[][] {
},
new String[] {
"Course Name", "Course Room","Course Day", "Course Hour"
}
));}
public static void loadTable()throws Exception{
DefaultTableModel tm = (DefaultTableModel) table.getModel();
BufferedReader bfw = new BufferedReader(new FileReader("Schedulecourses.txt"));
String line;
while((line = bfw.readLine()) != null) {
tm.addRow(line.split("\t"));
}
bfw.close();
}
}
Вот как это schould выглядеть
Привет, Данаил, во-первых, спасибо за ответ. Я попытался бы реализовать ваше предложение, но я не полностью понял, что вы имеете в виду, можете ли вы добавить некоторые детали к вашему предложению? это действительно помогло бы :) – Erry07
Привет, я попытался добавить немного большей ясности в ответ. Проверьте изменения. Надеюсь, теперь это легче понять. –