ورود

View Full Version : سوال: نمایش ندادن خروجی در جدول



M0TR!X
شنبه 22 آذر 1393, 01:03 صبح
سلام.

من اطلاعات رو از دیتابیس میخونم و داخل تیبل نشون میدم ولی چیزی نشون نمیده اروری هم نمیده.



/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package javafxtest;

import com.mysql.jdbc.log.Log;
import static com.sun.org.apache.xalan.internal.xsltc.compiler.u til.Type.String;
import java.lang.reflect.InvocationTargetException;
import java.net.URL;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.ResourceBundle;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.beans.InvalidationListener;
import javafx.collections.FXCollections;
import javafx.collections.ListChangeListener;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.Scene;
import javafx.scene.control.ComboBox;
import javafx.scene.control.ListView;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.SingleSelectionModel;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.input.MouseEvent;
import javafx.stage.Stage;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;

/**
* FXML Controller class
*
* @author M0TRIX
*/
public class FXMLResultController implements Initializable {

@FXML
TableView Tblresult = new TableView();

@FXML
TableColumn col;
@FXML
ResultSet Rs = null;
@FXML
public ComboBox reportcombo;

@FXML
int id = 1;

@FXML
public void SelectItem(ActionEvent event) throws SQLException {
ObservableList data = FXCollections.observableArrayList();
ObservableList row=null;
// ObservableList row = FXCollections.observableArrayList();
//ListView<String> a = new ListView<String>();
// ArrayList row = new ArrayList();
// ResultSetMetaData row;

id = reportcombo.getSelectionModel().getSelectedIndex() ;
String Query = null;

switch (id) {
case 0:
Query = "select * from book";

break;
case 1:
Query = "select sum(price) from book";

break;
case 2:
Query = "select count(*) as tedad,title from book group by title";

break;
case 3:
Query = "select * from book(گرانترین کتاب)";

break;
case 4:
Query = "select * from book where";

break;
case 5:
Query = "select * from book";

break;
case 6:
Query = "select * from book";

break;
case 7:
Query = "select * from book";

break;
case 8:
Query = "select * from book";

break;
case 9:
Query = "select * from book";

break;
case 10:
Query = "select * from book";

break;
case 11:
Query = "select * from book";

break;

case 12:
Query = "select * from book";

break;
case 13:
Query = "select * from book";

break;

}

Rs = DB_Model.Exequte_Query(Query);
Rs.beforeFirst();
int counter = 1;
Tblresult.getColumns().clear();
while (Rs.next()) {
row = FXCollections.observableArrayList();
row.add(Rs.getString(counter));
data.add(row);
col = new TableColumn(Rs.getMetaData().getColumnName(counter ));
Tblresult.getColumns().add(col);

counter++;
}

Tblresult.getItems().setAll(data);
Tblresult.setItems(data);
Tblresult.setVisible(true);
for (int i = 1; i <= 4; i++) {
System.err.println(data);

}

}

@Override
public void initialize(URL url, ResourceBundle rb) {
reportcombo.getItems().addAll("لیست کتابهای موجود", "قیمت کل کتابهای موجود", "تعداد کتابهای هر موضوع", "نام گرانترین کتاب", "لیست کتابهایی که تاکنون به امانت نرفته اند", "لیست کتابهایی که تاکنون بیشتر از همه به امانت رفته اند");
reportcombo.getItems().addAll("لیست دانشجویان عضو کتابخانه", "تعداد دانشجویان به تفکیک رشته و جنسیت");
reportcombo.getItems().addAll("لیست کتابهای مجانی", "ایمیل دانشجویانی پسری که کتال به امانت نبرده اند", "ایمیل دانشجویانی پسری که کتال به امانت برده اند", "لیست کتابهای به امانت رفته", "لیست دختران و پسرانی که کتاب به امانت برده اند");
}

}

M0TR!X
شنبه 22 آذر 1393, 19:44 عصر
کسی نیست......

محمد فدوی
دوشنبه 24 آذر 1393, 20:07 عصر
کدت کامل نیست. ولی بدون شک دچار مشکل میشه! چون این روش استفاده از JTable نیست. توی سایت java2s مثال‌های خوبی زده شده. مثلا این (http://www.java2s.com/Tutorial/Java/0240__Swing/CreatingaJTable.htm) رو ببین و بقیه مثال‌ها ام که زیر صفحه لینک داده ببین.

M0TR!X
دوشنبه 24 آذر 1393, 22:34 عصر
کل کد رو گذاشتم

milad.aminizade
پنج شنبه 28 خرداد 1394, 15:18 عصر
عزیز پس متد main کجاست در ضمن ایشون می خوان از javafx استفاده کنن jtabale برا swinge

[younes]
سه شنبه 09 تیر 1394, 08:46 صبح
برای کار کردن با جداول در جاوا اف ایکس باید:
اول یک کلاس با استاندارد bean بسازید برای داده های row (فیلد ها به صورت فاینال و خصوصی و از نوع simpleStringProperty- متدهای get و set متناظر با فیلد ها به صورت عمومی )
بعد برای هر ردیف از جدول یک نمونه از اون رو به oservableList اضافه کنید و لیست را با متد setItems به جدول اضافه کنید.
و برای هر ستون یک نمونه از PropertyValueFactory متناظر با simpleStringProperty هایی که در کلاس اول داشتیم با متد setCellValueFactory اضافه کنید. همین.

مثالی در سایت اوراکل (http://docs.oracle.com/javafx/2/ui_controls/table-view.htm)