- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道可以使用 Css 在 JavaFx 中设置 2D 元素的样式。我想知道是否有可能对 3D 对象实现相同的效果。
我认为让样式代码远离 java(逻辑)代码是一种很好的做法。
问题:谁能提供一些示例代码,其中 JavaFx 中的 3D 对象的样式是用 Css 完成的?
谢谢。
最佳答案
JavaFX 的 CSS 功能主要用于控件(2D)的样式。
通常,您不会使用 CSS 设置 3D 对象的样式。相反,你 load the objects up from mesh models .这些基于 MeshView 的 3D 对象或其他Shape3D对象不能不使用 CSS 设置样式(至少就做任何有用的样式而言)。例如,您不能使用 CSS 设置 Shape3D 的颜色样式,因为形状的颜色是通过光照和形状 material 确定的。 ,它们都不能使用 CSS 设置样式。还有其他格式用于描述 3D 模型(例如 obj、STL 等),它们是专门为 3D 设计的,并且提供了比 CSS 更好的样式化 3D 对象的替代方法。
如果您拍摄 2D 场景并在 3D 空间中显示它们,则可以使用 CSS 设置 2D 场景的样式。这是一个例子。不过,我不认为这真的是您要找的东西。
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.scene.image.*;
import javafx.scene.layout.*;
import javafx.scene.paint.Color;
import javafx.scene.transform.Rotate;
import javafx.stage.Stage;
public class ThreeDStyle extends Application {
@Override
public void start(Stage stage) {
// create label.
final Label label = new Label(TEXT);
label.setGraphic(new ImageView(new Image(IMAGE_LOC)));
label.setStyle(DEFAULT_STYLE);
// create 3D rotation transform on label.
Rotate rotate = new Rotate(-30, Rotate.Y_AXIS);
label.getTransforms().setAll(
rotate
);
// layout scene.
VBox root = new VBox(10,
createControls(label, rotate),
new Group(label)
);
root.setStyle("-fx-background-color: null; -fx-padding: 10px;");
// create a 3D scene with perspective capability.
Scene scene = new Scene(root, 525, 400, true, SceneAntialiasing.BALANCED);
scene.setCamera(new PerspectiveCamera());
scene.setFill(Color.MIDNIGHTBLUE);
stage.setScene(scene);
stage.show();
}
private Node createControls(Label label, Rotate rotate) {
TextArea style = new TextArea(label.getStyle());
Button apply = new Button("Apply Style");
apply.setMinSize(Button.USE_PREF_SIZE, Button.USE_PREF_SIZE);
apply.setDefaultButton(true);
apply.setOnAction(event -> label.setStyle(style.getText()));
Slider rotateSlider = new Slider(0, 60, rotate.getAngle() * -1);
rotate.angleProperty().bind(rotateSlider.valueProperty().multiply(-1));
VBox controlPanel = new VBox(10,
new HBox(10, style, apply),
new HBox(new Label("Rotate"), rotateSlider)
);
controlPanel.setPadding(new Insets(10));
controlPanel.setStyle("-fx-background-color: antiquewhite;");
return controlPanel;
}
private static final String TEXT =
"O for a Muse of fire, that would ascend\n" +
"The brightest heaven of invention,\n" +
"A kingdom for a stage, princes to act\n" +
"And monarchs to behold the swelling scene!\n" +
"Then should the warlike Harry, like himself,\n" +
"Assume the port of Mars; and at his heels,\n" +
"Leash'd in like hounds, should famine, sword and fire\n" +
"Crouch for employment";
private static final String IMAGE_LOC =
"http://ia.media-imdb.com/images/M/MV5BMTI1ODg1Mjk5NF5BMl5BanBnXkFtZTcwNzQyNjUxMQ@@._V1_SX214_AL_.jpg";
private static final String DEFAULT_STYLE =
"-fx-background-color: mediumseagreen;\n" +
"-fx-background-radius: 10px;\n" +
"-fx-padding: 10px;\n" +
"-fx-graphic-text-gap: 10px;\n" +
"-fx-font-family: 'American Typewriter';\n" +
"-fx-font-size: 18px;";
public static void main(String[] args) {
launch(args);
}
}
关于css - 带有 css 的 JavaFx 样式 3D 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26255238/
我喜欢调整 目录的样式(例如背景颜色、字体)预订 , Gitbook 风格 HTML 文档。 这可能吗?如果是这样,有人可以善意地指出我可以开始这样做的地方吗? 谢谢你。 最佳答案 两个步骤: 1)
是否可以使用纯 CSS 选择器根据子节点的兄弟节点数量为节点子节点(在我的例子中为 UL)提供不同的属性,特别是高度? 例如,如果一个节点有 1 个子节点,则 UL 的高度是自动的,但是如果该节点有
我正在与 Vala 一起工作,它首先编译为 C,然后正常从 C 编译。 valac 的一项功能(Vala 编译器)是为 .vala 生成“fast-vapi”文件。 fast-vapi 本质上是为 .
我有两个具有 .body 类的 div,但是,一个位于另一个具有 .box 类的 div 中 - 如下所示: 我只想为 .box 内部的 .body 设置样式...但我在下面所
**注意所有 <> 标签已被删除以允许代码显示**我已经玩了好几个小时了,如果不在设计结束时使用解决方法(即 Corel 绘图),我就无法真正让它工作 *在我继续之前, 首先,网站 URL 是 Adv
我从一个服务中接收到一个字符串,该字符串显然使用 UTF-32 编码对其 unicode 字符进行编码,例如:\U0001B000(C 风格的 unicode 编码)。但是,为了在 JSON 中序列化
我在应用程序资源中有一种样式,我想将其应用于许多不同的饼图。样式如下所示: 为了简单起见,我排除了更多的属性。这一切都很好。现在,我的一些馅饼需要有一个不同的“模型
想象一下,我有一个名为“MyCheckBoxStyle”的 CheckBox 自定义样式。 如何制作基于 MyCheckBoxStyle 嵌入自定义 DataGridCheckBoxColumn 样式
我有一个 Button我在 WPF 中开发的样式,如 this question 中所述.我想用这种风格做的另一件事是拥有 Button缩小一点点,使其看起来像被点击一样被点击。现在,转换代码如下所示
我为超链接控件创建了一个样式:
不知道为什么,但我的 typeahead.js 远程自动完成停止工作。我没有更改任何关于 typeahead.js 的代码,但既然它坏了,我一定是错的。你能看看我的site here吗? ?我会创建
有没有办法创建扩展当前样式的样式,即不是特定样式? 我有一个 WPF 应用程序,我在其中创建样式来设置一些属性,例如边框或验证。 现在我想尝试一些主题,看看哪
我正在为一个网站提出问题,并希望 var reltext 中的正确/再试消息具有不同的颜色,即绿色表示正确,红色表示错误,并且每个旁边可能有一个小 png。 有什么想法吗? A local co
我想到达列表的父节点(使用 id 选择器)并使用纯 JavaScript 添加背景颜色来设置其样式。这是我的代码,但不起作用。 var listParentNode; listPare
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 4 年前。 Improve th
过去几天我一直在与这段代码作斗争,我真的不知道该如何处理它。 基本上,当用户将鼠标滚动到主导航菜单中的某个 LI 元素上时,就会运行一个 Javascript 函数,并根据触发该函数的元素将链接放入下
使用这个可爱的 html 和 css 作为指南,我能够在我的照片上显示我的姓名首字母。 这很好,但是,如果图像不存在,我只想显示首字母;如果图像存在,则不应渲染 peron 首字母。 换句话说,当该图
使用这个可爱的 html 和 css 作为指南,我能够在我的照片上显示我的姓名首字母。 这很好,但是,如果图像不存在,我只想显示首字母;如果图像存在,则不应渲染 peron 首字母。 换句话说,当该图
是否有人尝试过将 JButton 设计为看起来像 NetBeans 工具栏按钮?这将只显示一张图片,当您将鼠标悬停在它上面时,会显示 1px 圆形角灰色边框,并且按钮顶部和底部的背景不同......似
在 Ax2012 中使用图表,它们工作正常。但我想更改它在启动时显示的图表类型,例如“样条”图表,而不是默认的“柱状图”图表。 这是我现在拥有的: http://i.stack.imgur.com/R
我是一名优秀的程序员,十分优秀!