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

أداة Jtable

بدأه diamond5 في 11 أغسطس 2009 · 6 رد · 610 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

مرحبا بكم ..

أريد كيفية عرض بيانات من DB في jTable swing . ما اسم الخاصية التي تمكني من فعل ذلك؟

مثل خاصية data source الخاصة بأداةdata grid view في دوت نت؟هل يوجد امكانية في الجافا لفعل ذلك بكل سهولة مثل مايكروسوفت؟

#2

أظن أن هذا ممكن باستعمال Netbeans لكني شخصيا لم أجربه من قبل

راجع هذا الرابط http://www.netbeans.org/kb/docs/java/gui-db.html

لكني لا أظن أن الأمر سيكون بالسهولة التي يوفرها Visual Studio.Net

#3

شكرا جزيلا أخ herch ..

لو استطعت ان تدلنى ايضا على تطبيق ذلك بلأكواد فجزاك الله خيرا ..

بالتوفيق

#4

المشكل أني لم أعمل بها من قبل

حاولت مرة أن أجربها لكنها بدت لي كثيرة التعقيد وتصعب الأمور أكثر مما تسهلها

#5

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

لقد و اجهتني مشكلة الJTable

و الحمد لله إستطعت ان أحلها

الJTable

له عدة خصائص يحب معرفتها

*تستطيع ان تقرأ منه

*لا تستطيع ان تكتب فيه

*تستطيع تنظيمه كما تريد بعدد الأسطر و عدد ال columns

اعذرني لا اعرف إسمها باللغة العربية

*لا يوضع في JPanel

بل في JScrollPane

وله طريقة خاصة

لنفرض انه الt هو اوبجكت عن الJTable

و ال sp اوبجكت عن

الJScrollPane

sp.setViewPortView(t);

طيب السؤال كيف اضع المعلومات به؟؟؟

في الرد القادم انتظرني

#6

الأعمدة columns

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#7

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

يمكن ملئ الـ jtable عن طريق الـ table model وإليك مثال

import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Vector;
import javax.swing.table.AbstractTableModel;

/**
 *
 * @author eng ahmad
 */
public class ResultsModel extends AbstractTableModel{
	private String[] columnsName = new String[0];
	private Vector<String[]> dataRows = new Vector<String[]>();
	/** Creates a new instance of ResultsModel */
	public ResultsModel() {
	}

	public void setResultSet(ResultSet results){
		if(results == null){
			columnsName = new String[0];
			dataRows.clear();
			fireTableChanged(null);
			return;
		}
		try {
			ResultSetMetaData metadata = results.getMetaData();

			int columns = metadata.getColumnCount();
			columnsName = new String[columns];
			for (int i = 0; i < columns; i++){
				columnsName = metadata.getColumnLabel(i+1);
			}
			dataRows.clear();
			String[] rowData;
			while(results.next()){
				rowData = new String[columns];
				for (int i =0; i<columns; i++){
					rowData = results.getString(i+1);
				}
				dataRows.add(rowData);
			}
			fireTableChanged(null);
		} catch (SQLException ex) {
			ex.printStackTrace();
		}
	}
	public int getRowCount() {
		return dataRows==null ? 0:dataRows.size();
	}

	public int getColumnCount() {
		return columnsName.length;
	}

	public String getValueAt(int rowIndex, int columnIndex) {
		return dataRows.elementAt(rowIndex)[columnIndex];
	}

	public String getColumnName(int column){
		return columnsName[column] == null? "No name":columnsName[column];
	}
}

بعد إنشاء الكائن من هذه الفئة

تستدعي setResultSet ممرا لها كائن الـ ResultSet الذي يحتوي علي بياناتك التي تريد عرضها في الجدول

ثم

myJTableObject.setModel(myResultsModelObject)

الايميل غير صحيح

يرجى تصحيح الايميل برسالة لأحد مدراء المنتدى

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