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

كيف اضيف عناصر مصفوفة الى جدول

بدأه vector_ever في 9 أبريل 2011 · 6 رد · 412 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

فرضا يا اخوان لو كان لدي مصفوفة ثنائية كمايلي

int [][] array = {{10,8,12,7,6,11},
		{12,6,11,12,8,7},
		{15,7,7,9,10,8},
		{10,4,7,3,7,9},
		{8,12,7,6,12,13},
		{7,8,7,11,13,6},
		{13,10,10,13,7,9}
	};

وكل هدفي هو أن أضيفهذه المصفوفة الى جدول table موجود على فريم

لكن طبعا المصفوفة لن تكون دائمة بهذا الحجم أي انها متغيرة الحجم مما يعني ان الجدول ممكن ان يكبر او يصغر وانا اريده على حجم المصفوفة

فكيف أفعل هذا؟

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


#2

جرب كدا

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;

/**
 *
 * @author Mahmoud Kelany
 */
public class FillTableWith2DArray extends JFrame {

	private Integer dataArray[][];
	private JTable dataTable;

	public FillTableWith2DArray(int[][] dataArray) {
    	this.dataArray = new Integer[dataArray.length][dataArray[0].length];
    	for (int i = 0; i < dataArray.length; i++) {
        	for (int j = 0; j < dataArray[0].length; j++) {
            	this.dataArray[j] = new Integer(dataArray[j]);
        	}
    	}
    	createGUI();
	}

	private void createGUI() {
    	String names[] = new String[dataArray[0].length];
    	for (int i = 0; i < names.length; i++) {
        	names = "col " + (i + 1);
    	}
    	dataTable = new JTable(dataArray, names);
    	add(new JScrollPane(dataTable));
	}

	public static void main(String[] args) {
    	int[][] array = {{10, 8, 12, 7, 6, 11},
        	{12, 6, 11, 12, 8, 7},
        	{15, 7, 7, 9, 10, 8},
        	{10, 4, 7, 3, 7, 9},
        	{8, 12, 7, 6, 12, 13},
        	{7, 8, 7, 11, 13, 6},
        	{13, 10, 10, 13, 7, 9}
    	};
    	FillTableWith2DArray f = new FillTableWith2DArray(array);
    	f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	f.setSize(500, 500);
    	f.setVisible(true);
	}
}
1

Software Developer
Mahmoudkelany.com


 

#3

أخ محمود ماشاء الله عليك دائما متميز

لكن اخي انا قد حاولت تعديل الكود ليصبح شكل الـ table كما يلي

post-152477-057684600 1302361173_thumb.j

لاحظ أخي الاضافة التي قمت بها في كل صف أيضا مثلا اريده ان يحدد انني في الصف الاول ثم اثاني فالثالث وهكذا حسب عدد صفوف المصفوفة

ام ان هذا الشيء لا يمكن دعمه بواسطة الـ table

لانني عندما حاولت التعديل اعطاني خطأ

فما العمل

المرفقات
table.jpg

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


#4

انا مش فاهم سوالك عاوز ايه بالظبط

لكن اللى توقعته انك تكون عاوز تعمل الشكل دا

بس لم عملته حصلت معاك اخطاء

فدا الكود بعد التعديل لكى يتوافق مع الشكل الذى تريده

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;

/**
 *
 * @author Mahmoud Kelany
 */
public class FillTableWith2DArray extends JFrame {

	private Object dataArray[][];
	private JTable dataTable;

	public FillTableWith2DArray(int[][] dataArray) {
    	this.dataArray = new Object[dataArray.length][dataArray[0].length + 1];
    	for (int i = 0; i < dataArray.length; i++) {
        	for (int j = 0; j < dataArray[0].length; j++) {
            	if (j == 0) {
                	this.dataArray[j] = "row" + (i + 1);
            	}
            	this.dataArray[j + 1] = dataArray[j];
        	}
    	}
    	createGUI();
	}

	private void createGUI() {
    	String names[] = new String[dataArray[0].length];
    	for (int i = 0; i < names.length; i++) {
        	names = "col " + (i + 1);
    	}
    	dataTable = new JTable(dataArray, names);
    	add(new JScrollPane(dataTable));
	}

	public static void main(String[] args) {
    	int[][] array = {{10, 8, 12, 7, 6, 11},
        	{12, 6, 11, 12, 8, 7},
        	{15, 7, 7, 9, 10, 8},
        	{10, 4, 7, 3, 7, 9},
        	{8, 12, 7, 6, 12, 13},
        	{7, 8, 7, 11, 13, 6},
        	{13, 10, 10, 13, 7, 9}
    	};
    	FillTableWith2DArray f = new FillTableWith2DArray(array);
    	f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	f.setSize(500, 500);
    	f.setVisible(true);
	}
}

Software Developer
Mahmoudkelany.com


 

#5

شكرا اخي على التعديل

لكن هل يمكن ايضا مثلا اضافة JScrollPane بالعرض أيضا كما هي موجودة بالطول

وذلك في حال أصبح عدد الاعمدة بالمصفوفة كبيرا جدا

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


#6

الـ JTable مضافه على الـJScrollPane

فبالتالى فيها Horizontal , Vertical بار

Software Developer
Mahmoudkelany.com


 

#7

شكرا اخي والله تعبتك معي

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…