JavaFX小例子

JavaFX用户列表展示
本文介绍了一个使用JavaFX实现的简单应用程序,该程序通过自定义的User类来创建用户对象,并将其信息展示在一个HTML格式的表格中。文章展示了如何利用JavaFX的布局和控件特性来动态生成和显示用户列表。

 

 

[CODE]import javafx.ui.*;

//定义一个User类
class User {
attribute id: Integer;
attribute username: String;
attribute password: String;
attribute name: String;
attribute age: Integer;
}


//定义一个User列表
class UserList {
attribute users: User*;
}


//实例一个用户类 vlinux
var vlinux = User {
id: 1
username: "vlinux"
password: "abcdefg"
name: "李夏驰"
age: 22
};


//实例一个用户类 live41
var live41 = User {
id: 2
username: "live41"
password: "123456"
name: "live41"
age: 23
};


//实例一个用户列表类,并且将vlinux和live41都加入进来
var userList = UserList {
users: [vlinux, live41]
};


//主窗体
var frame = Frame {
content: Label { //用HTML语言把需要显示的内容写成HTML代码并且放入到一个Label组件中
text: bind
"<html>
<h1 align='center'>帐号列表</h1>
<table align='center' border='0' bgcolor='#008800' cellspacing='2' cellpadding='5'>
<tr bgcolor='#cccccc'>
<th>编号</th>
<th>帐号</th>
<th>密码</th>
<th>姓名</th>
<th>年龄</th>
</tr>
{
foreach ( user in userList.users )
"<tr bgcolor='#FFFF88'>
<td>{user.id}</td>
<td>{user.username}</td>
<td>{user.password}</td>
<td>{user.name}</td>
<td>{user.age}</td>
</tr>"
}
</table>
</html>"
}
};

frame.pack(); //这个和JFrame的一样
frame.centerOnScreen = true; //屏幕正中显示
frame.visible = true; //显示窗体[/CODE]

在引用中提及了两个使用 JavaFX 连接 MySQL 的项目,分别是图书管理系统和学生宿舍管理系统,但均未给出示例代码的直接下载途径。不过,引用[3]给出了 JavaFX 连接 MySQL 开发图书管理系统的环境和 Pom 依赖信息。以下是一个简单的 JavaFX 连接 MySQL 的示例代码: ```java import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.layout.VBox; import javafx.stage.Stage; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class JavaFXMySQLExample extends Application { @Override public void start(Stage primaryStage) { try { // 加载 MySQL 驱动 Class.forName("com.mysql.cj.jdbc.Driver"); // 建立数据库连接 Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/your_database", "your_username", "your_password"); // 创建 Statement 对象 Statement statement = connection.createStatement(); // 执行 SQL 查询 ResultSet resultSet = statement.executeQuery("SELECT * FROM your_table"); VBox vbox = new VBox(); while (resultSet.next()) { // 假设表中有一个名为 'name' 的列 String name = resultSet.getString("name"); Label label = new Label(name); vbox.getChildren().add(label); } // 关闭资源 resultSet.close(); statement.close(); connection.close(); Scene scene = new Scene(vbox, 300, 250); primaryStage.setTitle("JavaFX MySQL Example"); primaryStage.setScene(scene); primaryStage.show(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { launch(args); } } ``` 注意要将 `your_database`、`your_username`、`your_password` 和 `your_table` 替换为实际的数据库名、用户名、密码和表名。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值