网站首页 > 基础教程 正文
JavaFX 提供了强大的 CSS(Cascading Style Sheets,层叠样式表)支持,允许开发者对用户界面进行丰富的视觉设计和自定义。就像网页开发中使用CSS一样,JavaFX的CSS可以用来改变控件的颜色、字体、大小、布局等外观属性,从而提升应用的美观性和用户体验。
使用示例:
1. 应用CSS到JavaFX应用
有几种方法可以将CSS应用到JavaFX应用中:
- 内联样式:直接在Java代码中设置控件的样式属性。
button.setStyle("-fx-background-color: #FFA500; -fx-text-fill: white;");
- 外部CSS文件:推荐做法,将样式规则放在单独的.css文件中,然后在应用中加载。
scene.getStylesheets().add(getClass().getResource("styles.css").toExternalForm());
2. CSS选择器
JavaFX支持CSS2和部分CSS3的选择器,包括但不限于:
- 类型选择器:直接指定控件类型,如 .button {}
- ID选择器:为特定控件分配唯一ID并在CSS中引用,如 #myButton {}
- 类选择器:为控件分配类并在CSS中定义样式,如 .custom-class {}
- 伪类选择器:如:hover, :pressed等,用于定义交互状态下的样式。
3. 常用CSS属性示例
- 背景颜色:-fx-background-color: #color;
- 文字颜色:-fx-text-fill: #color;
- 字体:-fx-font-family: 'Arial'; -fx-font-size: 14px;
- 边框:-fx-border-color: #color; -fx-border-width: 2px;
- 圆角:-fx-background-radius: 5px;
示例:外部CSS文件应用
styles.css
.button {
-fx-background-color: linear-gradient(#61a2b1, #4f899d);
-fx-text-fill: white;
}
.button:hover {
-fx-background-color: derive(linear-gradient(#61a2b1, #4f899d), 30%);
}
#specialButton {
-fx-font-weight: bold;
-fx-effect: dropshadow(three-pass-box, rgba(0,0,0,0.8), 10, 0, 0, 0, 0);
}
Main.java
Button button = new Button("Normal Button");
Button specialButton = new Button("Special Button");
specialButton.setId("specialButton");
Scene scene = new Scene(new StackPane(button, specialButton), 300, 250);
scene.getStylesheets().add(getClass().getResource("styles.css").toExternalForm());
通过这种方式,你可以创建一个既美观又具有专业外观的JavaFX应用。
- 上一篇: 「按键精灵」旋转验证
- 下一篇: HTML 也能开发桌面软件之 NW.js 中的 Window 窗体类
猜你喜欢
- 2024-11-19 小程序Kbone开发教程基础篇02-使用kbone-ui实现一个按钮
- 2024-11-19 比less/sass更便捷的新一代CSS编写方式
- 2024-11-19 带图标和按钮切换特效的垂直导航菜单的html页面源码
- 2024-11-19 HTML 也能开发桌面软件之 NW.js 中的 Window 窗体类
- 2024-11-19 「按键精灵」旋转验证
- 2024-11-19 冷门的HTML - tabindex 的作用
- 2024-11-19 CSS不规则卡片,纯CSS制作优惠券样式,CSS实现锯齿样式
- 2024-11-19 零基础教你学前端——35、表单 input 控件中的按钮
- 2024-11-19 daisyUI - 主题漂亮、代码纯净!免费开源的 Tailwind CSS 组件库
- 2024-11-19 12个浏览器快捷键,助你提升工作效率
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- deletesql (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)