# swing2javafx **Repository Path**: jsonring1992/swing2javafx ## Basic Information - **Project Name**: swing2javafx - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-03 - **Last Updated**: 2025-12-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Swing2JavaFX - Tron Game 这是一个从 Swing 迁移到 JavaFX 的 Tron 游戏项目。 ## 项目结构 ``` src/main/java/com/xianren/swing2javafx/ ├── controller/ │ └── GameFX.java # JavaFX 主控制器和应用入口 ├── model/ │ ├── GameObject.java # 游戏对象基类 │ ├── Player.java # 玩家抽象类 │ ├── PlayerHuman.java # 人类玩家 │ ├── PlayerAI.java # AI 玩家 │ ├── Score.java # 分数管理 │ ├── Shape.java # 图形接口 │ ├── Line.java # 线条实现 │ └── Intersection.java # 碰撞检测枚举 ├── view/ │ ├── TronMap.java # JavaFX 游戏地图基类 (Canvas) │ ├── TronMapStoryFX.java # 故事模式视图 │ ├── TronMapSurvivalFX.java # 生存模式视图 │ └── TronMapTwoPlayerFX.java # 双人模式视图 └── utils/ └── Picture.java # JavaFX 图片工具类 ``` ## 运行项目 使用 Maven 运行 JavaFX 应用: ```bash mvn clean javafx:run ``` 或 ```bash .\mvnw.cmd clean javafx:run ``` ## 游戏模式 1. **故事模式** - 逐级挑战 AI 对手 2. **生存模式** - 单人生存挑战,记录高分 3. **双人模式** - 本地双人对战 ## 控制说明 ### 玩家 1 控制 - 方向键 - 移动 - 空格 - 跳跃 - B - 加速 ### 玩家 2 控制(双人模式) - WASD - 移动 - Q - 跳跃 - 1 - 加速 ## 技术栈 - JavaFX 11 - Maven - Java 11+ ## 已修复的问题 ✅ 将所有 Swing 组件转换为 JavaFX ✅ 修复资源泄漏(BufferedReader, PrintStream) ✅ 修复方法可见性问题 ✅ 清理未使用的导入 ✅ 删除旧的 Swing 实现文件 可以直接在原始 tron-master 目录里用 JDK 11 编译运行 Swing 版本。步骤如下: --- 先进入 Swing 项目目录: ```bash cd f:\java\swing2javafx\tron-master ``` 用 JDK 11 编译所有源文件(一次性放到 out 目录): ```bash javac -d out *.java ``` 运行主类时保持当前工作目录不变,这样图片文件等资源才能找到: ```bash java -cp out Game ``` 窗口就会弹出原始 Swing 版游戏。若要重新编译,先删掉旧的 out 目录再重复以上命令即可