كيف يمكن أن نقوم تلوين خلية في جدول أو صف كامل
جربت بالنسبة للعمود عرفت ألونه
بس الخلية والصف ما قدرت
كيف يمكن أن نقوم تلوين خلية في جدول أو صف كامل
جربت بالنسبة للعمود عرفت ألونه
بس الخلية والصف ما قدرت
صفحاتي: صفحة حسام الملحم www.hussam.ws مدونة
آخر المشاريع: مشروع لغة برمجة عربية شيئية التوجه
ألعاب على الجوال : 1-(لعبة O X على الجوال ) 2-(لعبة الرقم السري على الجوال ) 3-(لعبة آخر حبة على الجوال )
ألعاب على الحاسب: لعبة الوزراء الثمان ، لعبة شطرنج ، لعبة التركيب Tetris
مواضيعي:
الفرق الجذري بين الجافا و C# شرح التعامل مع WTK لبرمجة الجوالات
مشاركاتي:
برنامج (كاتب) للكاتب فهد OMLX، برنامج (المحول) للكاتب فهد OMLX، برنامج (Unit Storm) للكاتب بشير C&Dell، أيهما أكبر الأعداد الصحيحة أم الطبيعية للكاتب Romanof، سؤال رياضي بحت للكاتب VB6-Rocket، التحدي الكبير للكاتب ANSI،
بالنسبة للعمود
table.get Culomn(1).setBackground(Color.black);
هل جربت الوصلة التي أعطيتك إياها،،؟
الأمر ليس مباشر،، لكن عليك أن تعمل القليل من الجهد!
تحتاج أن تصنع فئة جديدة خاصة لرسم محتويات الخلايا!
بهذا الطريقة تستطيع أن تحدد لون أحد الخلايا!
هذا القليل من الجهد سيمكنك من فهم كيف التحكم بمظهر الجدول كاملا!
بالمناسبة،، ابحث عن TableCellRenderer في المنتدى أو في google وربما تجد بعض التعليمات،
بالتوفيق!
صفحاتي: صفحة حسام الملحم www.hussam.ws مدونة
آخر المشاريع: مشروع لغة برمجة عربية شيئية التوجه
ألعاب على الجوال : 1-(لعبة O X على الجوال ) 2-(لعبة الرقم السري على الجوال ) 3-(لعبة آخر حبة على الجوال )
ألعاب على الحاسب: لعبة الوزراء الثمان ، لعبة شطرنج ، لعبة التركيب Tetris
مواضيعي:
الفرق الجذري بين الجافا و C# شرح التعامل مع WTK لبرمجة الجوالات
مشاركاتي:
برنامج (كاتب) للكاتب فهد OMLX، برنامج (المحول) للكاتب فهد OMLX، برنامج (Unit Storm) للكاتب بشير C&Dell، أيهما أكبر الأعداد الصحيحة أم الطبيعية للكاتب Romanof، سؤال رياضي بحت للكاتب VB6-Rocket، التحدي الكبير للكاتب ANSI،
جزاك الله خير ابو مازن
اعتقد انها لا تختلف كثيرا عن ListCellRenderer
كان لي محاولات في تلوين خلايا JTable ، واعتقد ان هذه المحاوله هي الافضل مع الصنف TableCellRenderer ..
package test2;
import javax.swing.table.TableCellRenderer;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class MyTableCellRenderer implements TableCellRenderer {
private JLabel label;
public MyTableCellRenderer(){
label= new JLabel();
label.setOpaque(true);
label.setHorizontalAlignment(JLabel.CENTER);
label.setVerticalAlignment(JLabel.CENTER);
}
public Component getTableCellRendererComponent(JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column)
{
Color foreground, background;
label.setText(value.toString());
if (isSelected) {
foreground = new Color(147, 0, 127);
background = new Color(255, 231, 252);
} else {
if (row % 2 == 0) {
foreground = new Color(19, 37, 121);
background = new Color(212, 217, 244);
} else {
foreground = new Color(0, 102, 51);
background = new Color(219, 255, 237);
}
}
// if(hasFocus){
// foreground = new Color(99, 106, 71);
// background = new Color(229, 235, 203);
// }
if(value.toString().equals("0"))
foreground = new java.awt.Color(252, 38, 0);
label.setForeground(foreground);
label.setBackground(background);
return label;
}
}package test2;
import java.util.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
public class Test_Frame_Table extends JFrame {
JTable table;
JButton button;
Object [][] row;
Object [] col;
public Test_Frame_Table(){
row=getRowData();
col=getColumnData();
table=new JTable( row, col);
table.setDefaultRenderer(Object.class, new MyTableCellRenderer());
button= new JButton("colse");
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
close();
}
});
JPanel panelCenter= new JPanel();
panelCenter.add(table);
add(panelCenter, BorderLayout.CENTER);
add(button, BorderLayout.SOUTH);
pack();
setVisible(true);
}
private void close(){
System.exit(0);
}
public Object[] getColumnData(){
return new Object[]{"ID", "NAME"};
}
public Object[][] getRowData(){
return new Object[][]{
{"111", "uthman"},
{"222", "FAHED"},
{"0", "kaled"},
{"444", "ali"}
};
}
public static void main(String[]ar){
new Test_Frame_Table();
}
}لو أردت انشاء حدث عند تغيير قيمة أي خليه
هل اضيف المستمع
VetoableChangeListener
للعنصر label الموجود في الصنف MyTableCellRenderer
؟ او هناك مستمع افضل .
.jpg)
لم أجرب الشفرة،، لكن واضح أنها تلون الخلايا حسب شروط معينة،، عمل رائع،،،
لكن الشفرة الثانية غريبة عليك!!
يعني أفترض أنك تعرف TableModel قبل أن تعرف TableCellRenderer!
عموما،، دائما استخدم TableModel أو طبعا AbstractTableModel،، عندها الأمر سيكون سهلا جدا!!
كل ما عليك هو أن تستمع لهذا AbstractTableModel من خلال addListener خاص بها،،
المهم،،
لو تغير أي شيء في هذا الجدول الحقيقي TableModel يكفي أن تنادي على tableContentsChanged وسيعرف كل مستمع بهذا التغيير!
بالتوفيق!
صفحاتي: صفحة حسام الملحم www.hussam.ws مدونة
آخر المشاريع: مشروع لغة برمجة عربية شيئية التوجه
ألعاب على الجوال : 1-(لعبة O X على الجوال ) 2-(لعبة الرقم السري على الجوال ) 3-(لعبة آخر حبة على الجوال )
ألعاب على الحاسب: لعبة الوزراء الثمان ، لعبة شطرنج ، لعبة التركيب Tetris
مواضيعي:
الفرق الجذري بين الجافا و C# شرح التعامل مع WTK لبرمجة الجوالات
مشاركاتي:
برنامج (كاتب) للكاتب فهد OMLX، برنامج (المحول) للكاتب فهد OMLX، برنامج (Unit Storm) للكاتب بشير C&Dell، أيهما أكبر الأعداد الصحيحة أم الطبيعية للكاتب Romanof، سؤال رياضي بحت للكاتب VB6-Rocket، التحدي الكبير للكاتب ANSI،
هذا الموضوع مغلق.