منتدى مصر التقني
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

[Swing] تخصيص Customize JTable...تغير خلفية و لون الخط لرؤس الاعمدة TableHeader

اذهب الى الأسفل

[Swing] تخصيص Customize JTable...تغير خلفية و لون الخط لرؤس الاعمدة TableHeader Empty [Swing] تخصيص Customize JTable...تغير خلفية و لون الخط لرؤس الاعمدة TableHeader

مُساهمة من طرف 1zaza الإثنين فبراير 18, 2019 7:54 pm

الامثلة التالىة سنوضح كيفية تخصيص رؤس الاعمدة فى JTable مثل تغير لون الخط و ايضا تغير الخلفية وذلك بعدة طرق 

[Swing] تخصيص Customize JTable...تغير خلفية و لون الخط لرؤس الاعمدة TableHeader JTable%20column%20header%20custom%20renderer%20basic

الطريقة الاولى باستخدام getTableHeader :

الكود:

 // تغير خلفية رؤس الاعمدة
jTable1.getTableHeader().setBackground(Color.PINK);

//تغير لون اسماء رؤس الاعمدة
jTable1.getTableHeader().setForeground(Color.BLUE);


الطريقة الثانية باستخدام JTableHeader :

الكود:
JTableHeader H = jTable1.getTableHeader();
 H.setForeground(Color.red);
 H.setBackground(Color.darkGray);
 


الطريقة الثالثة إنشاء كائن renderers مخصصة لرؤوس الأعمدة

أولا نقوم بانشاء كلاس باسم SimpleHeaderRenderer كما يلى :

الكود:

import java.awt.Color;
import java.awt.Component;
import java.awt.Font;
 
import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.table.TableCellRenderer;

public class SimpleHeaderRenderer extends JLabel implements TableCellRenderer {
 
    public SimpleHeaderRenderer() {
        setFont(new Font("Consolas", Font.BOLD, 14));
        setForeground(Color.BLUE);
        setBorder(BorderFactory.createEtchedBorder());
    }
    
    @Override
    public Component getTableCellRendererComponent(JTable table, Object value,
            boolean isSelected, boolean hasFocus, int row, int column) {
        setText(value.toString());
        return this;
    }
 
}

و يمكنك استخدام الكلاس السابق على النحو التالى :

الكود:
table.getTableHeader().setDefaultRenderer(new SimpleHeaderRenderer());

كما يمكنك استخدام الكود التالى لتنسيق خلفية كل عامود على حدة 

الكود:

table.getColumnModel().getColumn(2).setHeaderRenderer(new SimpleHeaderRenderer());

[Swing] تخصيص Customize JTable...تغير خلفية و لون الخط لرؤس الاعمدة TableHeader JTable%20header%20multi%20custom%20renderers
1zaza
1zaza
...
...

تاريخ التسجيل : 18/11/2018
المساهمات : 39
النقاط : 66
التقيم : 3
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى