Senin, 08 September 2025

JAVA - SortJList

 





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: