gpt4 book ai didi

Java 组合框未从 SQL 填充

转载 作者:行者123 更新时间:2023-11-29 21:01:31 25 4
gpt4 key购买 nike

在我的程序中,我有一个组合框,用户可以在其中选择他希望编辑的用户,但目前我用来填充组合框的类没有执行此操作。我在网站上查看了一些与此类似的问题,但没有看到我做错了什么。如果有人可以解决该问题,我们将不胜感激。我对其中的大部分内容还是很陌生。

import java.awt.EventQueue;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import javax.swing.JComboBox;
import javax.swing.JFrame;

public class AdminPanelDelUser {


private String Host = "Hidden";
private String Name = "Hidden";
private String Pass = "Hidden";

private JComboBox<String> userPicker;
private JFrame frame;

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
AdminPanelDelUser window = new AdminPanelDelUser();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the application.
*/
public AdminPanelDelUser() {
initialize();
getUserPicker();
}

/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 300, 352);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);

JComboBox<String> userPicker = new JComboBox<String>();
userPicker.setBounds(59, 6, 235, 27);
frame.getContentPane().add(userPicker);
}

public JComboBox<String> getUserPicker() {
try {
Connection conn = DriverManager.getConnection( Host, Name, Pass );
PreparedStatement pst = conn.prepareStatement("SELECT * From `table_1`");
ResultSet rs = pst.executeQuery();
while(rs.next()) {
String name =rs.getString("user_name");
userPicker.addItem(name);
}
}
catch (Exception e) {
//Place Pop Warning Later
}
return userPicker;
}
}

此外,任何有关如何进一步改进代码的建议我都会很乐意接受。感谢任何帮助我解决这个问题的人。

最佳答案

您的问题是您正在创建 userPicker JComboBox 并将其分配给具有方法级别范围的变量,而不是使用具有类级别范围的变量。您添加到内容 Pane 的 JComboBox 与您尝试添加项目的 JComboBox 不同(调用 getUserPicker() 时,该 JComboBox 为 null)。

JComboBox<String> userPicker = new JComboBox<String>();

应该是

userPicker = new JComboBox<String>();

您可能想阅读http://www.java-made-easy.com/variable-scope.html更好地了解正在发生的事情。

关于Java 组合框未从 SQL 填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37185896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com