A JComboBox JComponent -এর একটি সাবক্লাস ক্লাস এবং এটি একটি টেক্সট ফিল্ডের সংমিশ্রণ এবং একটি ড্রপ-ডাউন তালিকা যা থেকে ব্যবহারকারী একটি মান চয়ন করতে পারেন। একটি JComboBox একটি ActionListener, ChangeListener তৈরি করতে পারে , এবং ItemListener ইন্টারফেস যখন ব্যবহারকারী একটি কম্বো বক্সে কাজ করে। আমরা JComboBox -এর ভিতরে বিভিন্ন ফন্ট শৈলী প্রদর্শন করতে পারি ListCellRenderer বাস্তবায়নের মাধ্যমে ইন্টারফেস
উদাহরণ
import java.awt.*;
import javax.swing.*;
public class JComboBoxFontTest extends JFrame {
private JComboBox fontComboBox;
private String fontName[];
private Integer array[];
public JComboBoxFontTest() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
fontName = ge.getAvailableFontFamilyNames();
array = new Integer[fontName.length];
for(int i=1;i<=fontName.length;i++) {
array[i-1] = i;
}
fontComboBox = new JComboBox(array);
ComboBoxRenderar renderar = new ComboBoxRenderar();
fontComboBox.setRenderer(renderar);
setLayout(new FlowLayout());
add(fontComboBox);
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
private class ComboBoxRenderar extends JLabel implements ListCellRenderer {
@Override
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
int offset = ((Integer)value).intValue() - 1;
String name = fontName[offset];
setText(name);
setFont(new Font(name,Font.PLAIN,20));
return this;
}
}
public static void main(String args[]) {
new JComboBoxFontTest();
}
} আউটপুট
