【发布时间】:2017-02-20 12:22:17
【问题描述】:
您好,我尝试在 JavaFX 的 start 方法中从 MySQL 执行 getData 之类的操作
现在在 Intellji 中,我单击“运行程序”,然后屏幕上会出现窗口。
我有一个“获取数据”按钮,点击它后,我从 Mysql 获取数据以在标签中显示。
当我们点击“运行程序”时,我们的程序的JavaFX显示窗口和这个来自MySQL的数据会自动显示在标签中是一些解决方案?
我的意思是如何在 public void start 中运行方法 getData(从 MySQL 获取数据)?
我显示变量“Label labelek;”点击按钮后 “标签标签;”在getData方法中
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception{
Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
primaryStage.setTitle("Hello World");
primaryStage.setScene(new Scene(root, 600, 275));
DBConnect connect = new DBConnect();
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
数据库连接
package sample;
import javafx.fxml.FXML;
import javafx.scene.control.Label;
import java.sql.*;
public class DBConnect {
private Connection con;
private Statement st;
private ResultSet rs;
@FXML
public Label labelek;
//utworzenie konstruktora
public DBConnect(){
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://xxx","xxx",
"xxx");
st = con.createStatement();
} catch (Exception ex){
System.out.println("Error: " + ex);
}
}
public void getData(){
try {
String query = "select * from x order by id desc limit 1";
rs = st.executeQuery(query);
System.out.println("Records from DataBase");
while(rs.next()){
String TemperaturaPow = rs.getString("TemperaturaPow");
labelek.setText("Temperature is " + temperathure);
}
} catch (Exception ex){
System.out.println("Error: " + ex);
}
}
}
【问题讨论】:
标签: javafx