package com.guang.majiangclient.client.layout;
import com.guang.majiangclient.client.common.enums.Direction;
import com.guang.majiangclient.client.util.ConfigOperation;
import com.guang.majiangclient.client.util.ImageUtil;
import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.image.ImageView;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
/**
* @ClassName ClientLayout
* @Description
* @Author guangmingdexin
* @Date 2021/3/23 9:31
* @Version 1.0
**/
public class ClientLayout extends Application {
public static Stage stage;
public static BorderPane bor;
public static BorderPane bor_inside;
public static BorderPane bor_outside;
public static AnchorPane hBottom;
public static AnchorPane hTop;
public static AnchorPane vLeft;
public static AnchorPane vRight;
public static GridPane gBottom;
public static GridPane gBottomPg;
public static GridPane gBottomGd;
public static GridPane gRight;
public static GridPane gLeft;
public static GridPane gTop;
public static GridPane oBottom;
public static GridPane oTop;
public static AnchorPane oLeft;
public static AnchorPane oRight;
public static BorderPane oMarker;
public static ImageView pong;
public static ImageView gang;
public static ImageView hu;
public static ImageView ignore;
public static Label bottomMarker;
static {
stage = new Stage();
bor = new BorderPane();
bor_inside = new BorderPane();
bor_outside = new BorderPane();
hTop = new AnchorPane();
hBottom = new AnchorPane();
vRight = new AnchorPane();
vLeft = new AnchorPane();
gBottom = new GridPane();
gBottomPg = new GridPane();
gBottomGd = new GridPane();
gRight = new GridPane();
gTop = new GridPane();
gLeft = new GridPane();
oBottom = new GridPane();
oTop = new GridPane();
oLeft = new AnchorPane();
oRight = new AnchorPane();
oMarker = new BorderPane();
}
@Override
public void start(Stage primaryStage) throws Exception {
bor.setTop(gTop);
bor.setBottom(gBottom);
bor.setLeft(gLeft);
bor.setRight(gRight);
bor.setCenter(bor_inside);
gBottom.add(gBottomPg, 0, 0);
gBottom.add(gBottomGd, 1, 0);
gBottom.setHgap(50d);
gBottomPg.setAlignment(Pos.CENTER_LEFT);
gBottom.setAlignment(Pos.CENTER);
bor_inside.setTop(hTop);
bor_inside.setLeft(vLeft);
bor_inside.setBottom(hBottom);
bor_inside.setRight(vRight);
bor_inside.setCenter(bor_outside);
bor_outside.setBottom(oBottom);
oBottom.setAlignment(Pos.CENTER);
// 出牌
bor_outside.setLeft(oLeft);
bor_outside.setRight(oRight);
bor_outside.setTop(oTop);
bor_outside.setCenter(oMarker);
oTop.setAlignment(Pos.CENTER);
pong = ImageUtil.load(ConfigOperation.config.get("pong").toString(), "pong.png", true);
gang = ImageUtil.load(ConfigOperation.config.get("gang").toString(), "kong.png", true);
hu = ImageUtil.load(ConfigOperation.config.get("hu").toString(), "hu.png", true);
ignore = ImageUtil.load(ConfigOperation.config.get("ignore").toString(), "ignore.png", true);
ClientLayout.hBottom.getChildren().add(pong);
AnchorPane.setLeftAnchor(pong, 600d);
ClientLayout.hBottom.getChildren().add(gang);
AnchorPane.setLeftAnchor(gang, 670d);
ClientLayout.hBottom.getChildren().add(hu);
AnchorPane.setLeftAnchor(hu, 740d);
ClientLayout.hBottom.getChildren().add(ignore);
AnchorPane.setLeftAnchor(ignore, 810d);
ImageUtil.translateImage(pong, 0.5);
ImageUtil.translateImage(gang, 0.5);
ImageUtil.translateImage(hu, 0.5);
ImageUtil.translateImage(ignore, 0.5);
ClientLayout.pong.setVisible(false);
ClientLayout.gang.setVisible(false);
ClientLayout.hu.setVisible(false);
ClientLayout.ignore.setVisible(false);
Scene scene = new Scene(bor);
stage.setScene(scene);
stage.initStyle(StageStyle.UNDECORATED);
stage.setMaximized(true);
stage.setTitle("麻将小游戏");
stage.show();
}
private String base64() {
return "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
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
资源推荐
资源详情
资源评论
收起资源包目录
一个java fx 做的 麻将小游戏.zip (355个子文件)
bug-list 4KB
server.cer 715B
client-config 336B
majiangcommon.iml 5KB
InfoMapper 3KB
ClientLayout.java 53KB
PlayGameTask.java 15KB
ClassUtil.java 13KB
RandomMatchAction.java 12KB
AiThread.java 12KB
Algorithm.java 9KB
SpecialBuildEvent.java 8KB
SimpleInit.java 8KB
GameInfoUIEvent.java 7KB
ImageUtil.java 7KB
TakeOutHandCardTask.java 7KB
RandomMatchUIEvent.java 6KB
InitHandCardTask.java 5KB
JsonUtil.java 5KB
RegisterAction.java 5KB
SpecialOperEvent.java 5KB
StartMenu.java 4KB
GameServer.java 4KB
FriendAction.java 4KB
GameClient.java 4KB
GameServerHandler.java 4KB
State.java 4KB
SslOneWayContextFactory.java 4KB
AvatarBuildEvent.java 4KB
RegisterTakeOutEvent.java 4KB
CardImage.java 4KB
LoginEvent.java 3KB
Demo.java 3KB
Room.java 3KB
LoginLayout.java 3KB
DsResult.java 3KB
GenericPackageCodec.java 3KB
ConfigOperation.java 3KB
GameInfoCard.java 3KB
KongHandler.java 3KB
PongHandler.java 3KB
GameUser.java 3KB
HttpRequestParser.java 3KB
GameServer.java 3KB
JedisUtil.java 3KB
ServerCache.java 3KB
DsMessage.java 3KB
Layout.java 3KB
StateDemo.java 3KB
FriendList.java 3KB
Context.java 3KB
ConfigOperation.java 3KB
SortedHandCardTask.java 3KB
CardBuildEvent.java 3KB
PlayerTakeOutTask.java 3KB
ActionFactory.java 3KB
PlayerTakeTask.java 3KB
GenericPackageClassDecoder.java 3KB
CharMultipy.java 3KB
LoadImpl.java 3KB
DefaultServiceHandler.java 2KB
StateMachine.java 2KB
CacheUtil.java 2KB
HttpRequestHandler.java 2KB
LoginAction.java 2KB
CardHandler.java 2KB
SpecialEventTask.java 2KB
TakeHandCardTask.java 2KB
FriendBuilderEvent.java 2KB
Avatar.java 2KB
ServiceCenter.java 2KB
GlobalConstant.java 2KB
MapperTest.java 2KB
Ping.java 2KB
PlayGameInfo.java 2KB
GenericPackageDecoder.java 2KB
InfoMapper.java 2KB
ClientInHandle.java 2KB
LoginAction.java 2KB
MessageFactory.java 2KB
DsButton.java 2KB
ActionFactory.java 2KB
GameClientThread.java 2KB
ServiceUIHandler.java 1KB
ExtendedExecutor.java 1KB
JsonUtil.java 1KB
BinaryTest.java 1KB
GameInfoMapper.java 1KB
LoginAction.java 1KB
PlayGameHandCardsInfo.java 1KB
RegisterAction.java 1KB
GameInfoAction.java 1KB
Worker.java 1KB
CommonUtil.java 1KB
GenericMessage.java 1KB
LoginEvent.java 1KB
MatchAction.java 1KB
CardImage.java 1KB
AuthResponse.java 1KB
ServiceHandler.java 1KB
共 355 条
- 1
- 2
- 3
- 4
资源评论
毕业小助手
- 粉丝: 2739
- 资源: 5597
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- AgroCounters-一个使用深度学习算法对农业领域图像中的对象进行计数的存储库:框架和评估
- fan-2-应广PMS154的例程
- ATmage16控制8X8 LED点阵数码管最科算法和程序
- C# winform使用纯opencvsharp部署yolov11-onnx图像分类模型源码
- COMSOL变压器仿真 变压器三维仿真模型 声-固耦合 振动声场comsol仿真模型 运行有效
- Maxwell 与 Workbench联合仿真,电机时空二维电磁力谐波优化设计 这里仅做一个demo,为了节约仿真时间,我直接
- 04.upx.exe.fgpg
- ur5_infer.py
- 三相感应异步电机的参数辨识,大厂成熟的C代码,附赠仿真模型: 1. 第一步,辨识定子电阻; 2. 第二步,辨识转子电阻和漏感;
- 11.FTPServer.exe.fgpg
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功