javafx自定义窗体(高级篇)

这篇博客介绍了如何在JavaFX中创建完全自定义风格的窗体,不使用任何官方提供的修饰。通过代码示例展示如何打造独一无二的窗口效果,并提供了最终实现的截图。作者鼓励读者提问和尊重原创。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

javafx自定义窗体(高级篇)

javafx的窗体可以有多种形式存在,官方的提供一些风格可以在我的第一篇文章javafx窗口风格、包括自定义标题栏获取到,如果有不了解的可以先从我的第一篇文章了解。今天这篇文章要说的是如果自定义一个全新的窗体,完全是自己的风格的,不带javafx原生的任何修饰。先看看效果图:

这里写图片描述

直接上代码

import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.geometry.Rectangle2D;
import javafx.scene.Cursor;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.image.ImageView;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.Priority;
import javafx.scene.paint.Paint;
import javafx.scene.text.Font;
import javafx.stage.Screen;
import javafx.stage.Stage;
import javafx.stage.StageStyle;

public class CustomWindowDemo extends Application {
   
   

	private double x = 0.00;
	private double y = 0.00;
	private double width = 0.00;
	private double height = 0.00;
	private boolean isMax = false;
	private boolean isRight;// 是否处于右边界调整窗口状态
	private boolean isBottomRight;// 是否处于右下角调整窗口状态
	private boolean isBottom;// 是否处于下边界调整窗口状态
	private double RESIZE_WIDTH = 5.00;
	private double MIN_WIDTH = 400.00;
	private double MIN_HEIGHT = 300.00;
	private double xOffset = 0, yOffset = 0;//自定义dialog移动横纵坐标
	
	@Override
	public void start(Stage primaryStage) throws Exception {
   
   
		primaryStage.initStyle(StageStyle.TRANSPARENT);
		BorderPane root = new BorderPane();
		GridPane gpTitle = new GridPane();
		gpTitle.setAlignment(Pos.CENTER_LEFT);
		gpTitle.setPadding(new Insets(10)
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值