কম্পিউটার

কিভাবে আমরা জাভাতে একটি JComboBox এর আইটেমগুলি সাজাতে পারি?


A 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. জাভাতে একটি JComboBox এর আইটেমগুলিকে কীভাবে কেন্দ্রীভূত করবেন?

  2. কিভাবে আমরা জাভাতে JRadioButtons অনুভূমিকভাবে সারিবদ্ধ করতে পারি?

  3. কিভাবে আমরা জাভাতে JButton এর HTML পাঠ্য বাস্তবায়ন করতে পারি?

  4. কিভাবে আমরা জাভাতে সম্পাদনাযোগ্য JComboBox বাস্তবায়ন করতে পারি?