Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

हम जावा में JComboBox के आइटम को कैसे सॉर्ट कर सकते हैं?


एक JComboBox JComponent . का उपवर्ग है वर्ग और यह एक पाठ क्षेत्र . का संयोजन है और एक ड्रॉप-डाउन सूची जिसमें से उपयोगकर्ता एक मूल्य चुन सकता है। एक JComboBox एक ActionListener, ChangeListener, . उत्पन्न कर सकता है और आइटम लिस्टनर इंटरफेस जब उपयोगकर्ता कॉम्बो बॉक्स पर कार्रवाई करता है। डिफ़ॉल्ट रूप से, एक JComboBox आइटम को सॉर्ट करने के लिए समर्थन नहीं करता है, हम DefaultComboBoxModel का विस्तार करके कोड को कस्टमाइज़ कर सकते हैं। कक्षा।

उदाहरण

import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
public class JComboBoxSorterTest extends JFrame {
   private JComboBox comboBox;
   private JTextField textField;
   public JComboBoxSorterTest() {
      setTitle("JComboBoxSorter Test");
      setLayout(new FlowLayout());
      textField = new JTextField(10);
      textField.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
            comboBox.addItem(textField.getText());
            textField.setText("");
            comboBox.showPopup();
         }
      });
      String[] items = {"raja", "archana", "vineet", "krishna", "adithya"};
      SortedComboBoxModel model = new SortedComboBoxModel(items);
      comboBox = new JComboBox(model);
      comboBox.setPrototypeDisplayValue("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
      Box box1 = Box.createHorizontalBox();
      box1.add(new JLabel("Enter a name and hit enter "));
      box1.add(textField);
      Box box2 = Box.createHorizontalBox();
      box2.add(comboBox);
      add(box1);
      add(box2);
      setSize(375, 250);
      setDefaultCloseOperation(EXIT_ON_CLOSE);
      setLocationRelativeTo(null);
      setVisible(true);
   }
   // Customize the code for sorting of items in the JComboBox
   private class SortedComboBoxModel extends DefaultComboBoxModel {
      public SortedComboBoxModel() {
         super();
      }
      public SortedComboBoxModel(Object[] items) {
         Arrays.sort(items);
         int size = items.length;
         for (int i = 0; i < size; i++) {
            super.addElement(items[i]);
         }
         setSelectedItem(items[0]);
      }
      public SortedComboBoxModel(Vector items) {
         Collections.sort(items);
         int size = items.size();
         for (int i = 0; i < size; i++) {
            super.addElement(items.elementAt(i));
         }
         setSelectedItem(items.elementAt(0));
      }
      public void addElement(Object element) {
         insertElementAt(element, 0);
      }
      public void insertElementAt(Object element, int index) {
         int size = getSize();
         for (index = 0; index < size; index++) {
            Comparable c = (Comparable) getElementAt(index);
            if (c.compareTo(element) > 0) {
               break;
            }
         }
         super.insertElementAt(element, index);
      }
   }
   public static void main(String[] args) {
      new JComboBoxSorterTest();
   }
}

आउटपुट

हम जावा में JComboBox के आइटम को कैसे सॉर्ट कर सकते हैं?


  1. हम जावा में क्षैतिज रूप से JRadioButtons को कैसे संरेखित कर सकते हैं?

    A JRadioButton JToggleButton . का उपवर्ग है और यह एक दो-राज्य बटन है जिसे या तो चयनित . किया जा सकता है या अचयनित . चेकबॉक्स के विपरीत, रेडियो बटन एक समूह से जुड़े होते हैं और समूह में केवल एक रेडियो बटन का चयन किया जा सकता है और इसे बटन समूह का उपयोग करके कार्यान्वित किया जा सकता है। कक्षा। जब

  1. हम जावा में जेबटन के एचटीएमएल टेक्स्ट को कैसे कार्यान्वित कर सकते हैं?

    एक JButton सार बटन . का उपवर्ग है और यह जावा स्विंग पदानुक्रम में एक महत्वपूर्ण घटक है। एक जेबटन ज्यादातर लॉगिन आधारित अनुप्रयोगों में उपयोग किया जा सकता है। एक जेबटन एक एक्शन लिस्टनर generate उत्पन्न कर सकता है इंटरफ़ेस जब हम दबाने या क्लिक करने . का प्रयास करते हैं एक बटन। JButton में एक टेक्स

  1. हम जावा में संपादन योग्य JComboBox कैसे कार्यान्वित कर सकते हैं?

    JComboBox एक JComboBox JComponent का विस्तार कर सकते हैं वर्ग और यह एक पाठ क्षेत्र . का संयोजन है और एक ड्रॉप-डाउन सूची जिससे उपयोगकर्ता कोई मान चुन सकता है। यदि नियंत्रण का टेक्स्ट फ़ील्ड भाग संपादन योग्य है, तो उपयोगकर्ता फ़ील्ड में एक मान दर्ज कर सकता है या ड्रॉप-डाउन सूची से प्राप्त मान को संप