Java - 如何将代码实现到 Netbeans gui builder 制作的 GUI 中?
Java -How to implement code into GUI made in Netbeans gui builder?
我使用 NetBeans GUI 构建器制作了一个 GUI,它看起来很棒!但是,我不知道如何实现代码来更改 GUI 内的值。
我的程序连接到数据库并提取每个患者的性别、房间号、床号、姓名和转诊来源等信息。 GUI 的目的是每隔一段时间就表示对该信息的任何更改,因此我希望它每 60 秒左右自动与数据库同步一次。我可以编写数据库同步的代码,并且我已经制作了 GUI。
我的问题是如何更新 NetBeans 制作的 GUI 中显示的信息?
public class ConnectMSSQLServer {
static int bedCount;
public static int getBedCount(){
return bedCount;
}
public void setBedCount(int number){
bedCount = number;
}
public void dbConnect(String db_connect_string, String db_userid, String db_password) {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(db_connect_string, db_userid, db_password);
System.out.println("connected");
Statement statement = conn.createStatement();
String queryString = "select f2 from beds.dbo.Sheet1$";
String queryString1 = "select f3 from beds.dbo.Sheet1$";
String queryString2 = "select f4 from beds.dbo.Sheet1$";
String queryString3 = "select f5 from beds.dbo.Sheet1$";
String queryString4 = "select f6 from beds.dbo.Sheet1$";
String queryString5 = "select f7 from beds.dbo.Sheet1$";
String queryString6 = "select f8 from beds.dbo.Sheet1$";
String queryString7 = "select f9 from beds.dbo.Sheet1$";
String queryString8 = "select f10 from beds.dbo.Sheet1$";
String queryString9 = "select f11 from beds.dbo.Sheet1$";
String queryString10 = "select f12 from beds.dbo.Sheet1$";
List<String> locationList = new ArrayList<String>();
List<String> patientList = new ArrayList<String>();
List<String> refferallList = new ArrayList<String>();
List<String> DateList = new ArrayList<String>();
// List<String> locationList = new ArrayList<String>();
// List<String> locationList = new ArrayList<String>();
// List<String> locationList = new ArrayList<String>();
ResultSet rs = statement.executeQuery(queryString);
while (rs.next()) {
locationList.add(rs.getString(1));
locationList.removeAll(Collections.singleton(null));
}
ResultSet rs1 = statement.executeQuery(queryString1);
while (rs1.next()) {
patientList.add(rs1.getString(1));
patientList.removeAll(Collections.singleton(null));
}
Set<String> uniqueLocationList = new HashSet<String>(locationList);
System.out.println(uniqueLocationList);
setBedCount(uniqueLocationList.size());
Set<String> uniquePatientList = new HashSet<String>(patientList);
System.out.println(uniquePatientList);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
ConnectMSSQLServer connServer = new ConnectMSSQLServer();
connServer.dbConnect("jdbc:sqlserver://******", "***", "********");
}
}
所以基本上我想在提供的示例中编写代码,将数据附加到 GUI 中。像 bed1A.setIcon(emptyIcon);类似的东西,但我不知道如何从它外部存在的代码更改 GUI 的值。
- 保留一个Controllerclass,应用,老大
- 为控制器的所有数据保留一个 DataModel class 字段,从用于创建 GUI 的数据库加载;由控制器完成。
- 然后是视图,你的JFrame,控制器的一个字段。
现在在 GUI 构建器中您不想重复自己(原则上是 DRY)。所有这些房间组件应该是 List
个房间。使用 GUI 构建器添加一些元素后,您可以调整 arrays/lists.
的代码
控制器可以在 JFrame 中设置内容:您添加到 JFrame:addPatient(int room, int bed, String name)
并且可以从列表中获取组件并使用 Ctrl-Space
从 setText("Jane")
中选择任何内容.
使数据 class 像 Room
、Bed
、Patient
。
(使用版本控制。)
我使用 NetBeans GUI 构建器制作了一个 GUI,它看起来很棒!但是,我不知道如何实现代码来更改 GUI 内的值。
我的程序连接到数据库并提取每个患者的性别、房间号、床号、姓名和转诊来源等信息。 GUI 的目的是每隔一段时间就表示对该信息的任何更改,因此我希望它每 60 秒左右自动与数据库同步一次。我可以编写数据库同步的代码,并且我已经制作了 GUI。
public class ConnectMSSQLServer {
static int bedCount;
public static int getBedCount(){
return bedCount;
}
public void setBedCount(int number){
bedCount = number;
}
public void dbConnect(String db_connect_string, String db_userid, String db_password) {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(db_connect_string, db_userid, db_password);
System.out.println("connected");
Statement statement = conn.createStatement();
String queryString = "select f2 from beds.dbo.Sheet1$";
String queryString1 = "select f3 from beds.dbo.Sheet1$";
String queryString2 = "select f4 from beds.dbo.Sheet1$";
String queryString3 = "select f5 from beds.dbo.Sheet1$";
String queryString4 = "select f6 from beds.dbo.Sheet1$";
String queryString5 = "select f7 from beds.dbo.Sheet1$";
String queryString6 = "select f8 from beds.dbo.Sheet1$";
String queryString7 = "select f9 from beds.dbo.Sheet1$";
String queryString8 = "select f10 from beds.dbo.Sheet1$";
String queryString9 = "select f11 from beds.dbo.Sheet1$";
String queryString10 = "select f12 from beds.dbo.Sheet1$";
List<String> locationList = new ArrayList<String>();
List<String> patientList = new ArrayList<String>();
List<String> refferallList = new ArrayList<String>();
List<String> DateList = new ArrayList<String>();
// List<String> locationList = new ArrayList<String>();
// List<String> locationList = new ArrayList<String>();
// List<String> locationList = new ArrayList<String>();
ResultSet rs = statement.executeQuery(queryString);
while (rs.next()) {
locationList.add(rs.getString(1));
locationList.removeAll(Collections.singleton(null));
}
ResultSet rs1 = statement.executeQuery(queryString1);
while (rs1.next()) {
patientList.add(rs1.getString(1));
patientList.removeAll(Collections.singleton(null));
}
Set<String> uniqueLocationList = new HashSet<String>(locationList);
System.out.println(uniqueLocationList);
setBedCount(uniqueLocationList.size());
Set<String> uniquePatientList = new HashSet<String>(patientList);
System.out.println(uniquePatientList);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
ConnectMSSQLServer connServer = new ConnectMSSQLServer();
connServer.dbConnect("jdbc:sqlserver://******", "***", "********");
}
}
所以基本上我想在提供的示例中编写代码,将数据附加到 GUI 中。像 bed1A.setIcon(emptyIcon);类似的东西,但我不知道如何从它外部存在的代码更改 GUI 的值。
- 保留一个Controllerclass,应用,老大
- 为控制器的所有数据保留一个 DataModel class 字段,从用于创建 GUI 的数据库加载;由控制器完成。
- 然后是视图,你的JFrame,控制器的一个字段。
现在在 GUI 构建器中您不想重复自己(原则上是 DRY)。所有这些房间组件应该是 List
个房间。使用 GUI 构建器添加一些元素后,您可以调整 arrays/lists.
控制器可以在 JFrame 中设置内容:您添加到 JFrame:addPatient(int room, int bed, String name)
并且可以从列表中获取组件并使用 Ctrl-Space
从 setText("Jane")
中选择任何内容.
使数据 class 像 Room
、Bed
、Patient
。
(使用版本控制。)