JavaFX创建桌面应用exe文件以及SceneBuilder使用讲解

文章目录

  • 1 JavaFX
    • 1.1 引言
    • 1.2 简单使用
      • 1.2.1 搭建项目
      • 1.2.2 fxml文件
      • 1.2.3 生成exe文件
    • 1.3 Idea中集成SceneBuilder
    • 1.4 注解讲解
      • 1.4.1 @FXMLController
      • 1.4.2 @FXML
      • 1.4.3 @FXMLLoaderParameters
      • 1.4.4 @FXMLProperty
    • 1.5 SceneBuilder
      • 1.5.1 添加组件ControlsFX
        • 1.5.1.1页面展示
      • 1.5.2 hierarchy displays
  • 2 SceneBuilder页面讲解
    • 2.1 Properties窗口预览
    • 2.2 Text面板
      • 2.2.1 Text
      • 2.2.2 Font
      • 2.2.3 Text Fill
      • 2.2.4 Wrap Text
      • 2.2.5 Text Alignment
      • 2.2.6 Text Overrun
      • 2.2.7 Ellipsis String
      • 2.2.8 Underline
      • 2.2.9 Line Spacing
    • 2.3 Specific面板
      • 2.3.1 Default Button
      • 2.3.2 Cancel Button
    • 2.4 Graphic面板
      • 2.4.1 Graphic Text Gap
      • 2.4.2 Content Display
    • 2.5 Node面板
      • 2.5.1 Alignment
      • 2.5.2 Disable
      • 2.5.3 Opacity
      • 2.5.4 Node Orientation
      • 2.5.5 Visible
      • 2.5.6 Focus Traversable
      • 2.5.7 Cache Shape
      • 2.5.8 Center Shape
      • 2.5.9 Scale Shape
      • 2.5.10 Opaque Insets
      • 2.5.11 Cursor
      • 2.5.12 Effect
    • 2.6 JavaFX CSS面板
      • 2.6.1 Style
      • 2.6.2 Style Class
      • 2.6.3 Stylesheets
      • 2.6.4 Id
    • 2.7 Extras面板
      • 2.7.1 Blend Mode
      • 2.7.2 Cache
      • 2.7.3 Cache Hint
      • 2.7.4 Depth Test
      • 2.7.5 Insets
      • 2.7.6 Mouse Transparent
      • 2.7.7 Pick On Bounds

1 JavaFX

1.1 引言

JavaFX中文官方网站
JavaFX 是一个开源的下一代客户端应用平台,适用于基于Java构建的桌面、移动端和嵌入式系统。目的是为开发丰富的客户端应用提供一个现代、高效、功能齐全的工具包。
目前市面上已经使用java语言写的桌面应用项目:DBeaver、finalshell、Behinder(冰蝎)、BurpSuite、Jmeter、IDEA 等等这类比较知名软件,那么java是否有更好的桌面应用开发的框架呢?

准备环境:IDEA,JDK17,Windows,Scene Builder

1.2 简单使用

1.2.1 搭建项目

打开IDEA点击File-> new -> Project
左边选择JavaFX,右边配置环境
在这里插入图片描述
这个是开源架构,需要的可以直接勾选
在这里插入图片描述
创建成功后会有一个hello-view.fxml文件,这就是一个Scene(场景),可以使用Scene Builder打开。

Scene Builder是一个官方推荐的绘图软件,可以绘制窗口样式。这相对于是awt、Swing纯代码绘图的架构是一种进步。
运行程序方式很多,直接敲命令、运行Main方法、双击右边javafx:run都可以。本文使用的是命令,进入根目录下:mvnw clean javafx:run
1
此时已经生成app文件夹,还贴心的生成了app.zip压缩包。其中包含了jre,总共大小才70多M大小。应该是自动剔除了不需要用到的包或类。
进入bin目录下运行app.bat,可以看到编写的窗口,但这并不是我们想要的exe,而且可以看到还拖着一个命令提示符。

1.2.2 fxml文件

FXML 是一种以 XML 的格式表示 JavaFX 界面对象的文件,FXML文件中的每一个元素可以映射到JavaFX 中的一个类,每个FXML元素的属性或者其子元素都可以映射为该对应 JavaFXML 类的属性
说白了就是控制这个界面的文件,可以理解为界面的代码表示

为什么需要Controller类文件?

用来绑定这个fxml文件用的,用于控制这个界面的一些操作,实现一些功能

弄明白了之后,我们现在项目中创建两个文件,如下:
创建一个fxml文件,创建一个Controller类文件:
然后修改一下这个fx:controller里面的属性
在这里插入图片描述
然后右键点击这个test.fxml,点击Open In SceneBuilder
然后就会弹出如下界面,也就是刚刚介绍过的SceneBuilder
在这里插入图片描述

1.2.3 生成exe文件

下面我们来转化成exe执行文件。在根目录下运行

jpackage 
	--name test 
	--type app-image  
	-m com.example.openjfx17/com.example.openjfx17.HelloApplication  
	--runtime-image .\target\app\

参数说明:

  • jpackage:是从jdk14之后自带的打包工具。
  • --type -t :打包类型,可取值app-image、exe、msi
  • --name -n:打包之后的应用或包名称
  • --module -m:格式<module name>[/<main class>],模块名/main,不会写可以直接复制·pom.xml·中的·mainClass·标签内容。
  • --runtime-image:运行的镜像,上一个命令打包的文件夹。
    在这里插入图片描述

进入文件夹,运行test.exe执行命令。
在这里插入图片描述

1.3 Idea中集成SceneBuilder

下载地址:JavaFX中SceneBuilder下载地址

环境配置

  • 推荐使用Intellij-idea,第一步先构建一个项目(正常的话肯定构建一个Maven项目)
  • 点击File—>点击settings—>Languages&Frameworks—>JavaFX

Path to SceneBuilder 中填入下载好的SceneBuilder.exe文件:
在这里插入图片描述

1.4 注解讲解

1.4.1 @FXMLController

这个注解用于标记一个类作为FXMLController类。当FXML文件加载时,FXMLLoader会尝试通过这个注解来确定哪个类是它的Controller。它的作用类似于fx:controller属性。

@FXMLController
public class MyController {
    // Controller logic
}

1.4.2 @FXML

这个注解用于注入FXML文件中定义的控件。通过在控件字段上加上@FXML注解,FXMLLoader会在加载FXML文件时将对应的FXML节点与控件字段进行关联。

public class MyController {
    @FXML
    private Button myButton;
}

1.4.3 @FXMLLoaderParameters

这个注解用于指定加载 FXML 文件时的参数。可以用它来指定控制器工厂、资源加载器等。

@FXMLLoaderParameters(location = "MyView.fxml", controller = MyController.class)
public class MyApplication extends Application {
    // Application logic
}

1.4.4 @FXMLProperty

这个注解用于将一个方法标记为用于处理FXML文件中的属性绑定。

public class MyController {
    private StringProperty name = new SimpleStringProperty();

    @FXMLProperty
    public void setName(String name) {
        this.name.set(name);
    }
}

1.5 SceneBuilder

1.5.1 添加组件ControlsFX

ControlsFX 是一个流行的 JavaFX 控件库,它提供了许多高级的用户界面控件和组件,使得 JavaFX 应用程序的开发更加容易和灵活。

  • 丰富的控件库ControlsFX 提供了许多丰富而强大的用户界面控件和组件,如通知框、可折叠面板、文本输入控件、富文本编辑器等。这些控件可以帮助开发者创建更具交互性和视觉吸引力的用户界面。
  • 高度可定制化:ControlsFX 的控件和组件通常都具有高度的可定制性,开发者可以轻松地调整控件的外观和行为来满足自己的需求。这使得开发者能够创建出独特而令人满意的用户界面。
  • 开源社区支持:ControlsFX 是一个开源项目,拥有活跃的开发者社区。开发者可以通过 GitHub 上的源代码库参与到项目的开发和改进中,同时也可以从社区中获得支持和反馈。
  • 与 Scene Builder 集成ControlsFX 提供了专门为 Scene Builder 定制的 jar 文件,使得 ControlsFX 的控件可以直接在 Scene Builder 中使用和预览,从而简化了用户界面设计的流程。
1.5.1.1页面展示

在这里插入图片描述
在这里插入图片描述

1.5.2 hierarchy displays

scence builder中 的 hierarchy displays 可以选择的是:info、fx:id、NodeId这三个有什么区别

  • Info: 这个选项会在FXML文件的根元素上生成一个fx:id属性,这个属性的值就是在Scene Builder中设置的ID。这个ID可以让你在Java代码中通过@FXML注解直接引用FXML文件中的控件。
    选择Info时,Hierarchy面板将显示每个控件的一些基本信息,如类名、位置和尺寸等。这有助于快速了解场景图中各个元素的基本情况
  • fx:id: 这个选项会为FXML文件的根元素生成一个fx:id属性,但不同于Info选项,它会将这个属性应用到FXML文件中的所有子元素上。这意味着可以在Java代码中直接引用FXML文件中的所有子控件。
  • Node ID: 这个选项会在FXML文件的根元素上生成一个Node ID属性,这是FXML文件的唯一标识符。与其他两个选项不同,Node ID 不会在FXML文件中的任何元素上设置fx:id属性。
    通常指的是由Scene Builder自动分配给每个节点的唯一标识符。这个ID用于内部管理和操作,对于用户来说可能不那么直观,但它确保了即使在没有指定fx:id的情况下,每个元素也可以被唯一识别

2 SceneBuilder页面讲解

2.1 Properties窗口预览

按钮控件ButtonProperties窗口预览如下:
在这里插入图片描述
容器控件AnchorPane的Properties窗口预览如下:
在这里插入图片描述
注意:不同控件的Properties窗口内的内容是不同的,不过大体上都差不多,多的一些内容就是该控件特有的属性,少的一些内容就是该控件没有的属性,所以不必纠结学会所有的属性,用到了再查询即可。
在这里插入图片描述
本节将以按钮控件Button为例来说明一些常用属性配置。

2.2 Text面板

Text 面板主要是一些文本属性的配置,一般如Button、Label、CheckBox控件都有这类属性配置。
在这里插入图片描述

2.2.1 Text

设置控件在标签中显示的文本。
在这里插入图片描述

2.2.2 Font

用于标签中文本的默认字体
在这里插入图片描述
其中Family可以选择不同的字体,如微软雅黑等,可以选择的字体很多:
在这里插入图片描述
其中Style指的是字体样式,如加粗、斜体等。
在这里插入图片描述
Bold指的是对字体进行加粗处理;Bold Italic指的是对字体进行加粗并且斜体处理;Italic指的是对字体进行斜体处理;Regular指的是字体的常规显示。
其中Size可以调节字体大小,通过拖动滑条。
在这里插入图片描述

2.2.3 Text Fill

该属性是设置显示的文本的颜色的。
在这里插入图片描述
并且可以设置渐变色的:
在这里插入图片描述

2.2.4 Wrap Text

如果一行文本超出了Labeled的宽度,则指示文本是否应该换行。
在这里插入图片描述
如果不勾选的话就不会换行,但是由于宽度不够会以句点替换掉文本。
在这里插入图片描述

2.2.5 Text Alignment

指定当文本为多行时文本行的对齐方式,对单行文本无效。
在这里插入图片描述

2.2.6 Text Overrun

指定的文本Labeled 超过可用于呈现文本的空间时使用的处理方式。
在这里插入图片描述

2.2.7 Ellipsis String

指定文本被截断时要显示的省略号字符串,要Text Overrun属性选择与ELLIPSIS相关的才能成功,Text Overrun默认是ELLIPSISEllipsis String默认是...
在这里插入图片描述

2.2.8 Underline

为文本添加下划线。
在这里插入图片描述

2.2.9 Line Spacing

指定行之间的像素间距。
在这里插入图片描述

2.3 Specific面板

控件的一些特有属性。

2.3.1 Default Button

如果场景中没有其他节点使用它,则默认按钮是接收键盘VK_ENTER按下的按钮。
意思是如果勾选了这个复选框就表示可以通过点击键盘上的ENTER键来触发该按钮事件。
在这里插入图片描述

2.3.2 Cancel Button

如果场景中没有其他节点消耗它,则“取消按钮”是接收键盘VK_ESC按下的按钮。
意思是如果你勾选了这个复选框就表示你可以通过点击键盘上的ESC键来触发该按钮事件。
在这里插入图片描述

2.4 Graphic面板

这个是设置控件图标和控件中文本的相关属性配置,所以必须改控件有图标才会生效,否则设置无效。
在这里插入图片描述

2.4.1 Graphic Text Gap

指的是图形和文字之间的空间量。
在这里插入图片描述

2.4.2 Content Display

指定图形相对于文本的位置。
在这里插入图片描述

  • TOP指图标在文本上方;
  • RIGHT指图标在文本右方;
  • BOTTOM指图标在文本下方;
  • LEFT指图标在文本左方;
  • CENTER指图标在文本正中间;
  • GRAPHIC_ONLY指只显示图标;
  • TEXT_ONLY指只显示文本。

2.5 Node面板

Node指的是该控件节点,所有的控件都有这类属性配置。
在这里插入图片描述

2.5.1 Alignment

指定当标签内有空白时,应如何对齐标签内的文本和图形(需要控件内的空白足够大才能观察明白)。
在这里插入图片描述

2.5.2 Disable

禁止控件使用。如果勾选则是禁止使用。
在这里插入图片描述

2.5.3 Opacity

设置控件的透明度,可以根据滑条进行调节,也可以在文本框输入,范围是0-1。
在这里插入图片描述

2.5.4 Node Orientation

设置组件内数据方向,是从左到右还是从右到左,默认是从左到右。
在这里插入图片描述

2.5.5 Visible

设置控件是否显示,勾选表示显示该控件,否则不显示。
在这里插入图片描述

2.5.6 Focus Traversable

指定这是否Node应该是焦点遍历循环的一部分。当此属性为true,焦点可以移动到这个 Node 从这个Node使用常规的焦点遍历键。在桌面上,此类键通常是 TAB用于向前移动焦点和SHIFT+TAB向后移动焦点。
意思就是如果勾选了这个Focus Traversable复选框的话,那么当使用TAB键移动焦点时,会直接跳过该控件,该控件就不会获得焦点。
在这里插入图片描述

2.5.7 Cache Shape

定义对系统的提示,指示用于定义区域背景的Shape稳定并且可以从缓存中受益。
在这里插入图片描述

2.5.8 Center Shape

定义形状是否在区域 的宽度或高度内居中。 true表示形状在区域的宽度和高度内居中,false表示形状位于其源位置。勾选表示true,不勾选表示false。
在这里插入图片描述

2.5.9 Scale Shape

指定是否缩放形状(如果已定义)以匹配区域的大小。 true表示形状按比例缩放以适合Region的大小,false 表示形状处于其原始大小,其位置取决于的值 centerShape。
在这里插入图片描述

2.5.10 Opaque Insets

定义绘制完全不透明像素的区域。这用于各种性能优化。
该区域内的像素必须完全不透明,否则会导致渲染失真。应用程序有责任通过代码或CSS来确保opaqueInsets基于该区域的背景和边界对于该区域而言是正确的。每个插图的值都必须是实数,而不是NaN或Infinity。如果不存在已知的inset,则应该将opaqueInsets设置为null。
在这里插入图片描述

2.5.11 Cursor

设置但鼠标放在该控件上时,鼠标是什么形状的。
在这里插入图片描述

2.5.12 Effect

为控件应用一些特殊的3D效果。
在这里插入图片描述

2.6 JavaFX CSS面板

为控件设置CSS样式,基本上每个控件都有该类属性配置,即通过CSS来为控件添加样式。
在这里插入图片描述

2.6.1 Style

Style 是行内样式,即该控件的一些CSS样式,是写在FXML文件中的。下面是设置背景色:
在这里插入图片描述

2.6.2 Style Class

为控件添加一个class为标志该控件,多个控件可以设置同一个class,一个控件也可以设置多个class,但是一个控件只能设置id。
设置class后,在CSS文件中使用点(.)选择器来设置样式,比如说这里就是:.buttonStyle
在这里插入图片描述
在这里插入图片描述

2.6.3 Stylesheets

选择电脑本地的CSS样式文件,但需要注意文件的路径问题。
在这里插入图片描述

2.6.4 Id

设置控件的ID,每个控件只能设置一个ID,一个ID也只能被一个控件所使用。
在CSS样式文件中通过选择器(#)来设置样式,如这里的选择器是:#button_one
在这里插入图片描述
在这里插入图片描述

2.7 Extras面板

一些其他的属性,基本所有控件都有这类属性,这些用得非常非常少。
在这里插入图片描述

2.7.1 Blend Mode

将混合效果的输入合成在一起的方式,或将节点如何混合到场景背景中的方式。
具体可以参照官网:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/effect/BlendMode.html
在这里插入图片描述

2.7.2 Cache

系统的性能提示,指示 Node 应将其缓存为位图。在许多情况下,渲染节点的位图表示将比渲染图元更快,特别是在应用了效果(例如模糊)的图元的情况下。但是,这也会增加内存使用率。此提示表明是否值得进行权衡(增加内存使用以提高性能)。还要注意,在某些平台(例如GPU加速平台)上,使用模糊和其他效果时,将节点缓存为位图几乎没有什么好处,因为它们在GPU上的渲染速度非常快。

默认不勾选。
在这里插入图片描述

2.7.3 Cache Hint

用于控制位图缓存的其他提示。

在某些情况下,例如对渲染起来非常昂贵的动画节点,希望能够在节点上执行转换而不必重新生成缓存的位图。在这种情况下,一种选择是对缓存的位图本身执行转换。
该技术可以极大地提高动画效果,但也可能导致视觉质量下降。该cacheHint 变量为系统提供了有关如何以及何时可以进行权衡(动画效果的视觉质量)的提示。

可以仅在节点设置动画时启用cacheHint。通过这种方式,昂贵的节点可以完整的视觉质量出现在屏幕上,但仍然可以平滑地动画。
在这里插入图片描述

2.7.4 Depth Test

指示在渲染此节点时是否使用深度测试。如果depthTest标志为DepthTest.DISABLE,则对此节点禁用深度测试。如果depthTest标志为DepthTest.ENABLE,则为此节点启用深度测试。如果depthTest标志为DepthTest.INHERIT,则如果为父节点启用深度测试,或者父节点为null,则为此节点启用深度测试。

depthTest标志仅在的depthBuffer标志为Scenetrue时使用(表示 Scene拥有关联的深度缓冲区)
深度测试比较仅在启用depthTest的节点之间进行。禁用depthTest的节点不会读取,测试或写入深度缓冲区,也就是说,与其他节点进行深度测试不会考虑其Z值。
在这里插入图片描述

2.7.5 Insets

Region的插图定义从区域边缘(其布局边界或(0,0,宽度,高度))到内容区域边缘的距离。所有子节点都应布置在内容区域内。根据已指定的边界(如果有)以及填充来计算插图。
在这里插入图片描述

2.7.6 Mouse Transparent

如果为true,则此节点(连同其所有子节点)对于鼠标事件是完全透明的。为鼠标事件选择目标时,将不考虑mouseTransparent设置为的节点true及其子树。
在这里插入图片描述

2.7.7 Pick On Bounds

定义当由MouseEventcontains函数调用触发时,如何为此节点进行选择计算。如果pickOnBounds为true,则通过与该节点的边界相交来计算拾取,否则,通过与该节点的几何形状相交来计算拾取。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/587672.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue入门篇:样式冲突scoped,data函数,组件通信,prop data单向数据流,打包发布

这里写目录标题 1.组件的样式冲突scoped2.data函数3.组件通信1.两种组件关系分类和对应的组件通信方案2.父子通信方案的核心流程 4.prop & data、单向数据流5.打包发布6.打包优化:路由懒加载 1.组件的样式冲突scoped 默认情况:写在组件中的样式会全局生效→因此很容易造成多…

PyCharm更换pip源、模块安装、PyCharm依赖包导入导出

一、Pycharm更换安装源 在下载安装好Pycharm后&#xff0c;一个在实际编程开发过程中非常重要的问题是第三方库添加&#xff0c;然而Python默认的源网络速度有点慢&#xff0c;因此&#xff0c;我们常常需要做的是更换Pycharm的安装源。 在当前最新版&#xff08;2022.03版&…

Blender常见操作

1.局部视图&#xff1a;Local View&#xff0c;也可称作Solo模式&#xff0c;按快捷键 “/”进入&#xff0c;在按退出&#xff0c;只显示选中的物体&#xff08;可多选&#xff09;&#xff0c;方便编辑 2.物体合并&#xff1a;Ctrl J 其中&#xff0c;当选中多个物体时&am…

XTuner微调LLM:1.8B、多模态和Agent-笔记四

本次课程由XTuner 贡献者李剑锋、汪周谦、王群老师讲解【XTuner 微调 LLM&#xff1a;1.8B、多模态和 Agent】课程 课程视频&#xff1a;http:// https://b23.tv/QUhT6ni 课程文档&#xff1a;https://github.com/InternLM/Tutorial/blob/camp2/xtuner/readme.md 两种Finetun…

border-image-slice详细说明

上一篇文章我们介绍了 border-image的用法&#xff0c;其中border-image-source、border-image-width、 border-image-outset都比较简单好理解&#xff0c;这边文章我们重点学一下border-image-slice 属性&#xff0c;它用于定义边框图像如何被切割并应用到元素的边框上。这个属…

JavaScript 动态网页实例 —— 数值处理对象

前言 Math对象用于进行数学运算。其属性是数学中一些常见的常数值,在程序中可以直接使用。Math对象的方法很多,主要完成一些常见的数学运算,如三角函数计算、乘方、开方、求对数等。在 Math 对象的方法中,除了random()之外的所有方法都需要一个或几个参数,并且其用法基本…

【数据结构】为了节省空间,对于特殊矩阵我们可以这样做……

特殊矩阵的压缩存储 导读一、数组与矩阵1.1 数组1.2 数组与线性表1.3 数组的存储结构1.4 矩阵在数组中的存储1.4.1 行优先存储1.4.2 列优先存储 二、特殊矩阵及其压缩存储三、对称矩阵及其存储3.1 方阵与对称矩阵3.2 对称矩阵的存储3.3 压缩存储的手动实现3.3.1 行优先存储3.3.…

修改Ubuntu远程登录欢迎提示信息

无论何时登录公司的某些生产系统&#xff0c;你都会看到一些登录消息、警告或关于你已登录服务器的信息&#xff0c;如下所示。 修改方式 1.打开ubuntu终端,进入到/etc/update-motd.d目录下面 可以发现目录中的文件都是shell脚本, 用户登录时服务器会自动加载这个目录中的文件…

大白话理解IoC和DI

引言 Spring是Java领域最受欢迎的开发框架之一&#xff0c;其核心功能之一就是Spring容器&#xff0c;也就是IoC容器。这篇文章&#xff0c;我们就来聊聊Spring的两大核心功能&#xff0c;控制反转&#xff08;IOC&#xff09;和依赖注入&#xff08;DI&#xff09;。 文章思…

Go 语言基础(二)【数组、切片、指针、map、struct】

1、数组 特别需要注意的是&#xff1a;在 Go 语言中&#xff0c;数组长度也是数组类型的一部分&#xff01;所以尽管元素类型相同但是长度不同的两个数组&#xff0c;它们的类型并不相同。 1.1、数组的初始化 1.1.1、通过初始化列表{}来设置值 var arr [3]int // int类型的数…

09_Scala函数和对象

文章目录 函数和对象1.函数也是对象 scala中声明了一个函数 等价于声明一个函数对象2.将函数当作对象来用&#xff0c;也就是访问函数&#xff0c;但是不执行函数结果3.对象拥有数据类型(函数类型)&#xff0c;对象可以进行赋值操作4.函数对象类型的省略写法&#xff0c;也就是…

SCI一区 | MFO-CNN-LSTM-Mutilhead-Attention多变量时间序列预测(Matlab)

SCI一区 | MFO-CNN-LSTM-Mutilhead-Attention多变量时间序列预测&#xff08;Matlab&#xff09; 目录 SCI一区 | MFO-CNN-LSTM-Mutilhead-Attention多变量时间序列预测&#xff08;Matlab&#xff09;预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现MFO-CNN…

常见公式的几何解释

本文旨在深入探讨常见数学公式的几何意义&#xff0c;通过直观的图形和解释&#xff0c;帮助读者更好地理解并掌握这些公式的本质。文章首先概述了公式与几何图形之间的紧密联系&#xff0c;然后选取了几个典型的数学公式&#xff0c;进行详细解析。每个公式都将配以相应的几何…

vuex的学习

首先下载vuex&#xff0c;然后建立一个目录在vueX中 接着在index。js文件夹中引入 引入后导出这个文件 在main.js文件中导入&#xff0c;这样vue就有了状态管理 接着我创建了2个组件&#xff0c;在 里边规定了一个num:0 在 打印出来就可以看见 映射函数mapState&#xff0c;必…

数据结构算法——链表带环问题——数学深度解析

前言:本节内容主要是讲解链表的两个问题 &#xff1a;1、判断链表是否带环&#xff1b; 2、一个链表有环&#xff0c; 找到环的入口点。 本节内容适合正在学习链表或者链表基础薄弱的友友们哦。 我们先将问题抛出来&#xff0c;友友们可以自己去力扣或者牛客网去找相应题目&…

基于SSM的个人博客系统(四)

目录 5.3 博客类别管理模块 5.3.1 添加博客类别 5.3.2 修改博客类别 5.3.3 删除博客类别 5.3.4 显示博客类别 5.4 评论管理模块 5.4.1 审核评论 5.4.2 删除评论 前面内容请移步 基于SSM的个人博客系统&#xff08;三&#xff09; 个人博客系统的设计与实现免费源码…

头歌:Spark GraphX—寻找社交媒体中的“影响力用户”

第1关:认识Pregel API 简介 Spark GraphX中提供了方便开发者的基于谷歌Pregel API的迭代算法,因此可以用Pregel的计算框架来处理Spark上的图数据。GraphX的Pregel API提供了一个简明的函数式算法设计,用它可以在图中方便的迭代计算,如最短路径、关键路径、n度关系等,也可以…

【C++】STL学习之优先级队列

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f3a5;系列专栏&#xff1a;《C语言》 《数据结构》 《C》 《Linux》 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 文章目录 前言一、优先级队列的使用1.1 基本功能1.2 优先级模式切换1.3 相关题目 二、模拟实现优先级…

AI赋能不应贵气:深度解读AI助力企业渡过经济寒冬以及如何落地AI的路径

AI很棒可是给人感觉“很贵”因此我不敢用 继GPT4后Dalle3、Sora、GPT4.5、GPT5的消息以及前天突然出现的GPT 2.0&#xff08;GPT二代&#xff0c;有人说这就是OPEN AI的新产品&#xff1a;Q*&#xff09;但凡涉及到AI的一系列新闻给人予很震撼的感觉。放眼望去AI正在欣欣向荣。…

洛谷 P5854:【模板】笛卡尔树

【题目来源】https://www.luogu.com.cn/problem/P5854【题目描述】 给定一个 1∼n 的排列 p&#xff0c;构建其笛卡尔树。 即构建一棵二叉树&#xff0c;满足&#xff1a; 1.每个节点的编号满足二叉搜索树的性质。← 优先级 pri 满足二叉搜索树&#xff08;BST&#xff09;的性…