From d30e385951ce03335a5023f0775fd144da3c0b88 Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期二, 18 三月 2025 11:18:31 +0800 Subject: [PATCH] 修改 --- src/main/java/com/example/client/service/Level3View2Service.java | 98 ++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 80 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/example/client/service/Level3View2Service.java b/src/main/java/com/example/client/service/Level3View2Service.java index 31d2cfc..e6ded97 100644 --- a/src/main/java/com/example/client/service/Level3View2Service.java +++ b/src/main/java/com/example/client/service/Level3View2Service.java @@ -3,9 +3,7 @@ import com.example.client.dto.ColumnDto; import com.example.client.dto.JComboBoxItem; import com.example.client.model.TableButton; -import com.example.client.utils.CommonTable; -import com.example.client.utils.GBC; -import com.example.client.utils.MultiSelectComboBox; +import com.example.client.utils.*; import com.example.server.cabin.service.CabinService; import com.example.server.progressTrack.Dto.TableNodeDto; import com.example.server.progressTrack.model.DjJdgzNetworkLevel1; @@ -18,6 +16,7 @@ import javax.swing.*; import javax.swing.event.TableModelEvent; +import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.DefaultTableModel; import java.awt.*; import java.awt.event.*; @@ -42,8 +41,8 @@ private List<ColumnDto> columnDto; - public JPanel createTable(Integer width, Integer height) { - JPanel panel = new JPanel(); + public JPanel createTable(Integer width, Integer height,JFrame frame) { + JPanel panel = new JPanel(new BorderLayout()); JPanel topJpanel = new JPanel(); GridBagLayout layout = new GridBagLayout(); @@ -52,7 +51,7 @@ topJpanel.setBackground(Color.WHITE); JPanel centerJpanel = new JPanel(); - centerJpanel.setPreferredSize(new Dimension(width - 20, height - 100)); + centerJpanel.setPreferredSize(new Dimension(width - 20, Compute.ComputeHeight(100,frame))); centerJpanel.setBackground(Color.WHITE); panel.add(topJpanel, BorderLayout.NORTH); panel.add(centerJpanel, BorderLayout.CENTER); @@ -62,7 +61,7 @@ JComboBoxItem[] cabinList = cabinService.getList(); JComboBoxItem[] deptList = sysTeamGroupClassService.getDeptList(); String[] typeList = new String[]{ - "鏀硅", "鍔犺", "鎹㈣", "鏀硅繘鎬т慨鐞�","" + "鏀硅", "鍔犺", "鎹㈣", "鏀硅繘鎬т慨鐞�", "" }; JLabel JLabel0 = new JLabel("宸ョ▼"); @@ -90,6 +89,17 @@ JTextField sb = new JTextField(16); JButton query = new JButton("鏌ヨ"); + List<ColorDescription> colorDescriptions = new ArrayList<>(); + colorDescriptions.add(new ColorDescription("#3498DB", "杩涜涓�")); + colorDescriptions.add(new ColorDescription("#F1C40F", "涓存湡")); + colorDescriptions.add(new ColorDescription("#E74C3C", "閫炬湡")); + colorDescriptions.add(new ColorDescription("#2ECC71", "姝e父瀹屾垚")); + colorDescriptions.add(new ColorDescription("#006400", "瓒呮湡瀹屾垚")); + + // 鍒涘缓涓嬫媺妗� + ColorDescriptionComboBox comboBox5 = new ColorDescriptionComboBox(colorDescriptions); + + topJpanel.add(JLabel0, new GBC(0, 0, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5)); topJpanel.add(comboBox, new GBC(1, 0, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5)); topJpanel.add(JLabel1, new GBC(2, 0, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5)); @@ -103,8 +113,9 @@ topJpanel.add(sb, new GBC(0, 1, 2, 1).setAnchor(GBC.SOUTHEAST).setInsets(5)); topJpanel.add(query, new GBC(2, 1, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5)); + topJpanel.add(comboBox5, new GBC(3, 1, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5)); - list = level3Service.getNodeList(shipList.get(0).getId(), deptList[0].getId(), teamList[0].getId(), cabinList[0].getId(), typeList[0],null); + list = level3Service.getNodeList(shipList.get(0).getId(), deptList[0].getId(), teamList[0].getId(), cabinList[0].getId(), typeList[0], null); columnDto = new ArrayList<>(); //columnDto.add(new ColumnDto("ID", "id", -1, null,false)); @@ -122,6 +133,30 @@ table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); + MouseMotionListener mouseMotionListener = new MouseMotionListener() { + @Override + public void mouseDragged(MouseEvent e) { + // 涓嶉渶瑕佸鐞嗛紶鏍囨嫋鍔ㄤ簨浠� + } + + @Override + public void mouseMoved(MouseEvent e) { + Point point = e.getPoint(); + int row = table.rowAtPoint(point); + int column = table.columnAtPoint(point); + + if (row <= list.size() && column > 1) { + String hexColor = (String) table.getValueAt(row, column); + String tooltip = getTooltipText(hexColor); + table.setToolTipText(tooltip); + } else { + table.setToolTipText(null); + } + } + }; + + table.addMouseMotionListener(mouseMotionListener); + comboBox.addItemListener(new ItemListener() { public void itemStateChanged(final ItemEvent event) { String content = comboBox.getSelectedItem().toString(); @@ -131,7 +166,7 @@ String type = comboBox4.getSelectedItem().toString(); Long shipId = shipMap.get(content); - list = level3Service.getNodeList(shipId, dept.getId(), team.getId(), cabin.getId(), type,null); + list = level3Service.getNodeList(shipId, dept.getId(), team.getId(), cabin.getId(), type, null); CommonTable.refreshTable(list, columnDto, table); table.setRowHeight(25); @@ -145,12 +180,11 @@ public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { JComboBoxItem selectedItem = (JComboBoxItem) comboBox1.getSelectedItem(); - if (selectedItem.getId() != null) { - long selectedId = selectedItem.getId(); + if (selectedItem != null) { + Long selectedId = selectedItem.getId(); JComboBoxItem[] teamList = sysTeamGroupClassService.getTeamList(selectedId); comboBox2.setModel(new DefaultComboBoxModel<>(teamList)); - comboBox2.setSelectedIndex(0); String content = comboBox.getSelectedItem().toString(); JComboBoxItem dept = (JComboBoxItem) comboBox1.getSelectedItem(); @@ -159,7 +193,7 @@ String type = comboBox4.getSelectedItem().toString(); Long shipId = shipMap.get(content); - list = level3Service.getNodeList(shipId, dept.getId(), team.getId(), cabin.getId(), type,null); + list = level3Service.getNodeList(shipId, dept.getId(), team.getId(), cabin.getId(), type, null); CommonTable.refreshTable(list, columnDto, table); table.setRowHeight(25); @@ -180,7 +214,7 @@ String type = comboBox4.getSelectedItem().toString(); Long shipId = shipMap.get(content); - list = level3Service.getNodeList(shipId, dept.getId(), team.getId(), cabin.getId(), type,null); + list = level3Service.getNodeList(shipId, dept.getId(), team.getId(), cabin.getId(), type, null); CommonTable.refreshTable(list, columnDto, table); table.setRowHeight(25); @@ -198,7 +232,7 @@ String type = comboBox4.getSelectedItem().toString(); Long shipId = shipMap.get(content); - list = level3Service.getNodeList(shipId, dept.getId(), team.getId(), cabin.getId(), type,null); + list = level3Service.getNodeList(shipId, dept.getId(), team.getId(), cabin.getId(), type, null); CommonTable.refreshTable(list, columnDto, table); table.setRowHeight(25); @@ -216,7 +250,7 @@ String type = comboBox4.getSelectedItem().toString(); Long shipId = shipMap.get(content); - list = level3Service.getNodeList(shipId, dept.getId(), team.getId(), cabin.getId(), type,null); + list = level3Service.getNodeList(shipId, dept.getId(), team.getId(), cabin.getId(), type, null); CommonTable.refreshTable(list, columnDto, table); table.setRowHeight(25); @@ -229,7 +263,7 @@ query.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - list = level3Service.getNodeList(null, null, null, null, null,sb.getText()); + list = level3Service.getNodeList(null, null, null, null, null, sb.getText()); CommonTable.refreshTable(list, columnDto, table); table.setRowHeight(25); @@ -249,15 +283,43 @@ JScrollPane scrollPane = new JScrollPane(table, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); scrollPane.setViewportView(table); scrollPane.getViewport().setBackground(Color.WHITE); - scrollPane.setPreferredSize(new Dimension(width - 20, height - 120)); + scrollPane.setPreferredSize(new Dimension(width - 20, Compute.ComputeHeightWithScroll(100,frame))); centerJpanel.add(scrollPane); + frame.addComponentListener(new ComponentAdapter() { + @Override + public void componentResized(ComponentEvent e) { + centerJpanel.setPreferredSize(new Dimension(width - 20, Compute.ComputeHeight(100,frame))); + scrollPane.setPreferredSize(new Dimension(width - 20,Compute.ComputeHeightWithScroll(100,frame))); + centerJpanel.revalidate(); + centerJpanel.repaint(); + scrollPane.revalidate(); + scrollPane.repaint(); + } + }); return panel; } + private static String getTooltipText(String hexColor) { + switch (hexColor) { + case "#3498DB": + return "杩涜涓�"; + case "#F1C40F": + return "涓存湡"; + case "#E74C3C": + return "閫炬湡"; + case "#2ECC71": + return "姝e父瀹屾垚"; + case "#006400": + return "瓒呮湡瀹屾垚"; + default: + return "鏈紑濮�"; + } + } } + -- Gitblit v1.9.1