| | |
| | | package window; |
| | | import javax.swing.JTree; |
| | | import javax.swing.tree.DefaultMutableTreeNode; |
| | | |
| | | import dell_map.Dell_Map; |
| | | |
| | | import java.util.ResourceBundle; |
| | | import java.awt.Font; |
| | | import java.awt.Cursor; |
| | | import java.awt.event.MouseAdapter; |
| | | import java.awt.event.MouseEvent; |
| | | |
| | | public class NavigationTreeFactory { |
| | | |
| | | public static JTree createNavigationTree(ResourceBundle messages) { |
| | | DefaultMutableTreeNode root = new DefaultMutableTreeNode(messages.getString("NAVIGATION")); |
| | | |
| | | |
| | | // 地图节点 |
| | | // 地图节点 |
| | | DefaultMutableTreeNode mapNode = new DefaultMutableTreeNode(messages.getString("MAP")); // 地图节点 (一级) |
| | | |
| | | String[] mapNames = Dell_Map.getAllMapNames(); |
| | |
| | | tree.setFont(new Font("微软雅黑", Font.PLAIN, 14)); |
| | | tree.setShowsRootHandles(true); |
| | | |
| | | // 添加鼠标移动监听器来改变光标 |
| | | tree.addMouseMotionListener(new MouseAdapter() { |
| | | @Override |
| | | public void mouseMoved(MouseEvent e) { |
| | | int row = tree.getRowForLocation(e.getX(), e.getY()); |
| | | if (row >= 0) { |
| | | tree.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); |
| | | } else { |
| | | tree.setCursor(Cursor.getDefaultCursor()); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | // 添加鼠标退出监听器,恢复默认光标 |
| | | tree.addMouseListener(new MouseAdapter() { |
| | | @Override |
| | | public void mouseExited(MouseEvent e) { |
| | | tree.setCursor(Cursor.getDefaultCursor()); |
| | | } |
| | | }); |
| | | |
| | | // 展开所有节点 |
| | | for (int i = 0; i < tree.getRowCount(); i++) { |
| | | tree.expandRow(i); |