[英]How can I get recently typed string from textarea
我必须打开一个窗口,其中包含将从数据库中获取的关键字信息。 如果我在 textarea 中输入关键字,它只会打开一个窗口。 而且我无法打开下一个关键字的窗口。
这是我的编码。
String str = textArea.getText();
//Connection con = new DBConnection().connect();
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url+dbName,userName,password);
String stm="select url from pingatabl where functn=?";
PreparedStatement st = conn.prepareStatement(stm);
st.setString(1, str);
ResultSet rs = st.executeQuery();
if (rs.next()) {
String s = rs.getString(1);
JFrame f=new JFrame();
f.setVisible(true);
f.setSize(500,750);
JEditorPane jm=new JEditorPane();
f.add(jm);
jm.setPage(ClassLoader.getSystemResource(s));
} else {
JOptionPane.showMessageDialog(null, "function name not Found");
}
}
catch (Exception ex) {
System.out.println(ex);
}
如果我在 textarea 中输入关键字,它只会打开一个窗口。 而且我无法打开下一个关键字的窗口。
String str = textArea.getText();
它只打开一个窗口,因为你只有一个字符串。 如果您希望字符串中有多个关键字,那么您需要解析每个关键字并对每个关键字分别进行数据库查询。
所以代码可能是这样的:
Connection con = new DBConnection().connect();
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url+dbName,userName,password);
String[] keywords = textArea.getText().split();
for (String keyword: keywords)
{
createFrame(conn, keyword);
}
然后createFrame(...)
方法将创建 PreparedStatement,执行查询并构建框架以显示从数据库返回的数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.