826220679@qq.com
5 小时以前 ea135161eff1dd7c71c159be948e93b50fd1db81
src/window/NavigationTreeFactory.java
@@ -1,18 +1,19 @@
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();  
@@ -83,6 +84,27 @@
        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);