الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف اجعل محتويات JComboBox في المنتصف ؟

مغلق
بدأه - a l t - في 12 مارس 2006 · 3 رد · 530 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

العنوان يبين المطلوب !

المفروض احصل على جائزه من ادارة المنتدى :D

في JTextField نستخدم الطريقة setHorizontalAlignment

لكن في JComboBox ماهو البديل ؟

11_03_06_12_48_57_1142110137Image(_66).jpg

#2

الموضوع سهل جدا،،

http://java.sun.com/j2se/1.4.2/docs/api/ja...stCellRenderer)

http://java.sun.com/j2se/1.4.2/docs/api/ja...llRenderer.html

إذا فرغت من محاولتك، ضعها هنا...

#3

شكرا جزيلا

;) تم بحمد الله

وهذي محاولتي ....

JCompo.rar

11_03_06_12_48_57_1142110137Image(_66).jpg

#4

أحب أن أضيف إلى خياراتك:

package test;

import javax.swing.*;
import java.awt.*;

public class MyJCompoBoxRenderer implements ListCellRenderer {
     JLabel label;
     JLabel label2;
     public MyJCompoBoxRenderer() {
      label=new JLabel();
      label2=new JLabel();
        
        label.setOpaque(true);
        label2.setOpaque(true);
        label.setHorizontalAlignment(JLabel.CENTER);
        label2.setHorizontalAlignment(JLabel.CENTER);
        label.setVerticalAlignment(JLabel.CENTER);
        label2.setVerticalAlignment(JLabel.CENTER);
        
        label.setBackground(Color.red);
        label.setForeground(Color.white);
        label2.setBackground(Color.black);
        label2.setForeground(Color.white);
     }
     public Component getListCellRendererComponent(
                    JList list,
                    Object value,
                    int index,
                    boolean isSelected,
                    boolean cellHasFocus ){
         if(isSelected){
          label.setText(value.toString());
          return label;
         }else{
          label2.setText(value.toString());
          return label2;
         }
     }
 }

1- لاحظ اسم الفئة مناسب أكثر،، (عندما قرأت اسم فئتك ظننتها JComboBox خاص وليس Renderer)

2- الفئة لا ترث من JLabel ولكنها تتصف ب ListCellRenderer،، وهذا هو المهم.. لاحظ أننا نستطيع أن نرجع أي Component بهذه الطريقة! هذه الطريقة تريحك أكثر لو كنت تريد أن تتحكم بشكل أكبر في طريقة عرض JComboBox،، تخيل أنك تستطيع أن ترجع JPanel أو حتى JTextArea،، خيالك هو الحد!

بالتوفيق!

هذا الموضوع مغلق.

مواضيع مشابهة