السلام عليكم ورحمة الله وبركاته :lol:
لقد جربت مؤخرا متعة استعمال الJTables ومدى روعتها ... لكنها صعبة كثييييير ، كما أني بحثت كثييييييرا عن Adding/Multiplying/Substraction two JTables وتسجيل الناتج/الحل في JTable آخر .... لكني وللأسف لم أعثر عليها .. :blink: :dry: :wacko:
جربت اجراء عملية الضرب بين مكونات الJTables ... استعملت 2 * JTables ، الاول من أجل الVector اما التاني فهو مخصص للMatrix "مصفوفة" .... لكن للأسف ما اشتغلت معاي والغريب في الامر انو مافي خطأ أصلا :huh:
:dry: :dry:
// Jtable 1 : this is the Vector
DefaultTableModel dtm_v0 = new DefaultTableModel();
Vect_V0.setModel(dtm_v0);
dtm_v0.addColumn("Col 1");
dtm_v0.addColumn("Col 2");
dtm_v0.addColumn("Col 3");
dtm_v0.addColumn("Col 4");
dtm_v0.addColumn("Col 5");
// adding values to the vector
dtm_v0.addRow(new Integer[]{4,5, 7, 5, 6});
//JTable 2 : this is the matrix
DefaultTableModel dtm_mat = new DefaultTableModel();
Mat_M.setModel(dtm_mat);
dtm_mat.addColumn("Col 1");
dtm_mat.addColumn("Col 2");
dtm_mat.addColumn("Col 3");
dtm_mat.addColumn("Col 4");
dtm_mat.addColumn("Col 5");
// adding values to the matrix
dtm_mat.addRow(new Integer[]{0,1, 2, 3, 4});
dtm_mat.addRow(new Integer[]{4,3, 2, 1,0});
dtm_mat.addRow(new Integer[]{0,1, 2, 3,4});
dtm_mat.addRow(new Integer[]{0,1, 2, 3, 4});
dtm_mat.addRow(new Integer[]{4,3, 2, 1,0});
// JTable 3 : this is the Vector Result of the multiplication between First Vector and Matrix
DefaultTableModel dtm_Result = new DefaultTableModel();
Vect_Result.setModel(dtm_Lim);
dtm_Result.addColumn("Col 1");
dtm_Result.addColumn("Col 2");
dtm_Result.addColumn("Col 3");
dtm_Result.addColumn("Col 4");
dtm_Result.addColumn("Col 5");
dtm_Result.addRow(new Integer[]{0,0, 0, 0, 0});طبعا حجم الvectors وحجم المصفوفة لازم يكون متساوي ... أخذت الحجم = 5 :wink:
int i=0;j=0;
// i mean Cols and j mean Rows
for(i=0;i<Mat_M.getModel().getColumnCount();i++){
int som = 0 ,mul=0;
for(j=0;j<Mat_M.getModel().getRowCount();j++){
int conVect_int = Integer.parseInt(dtm_v0.getValueAt(i, j).toString());
int conVMat_int = Integer.parseInt(Mat_M.getValueAt(i, j).toString());
mul = conVect_int * conVMat_int;
som = som + mul;
}
dtm_Result.setValueAt(som, i, j);
}... أتمنى المساعدة :cool: :blush:
بارك الله فيكم :happy: :happy: :happy:
