【问题标题】:Multiple Search Results, One GUI多个搜索结果,一个 GUI
【发布时间】:2012-06-06 18:16:39
【问题描述】:

我正在搜索一个数组并将用户输入的日期与存储在数组中的日期进行匹配。

代码运行良好,可以完美地找到日期或给出适当的错误消息,唯一的问题是由于我的程序的性质,它可能会导致多条记录具有相同的日期。

现在,我只有一个表单以这种格式显示每个搜索结果:

lbl txtField lbl txtField

等,如果日期匹配,它将在文本字段中显示匹配记录的数据的REST。

现在,如何显示与日期匹配的每条记录的数据?

我的代码:

       public void searchDay() {
        String idInputString  = JOptionPane.showInputDialog(null, "Please enter the Date you're searching for using the format: DD/MM/YYYY");


        for (int i = 0, count = 0; i < orderID.length; i++) {
            if (idInputString.equals(startDate[i])) {

                txtOrderID.setText(orderID[i]);
                txtOrderForename.setText(customerForename[i]);
                txtOrderSurname.setText(customerSurname[i]);

                txtOrderAddress1.setText(address1[i]);
                txtOrderAddress2.setText(address2[i]);
                txtOrderTown.setText(town[i]);
                txtOrderCounty.setText(county[i]);
                txtOrderPost.setText(postCode[i]);
                txtOrderCarModel.setText(carModel[i]);

                txtOrderCarReg.setText(carReg[i]);
                txtOrderStartDate.setText(startDate[i]);
                txtOrderStartTime.setText(startTime[i]);

                txtOrderSerial.setText(serialNum[i]);
                count++;
            } 
            if(i == orderID.length - 1 && count==0){
                JOptionPane.showMessageDialog(null, "Order ID Doesn't Exist", "Error!", JOptionPane.WARNING_MESSAGE);
                break;
            }

   }
}

谢谢。

【问题讨论】:

    标签: java arrays search


    【解决方案1】:

    即时创建更多文本字段,或将结果放入JTable

    【讨论】:

    • 如果找到多个结果,是否可以创建多个副本表单。 IE:我找到 3 个匹配的日期,出现 3 个表单窗口显示每个结果?
    • 是的,只需将新文本字段添加到您的 jpanel(或您放置它们的任何容器),然后调用 revalidaterepaint。实际上有几个 SO 问题的答案包含有关如何执行此操作的建议,其中一个是 stackoverflow.com/questions/6516478/…
    【解决方案2】:

    最终的 UI 可能在 GUI 的 PAGE_START 处有一个 JList,它列出了一天或范围内的订单,但只显示“订单号”。然后有一个JPanel,其中包含一组标签和CENTER 中的字段,以显示列表中所选订单的详细信息。

    @Ray 建议的 JTable 可能是一个可行的替代方案,但我有时觉得数据更复杂,无法在单个表格行中很好地呈现(每个订单使用一行)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-12
      • 2015-09-11
      • 2016-02-06
      • 2017-10-01
      • 2014-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多