小编Eug*_*ene的帖子

如何在JavaFX中使用CSS制作动画?

我想Node通过改变它的风格类来改变风格.

Button button = new Button();
button.getStyleClass().add("class1")   
button.setOnMouseClicked(new EventHandler<MouseEvent>() {
        @Override
        public void handle(MouseEvent mouseEvent) {
            button.getStyleClass().add("class2");
        }
    });
Run Code Online (Sandbox Code Playgroud)

是否有可能逐渐改变风格,使之成为过渡?

user-interface animation javafx-2 javafx-8

12
推荐指数
2
解决办法
2万
查看次数

如何通过StAX修改巨大的XML文件?

我有一个巨大的XML(~2GB),我需要添加新元素并修改旧元素.例如,我有:

<books>
    <book>....</book>
    ...
    <book>....</book>
</books>
Run Code Online (Sandbox Code Playgroud)

并希望得到:

<books>
   <book>
      <index></index>
      ....
   </book>
   ...
   <book>
      <index></index>
      ....
   </book>
</books>
Run Code Online (Sandbox Code Playgroud)

我使用了以下代码:

XMLInputFactory inFactory = XMLInputFactory.newInstance();
XMLEventReader eventReader = inFactory.createXMLEventReader(new FileInputStream(file));
XMLOutputFactory factory = XMLOutputFactory.newInstance();
XMLStreamWriter writer = factory.createXMLStreamWriter(new FileWriter(file, true));
while (eventReader.hasNext()) {
   XMLEvent event = eventReader.nextEvent();
   if (event.getEventType() == XMLEvent.START_ELEMENT) {
      if (event.asStartElement().getName().toString().equalsIgnoreCase("book")) {
          writer.writeStartElement("index");
          writer.writeEndElement();
       }
    }
}
writer.close();
Run Code Online (Sandbox Code Playgroud)

但结果如下:

<books>
   <book>....</book>
   ....
   <book>....</book>
</books><index></index>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

java xml stax xml-parsing

8
推荐指数
2
解决办法
1万
查看次数

JavaFX 3D - 如何为具有3D对象的Group和具有UI控件的SubScene设置不同的摄像头?

由于JavaFX 8中的新功能,可以将3D对象与2D UI控件组合在一起.

我将这些文档用作手册:JavaFX教程,探索JavaFX 3D.

所以,我做了这个代码:

public class CastAnalytics extends Application {

    final Group root = new Group();
    final Group axisGroup = new Group();
    final XForm world = new XForm();
    final PerspectiveCamera camera = new PerspectiveCamera(true);
    final PerspectiveCamera subSceneCamera = new PerspectiveCamera(false);
    final XForm cameraXForm = new XForm();
    final XForm cameraXForm2 = new XForm();
    final XForm cameraXForm3 = new XForm();
    final double cameraDistance = 450;
    final XForm moleculeGroup = new XForm();
    private Timeline timeline;
    boolean timelinePlaying …
Run Code Online (Sandbox Code Playgroud)

java 3d javafx-2 javafx-8

5
推荐指数
1
解决办法
3775
查看次数

如何为Windows 7 x64构建64位Qt 5.3?使用MinGW-w64和MSVS构建之间有什么区别吗?

也许这个问题非常简单并且被问过很多次,但是,尽管我搜索了很多,但我找不到构建Qt的逐步说明.所有这些都是Qt4或包含一些错误.我需要64位版本的Qt for Windows 7.如何才能完成?

c++ windows qt mingw-w64 qt5

5
推荐指数
1
解决办法
1451
查看次数

如何在 C++ 中定义自定义浮点格式(类型)?

如何定义我自己的具有特定精度和指数和有效数位的浮点格式(类型)?例如,具有 20 位指数和 107 位有效数(非标准 15/112 位)的 128 位浮点数,或具有 19/236 位指数/有效数的 256 位浮点数。

c++ floating-point floating-point-precision

5
推荐指数
1
解决办法
3284
查看次数

如何将子组件和新属性添加到自定义JavaFX控件?

我想创建一个新的JavaFX组件并在FXML中使用它.如何定义此组件的使用可能性和子类型?有没有办法为这个组件创建我自己的atrributes?例如,这就是我想要的:

<MyNewComponent specificAttribute="...">
   <children>
      <SpecificChildren></SpecificChildren>
   </children>
</MyNewComponent>
Run Code Online (Sandbox Code Playgroud)

java custom-component javafx-2

4
推荐指数
1
解决办法
3851
查看次数

如何在JavaFX 8中创建自定义3d模型?

我尝试使用官方教程在JavaFX应用程序中创建一个平面,并具有下一个代码:

Image diifuseMap = new Image(getClass().getResource("t.jpg").toExternalForm());
    TriangleMesh planeMesh = new TriangleMesh();
    float[] points = {
            -5, 5, 0,
            -5, -5, 0,
            5, 5, 0,
            5, -5, 0
    };
    float[] texCoords = {
            0, 0,
            0, 1,
            1, 0,
            1, 1
    };
    int[] faces = {
            0, 0, 1, 1, 2, 2,
            2, 2, 3, 3, 1, 1
    };
    planeMesh.getPoints().addAll(points);
    planeMesh.getTexCoords().addAll(texCoords);
    planeMesh.getFaces().addAll(faces);
    MeshView meshView =   new MeshView(planeMesh);
    meshView.setMaterial(new PhongMaterial(Color.BLACK, diifuseMap, null, null, null));
    Group3D plane = new Group3D(new MeshView(planeMesh));
Run Code Online (Sandbox Code Playgroud)

但不幸的是,现场没有任何东西出现.任何人都可以解释如何在JavaFX中创建自己的3D模型吗?是否可以创建没有纹理(我想要线框模型)?

3d javafx-2 javafx-8

4
推荐指数
2
解决办法
1万
查看次数

是否可以在没有纹理的JavaFX 8中创建3d模型?

我想在JavaFX 8应用程序中创建一个模型,它将有大约400000个多边形.而且我不需要任何纹理,只需要简单的颜色.通常有必要这样的东西:

float[] points = {
    -5, 5, 0,
    -5, -5, 0,
    5, 5, 0,
    5, -5, 0
};
float[] texCoords = {
    1, 1,
    1, 0,
    0, 1,
    0, 0
};
int[] faces = {
    2, 2, 1, 1, 0, 0,
    2, 2, 3, 3, 1, 1
};

TriangleMesh mesh = new TriangleMesh();
mesh.getPoints().setAll(points);
mesh.getTexCoords().setAll(texCoords);
mesh.getFaces().setAll(faces);
Run Code Online (Sandbox Code Playgroud)

如果我使用没有texCoordsfaces数组的代码,它肯定不起作用.那么有可能创建没有纹理的3D模型吗?

3d javafx-8

4
推荐指数
1
解决办法
1152
查看次数

如何在JavaFX 8中从STL创建3d形状?

我有类STLFile,它返回两个数组:一个坐标为法线,另一个坐标为坐标.所以现在我想在我的JavaFX应用程序中使用这些坐标创建3d形状.问题是如何在没有纹理的情况下做到这一点.使用官方指南我用坐标制作了TriangleMesh并将其添加到MeshView.但不幸的是,现场没有任何东西出现.所以有人可以解释我怎么做,因为官方指南中的描述不能称之为足够吗?

3d javafx-2 javafx-8

3
推荐指数
1
解决办法
5917
查看次数

如何更改标签的字符串方向?

当使用TabPane并在侧面放置标签时,标签的标题和字符串会旋转并具有垂直方向.当使用TabPane和右/左侧标签时,有没有办法水平放置标签的字符串?

javafx-2

2
推荐指数
1
解决办法
3090
查看次数

JavaFX自定义控制台中的线程冲突

我已经创建了一个Java/JavaFX控制台,现在我面临一个例外:Console reports an Internal error.The error is: java.lang.IllegalStateException: Not on FX application thread; currentThread = Thread-5.控制台的代码:

package core.console;
import javafx.concurrent.Service;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.TextArea;
import javafx.stage.Stage;

import java.io.*;
import java.util.ResourceBundle;

public class Console implements Runnable{
    private Console(ResourceBundle resourceBundle) throws IOException {
        FXMLLoader loader = new FXMLLoader(this.getClass().getResource("Console.fxml"), resourceBundle);
        Parent root = (Parent) loader.load();
        controller = loader.getController();
        Scene scene = new Scene(root);
        stage = new Stage();
        stage.setScene(scene);
        textArea = controller.getTextArea();
        show();

        PipedOutputStream pout=new PipedOutputStream(this.pin);
        System.setOut(new PrintStream(pout,true)); …
Run Code Online (Sandbox Code Playgroud)

java multithreading jconsole javafx-2 javafx-8

1
推荐指数
1
解决办法
2736
查看次数

如何在JavaFX中围绕自定义枢轴旋转对象?

我想围绕一个自定义枢轴旋转一个对象,这是它的重点,所以我有这样的代码:

private final EventHandler<MouseEvent> mouseEventHandler = new EventHandler<MouseEvent>() {
        @Override
        public void handle(MouseEvent mouseEvent) {
            if (mouseEvent.getEventType() == MouseEvent.MOUSE_PRESSED) {
                dragStartX = mouseEvent.getSceneX();
                dragStartY = mouseEvent.getSceneY();
                mousePosX = mouseEvent.getSceneX();
                mousePosY = mouseEvent.getSceneY();
                mouseOldX = mouseEvent.getSceneX();
                mouseOldY = mouseEvent.getSceneY();

                if (mouseEvent.isMiddleButtonDown()) {
                    pivot = mouseEvent.getPickResult().getIntersectedPoint();
                    camForm1.rx.setPivotX(pivot.getX());
                    camForm1.ry.setPivotY(pivot.getY());
                    camForm1.rz.setPivotZ(pivot.getZ());
                    System.out.println(pivot);
                }

            } else if (mouseEvent.getEventType() == MouseEvent.MOUSE_DRAGGED) {

                double modifier = 1.0;
                double modifierFactor = 0.3;

                if (mouseEvent.isControlDown()) {
                    modifier = 0.1;
                }
                if (mouseEvent.isShiftDown()) {
                    modifier = 10.0;
                }

                mouseOldX = …
Run Code Online (Sandbox Code Playgroud)

3d javafx-8

1
推荐指数
1
解决办法
9941
查看次数