package sortjlistexample;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Collections;
public class SortJListExample extends JFrame {
private DefaultListModel<String> listModel;
private JList<String> stringList;
public SortJListExample() {
setTitle("Sort JList Example");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 250);
setLocationRelativeTo(null);
listModel = new DefaultListModel<>();
listModel.addElement("Banana");
listModel.addElement("Apple");
listModel.addElement("Orange");
listModel.addElement("Grape");
stringList = new JList<>(listModel);
add(new JScrollPane(stringList), "Center");
JButton sortButton = new JButton("Sort");
sortButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
sortList();
}
});
add(sortButton, "South");
}
private void sortList() {
ArrayList<String> data = new ArrayList<>();
for (int i = 0; i < listModel.size(); i++) {
data.add(listModel.getElementAt(i));
}
Collections.sort(data); // Sort the ArrayList
// Update the JList's model
listModel.clear();
for (String item : data) {
listModel.addElement(item);
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
new SortJListExample().setVisible(true);
});
}
}
Tidak ada komentar:
Posting Komentar