簡體   English   中英

如何從 textarea 獲取最近輸入的字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM