五子棋
jdk1.8 11以上需要单独下载javafx的jar包
1.工具类继承Application 重写start(Stage primaryStage) 形参就是当前舞台对象
画板 //画板内部有个集合Children 集合存放所有控件
Pane pane = new Pane();
Line line = new Line(10,20,580,40); //画一根线 起点(10,20)终点(580,40)
pane.getChildren().add(line);//将线条对象加入画板的节点集合
Background background = new Background(new BackgroundFill(Color.BEIGE, null, null));
pane.setBackground(background);//设置好的背景加入画板
场景(画板放入场景)
Scene scene = new Scene(pane,600,700);//把控件通过画板放入场景 设置场景宽高
舞台(场景加入舞台)
primaryStage.setScene(scene);//把场景放入舞台 展示
展示舞台
primaryStage.show();
2.测试类启动应用程序
测试类继承工具类
调用launch(main方法的参数)
public class Test extends Util {
public static void main(String[] args) {
// TODO Auto-generated method stub
//启动应用程序
launch(args);
}
}
3.其他控件按钮:新局 悔棋 保存棋谱 打谱 退出 600 560Button button_1 = new Button("新局");//创建按钮对象button_1.setPrefSize(80, 40);//设定按钮大小button_1.setLayoutX(20);//设置距离左侧20button_1.setLayoutY(610);//设置距离顶部多远pane.getChildren().add(button_1);按钮点击事件:button_4.setOnAction(new EventHandler<ActionEvent>() {@Overridepublic void handle(ActionEvent event) {}}新局://清空原集合ac.clear();//清空棋盘pane.getChildren().removeIf((Node t)->{return t instanceof Circle;});4.落子画板点击事件pane.setOnMouseClicked(new EventHandler<MouseEvent>() {@Overridepublic void handle(MouseEvent event) {// TODO Auto-generated method stubdouble x = event.getSceneX();double y = event.getSceneY();//画棋子Circle circle = new Circle(x,y,20,lz?Color.BLACK:Color.WHITE);lz=lz?false:true;//切换落子颜色//将棋子加入画板pane.getChildren().add(circle);}});1.不能超出600的高 此位置提示不能落子2.落子应该找到最近的焦点坐标落子3.如果最近的焦点坐标已经有子 则提示不能重复落子4.判定是否赢棋警告效果1. 只有确定 没有返回值Alert alert = new Alert(AlertType.WARNING);alert.setTitle("落子警告");alert.setHeaderText("落子异常");alert.setContentText("棋盘以外不能落子");alert.show();警告效果2. 有确定 取消两个选项Alert alert = new Alert(AlertType.CONFIRMATION);alert.setTitle("新局警告");alert.setHeaderText("是否清空棋盘?");alert.setContentText("若未保存,则丢失当前棋局。");Optional<ButtonType> wait = alert.showAndWait();if(wait.get() == ButtonType.OK) {}提示框效果3. 内含下拉列表展示所有可选项 选择后返回选择的内容//带下拉列表的提示框ChoiceDialog<String> dialog = new ChoiceDialog<String>(as.get(0), as);dialog.setTitle("打谱确认");dialog.setHeaderText("请选择普表");dialog.setContentText("你选择的普表:");Optional<String> wait2 = dialog.showAndWait();String fileName = wait2.get();
