0

好的,这是我在 JAVA 中的第一个项目(银行应用程序),我想要的只是显示从数据库中获取的结果并将其设置为 JTextArea。但是,我希望银行职员能够单击 JTextArea 中的一行并执行某些操作(一旦我在 JTextArea 中获得结果,我将处理该问题);这就是我使用 JList 的原因。我已经达到了能够在不使用 JList 的情况下在 JTextArea 中显示结果的地步。我的问题是:

  • 如果可能,如何将 JList 放入 JTextArea?

这是我的代码的一部分:

// function that will search for a record in the database
private void searchRecord(){


    try {

        Connection connect = null;

        Class.forName("com.mysql.jdbc.Driver");

        String url = "url";
        String user = "user";
        String password ="password";

        connect = DriverManager.getConnection(url,user,password);

        Statement SQLStatement = connect.createStatement();
        String select = "SELECT * FROM customerinfo WHERE LastName LIKE '"+ txtSearch.getText().trim() +"%'";
        ResultSet rows = SQLStatement.executeQuery(select);

        while(rows.next()){

            textArea.setLineWrap(true);

            String first = rows.getString("FirstName");
            String last = rows.getString("LastName");
            String middleInitial = rows.getString("MiddleInitial");
            String[] row = {first, last, middleInitial};
            list = new JList(row);
            list.setVisibleRowCount(5);
            list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
            //textArea.append(row[1].toString() + ", " + row[0].toString() + " " + row[2].toString() + ".\n");
            textArea.append(list values goes here + "\n"); // here is where I'm stuck!!!
            //System.out.println(rows.getString("LastName"));
        }

提前致谢!!!

4

1 回答 1

0
//Dont put list to JTextArea.You can put data into directly

String first = rows.getString("FirstName");
String last = rows.getString("LastName");
String middleInitial = rows.getString("MiddleInitial");


JTextArea txaDetails=new JTextArea();
txaDetails.append("\n"+first +last +middleInitial +"\n");
txaDetails.setCaretPosition(txaDetails.getDocument().getLength());
于 2013-02-07T11:11:45.923 回答