我在创建搜索引擎时遇到了麻烦

时间:2019-07-02 11:46:18

标签: java mysql swing

我正在创建一个项目,该项目具有一个搜索机制,可以通过Mysql搜索数据,并假设我正在搜索一个用户表。我有一个jlistbox和一个jTextfield。用户在jTextfield上输入要搜索的数据。还有一个jTextArea,用于存储用户选择的值。用户单击列表的值后,便立即从列表中删除该值,并将其放入通用的vector中,然后该通用vector循环通过jTextArea以将值附加到value changed中。这在列表框的private void li1ValueChanged(javax.swing.event.ListSelectionEvent evt) { String user = li1.getSelectedValue(); if (user != null) { universalvector.addElement(user); ta1.setText("Selected Users:"); String[] arr = universalvector.toArray(new String[universalvector.size()]); //converting vector to array for (int i = 0; i < arr.length; i++) { ta1.append("\n" + arr[i]); } t3.setText(""); execute("delete from utemp where name='"+user+"'"); MoveToList(); } // TODO add your handling code here: } 属性中发生。这是代码

execute()

其中MoveToList()是一种在Mysql中执行sql查询的方法。 li1是一种将值从utemp(临时用户表)移动到列表框Mysql

的方法

现在,它现在仅在搜索栏中显示li1中utemp表中满足列表框 private void t3KeyReleased(java.awt.event.KeyEvent evt) { try { Class.forName("java.sql.Driver"); Connection conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/user?zeroDateTimeBehavior=convertToNull", "root", "1234"); String string = t3.getText(); PreparedStatement pst = conn.prepareStatement("select * from utemp where name like '" + string + "%'"); ResultSet rs = pst.executeQuery(); DefaultListModel dlm = new DefaultListModel(); while (rs.next()) { dlm.addElement("" + rs.getString("name")); } li1.setModel(dlm); li1.setSelectedIndex(0); //<--This is what i am having problem with conn.close(); rs.close(); pst.close(); } catch (Exception e) { } // TODO add your handling code here: } 中搜索条件的值。这是代码。

li1.setSelectedIndex()

现在,我想在用户搜索内容时将列表框的颜色更改为蓝色,其中索引为0,并且当用户按Enter键时,应将blued out值添加到“ Selected Users”列表中我尝试使用value changed来执行此操作,但它触发了列表的value changed属性。

有什么方法可以做到而又不会触发ListCellRenderer的反对吗?

P.S。

我非常希望使用不包括使用 import com.google.gson.Gson case class Request(command_type: String, sub_commands: java.util.ArrayList[Command]) new Gson().toJson(new Request("Command", subCommands)) 的方法。

谢谢

0 个答案:

没有答案