के लिए पृष्ठभूमि थ्रेड मैं सोच रहा हूं कि जावाफैक्स में पृष्ठभूमि थ्रेड बनाने के संबंध में कोई भी मुझे परेशान करने वाली समस्या के साथ मेरी मदद कर सकता है! मेरे पास वर्तमान में कई SQL क्वेरी हैं जो यूआई में डेटा जोड़ती हैं जो वर्तमान में जावाएफएक्स एप्लिकेशन थ्रेड पर चलती है (नीचे उदाहरण देखें)। हालांकि जब इन प्रश्नों में से प्रत्येक निष्पादित करता है तो यह यूआई को फ्रीज करता है क्योंकि यह पृष्ठभूमि थ्रेड पर नहीं चल रहा है। मैंने विभिन्न उदाहरणों को देखा है जो कार्य का उपयोग करते हैं और उन्हें समझते हैं लेकिन डेटाबेस क्वेरी करते समय मैं उन्हें काम नहीं कर सकता, जिनमें से कुछ को चलाने के लिए कुछ सेकंड लगते हैं।जावाएफएक्स - एसक्यूएल क्वेरी
public void getTopOrders() {
customerOrders.clear();
try {
Connection con = DriverManager.getConnection(connectionUrl);
//Get all records from table
String SQL = "EXEC dbo.Get_Top_5_Customers_week";
ResultSet rs;
try (Statement stmt = con.createStatement();) {
rs = stmt.executeQuery(SQL);
while (rs.next()) {
double orderValue = Double.parseDouble(rs.getString(3));
customerOrders.add(new CustomerOrders(rs.getString(1),
rs.getString(2), "£" + formatter.format(orderValue),
rs.getString(4).substring(6, 8) + "/" +
rs.getString(4).substring(4, 6) + "/" +
rs.getString(4).substring(0, 4)));
}
}
} catch (SQLException | NumberFormatException e) {
}
}
प्रत्येक संसाधित रिकॉर्ड एक ObservableList जो एक tableview, या ग्राफ से जुड़ा हुआ या बस एक लेबल पर पाठ सेट है में जोड़ा जाता है (पर निर्भर करता है:
यहाँ कि एक प्रश्न निष्पादित करता है तरीकों में से एक है पूछताछ)। कैसे मैं एक पृष्ठभूमि धागे पर क्वेरी निष्पादित कर सकते हैं और के रूप में अलेक्जेंडर कीरॉफ़ की टिप्पणी में सुझाव अभी भी इंटरफ़ेस पहले से उपयोग करने के लिए और
धन्यवाद प्रश्नों से अद्यतन किया जा
क्या आपने javafx.concurrent पैकेज में कक्षाएं देखी हैं? docs.oracle.com/javafx/2/api/javafx/concurrent/...। मुझे लगता है कि, एक कार्य वर्ग विशेष रूप से आपके लिए दिलचस्प होना चाहिए: docs.oracle.com/javafx/2/api/javafx/concurrent/Task.html, आप विकल्पों की पूरी सूची को समझने के लिए, अपने जावाडोक को पढ़ सकते हैं। –
शायद डेटाएफएक्स आपकी मदद कर सकता है: http://www.javafxdata.org या http://www.guigarage.com/category/datafx/ –