protected void filterOpcItem() { opcItemsPanel.removeAll(); List<YGOpcItem> filted = filter.doFiter(opcItemList); if (filted == null) { return; } MouseAdapter mouseAdapter = new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { if (e.getSource() instanceof JCheckBox) { JCheckBox clickedButton = (JCheckBox) e.getSource(); if (clickedButton.isSelected()) { jTextFieldForOPCItemName.setText(clickedButton.getText()); } } } }; opcItemsPanel.setLayout(new GridLayout(filted.size() < 6 ? 6 : filted.size(), 1)); for (YGOpcItem item : filted) { JCheckBox checkBox = new JCheckBox(item.getItemName()); checkBox.setBackground(Color.white); checkBox.addMouseListener(mouseAdapter); selectItemButtonGroup.add(checkBox); opcItemsPanel.add(checkBox); } opcItemsPanel.updateUI(); }
@Action public void confirm() { String itemName = jTextFieldForOPCItemName.getText(); if (StringUtils.isBlank(itemName)) { JOptionPane.showMessageDialog(this, "请选择OPC项"); return; } filter.removeAccessPath(); filter.removeServerId(); filter.removeVarType(); filter.setNameFilter(itemName); List<YGOpcItem> opcItems = filter.doFiter(opcItemList); if (opcItems == null || opcItems.size() < 1) { JOptionPane.showMessageDialog(this, "选择OPC项失败,不存在此编码的OPC项"); return; } YGOpcItem selectOpcItem = opcItems.get(0); String selectOpcItemName = selectOpcItem.getItemName(); baseTable.setValueAt(selectOpcItemName, row, col); this.setVisible(false); }