Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JList进入一个JTextArea_Java_Swing_Jlist_Jtextarea - Fatal编程技术网

Java JList进入一个JTextArea

Java JList进入一个JTextArea,java,swing,jlist,jtextarea,Java,Swing,Jlist,Jtextarea,好的,这是我用JAVA编写的第一个projectbank应用程序,我只想显示从数据库获取的结果并将其设置到JTextArea中。但是,我希望银行职员能够点击JTextArea中的一行并执行某些操作,一旦我在JTextArea中获得结果,我将处理这些操作;这就是我使用JList的原因。我已经到了不使用JList就可以在JTextArea中显示结果的地步。我的问题是: 如果可能,如何将JList放入JTextArea? 以下是我的部分代码: // function that will search

好的,这是我用JAVA编写的第一个projectbank应用程序,我只想显示从数据库获取的结果并将其设置到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"));
        }

提前感谢

您可以循环浏览列表项并将它们附加到JTextArea。当你试过这个会发生什么?你的代码在哪里失败,它是如何失败的?为了更快地获得更好的帮助,请发布一篇文章。此外,你可能会尝试一些东西,而不是有效地来到这里,让别人为你做。顺便说一句,这个列表中似乎只有一行在结果集上。这是有意为之的吗?另外,为什么在while循环的每次迭代中都要创建一个新的JList?在while循环之前,甚至在类的构造函数中创建一次JList不是更有意义吗?我已经尝试了list.getSelectedValue或list.getSelectedValue.toString,但得到了null值。此外,我还尝试了list.toString,得到了一堆不是来自数据库的字符串值。此外,我还认为由于list是arrayright?,所以我尝试了类似list[0]的方法。toString,但效果并不太好。@user118:这仍然令人困惑,因为JList的构建正是为了实现这一点:选择一行会触发事件,而JTextArea则需要一些代码练习才能达到这一效果。我仍然看不到除了JList之外还使用JTextArea的实用性。
//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());