小编Nic*_*ppe的帖子

限制哪些值可以在javafx属性中解决?

将javafx属性的值保持在特定范围内的最佳方法是什么?

(或者 - 这是一种不好的做法,是否有任何理由永远不会过滤由javafx属性包装的值?)

示例1:避免IntegerProperty中的负值示例2:将IntegerProperty
的值保持在List的范围内

第一个想法: - 覆盖IntegerPropertyBase.set(int).它是安全的?实际上setValue(int)只是调用set(int),但是 - 如果这个实现有一天发生变化 - 对值集的控制就会丢失.

第二个想法: - 覆盖IntegerPropertyBase.invalidate().但此时已经设定了价值.

它是否更适合javafx属性抛出IllegalArgumentException(或者ArrayIndexOutOfBoundsException,如果包装的值是数组的索引),或者更好地拒绝超出边界的值,设置边界中的最后一个值?

也许是这样的:

    class BoundedIntegerProperty extends IntegerPropertyBase {
        (...)
        int oldValue = defaultValueInBounds;
        boolean settingOldValue = false;
        public void invalidated() {
            if(!settingOldValue){
                if(outOfBounds(get())){
                    settingOldValue = true;
                    set(oldValue);
                } else {
                    oldValue = get();
                }
            } else
                settingOldValue = false;
        }
    }
Run Code Online (Sandbox Code Playgroud)

只有在invalidated()中抛出一个Exception,才能使超出范围的值保持属性的值超出范围.

我是否忽略了为过滤值提供的javafx属性中的任何内容?

(如果有必要,请帮助我改进本文中可能不好的英文...)

java javafx properties javafx-2

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

如何在 JavaFX 中获得狭窄的进度条?

正如标题所说,我需要制作一个细长的进度条。我用过这个:

progressBar.setMaxHeight(0.1);
progressBar.setPrefHeight(0.1);
Run Code Online (Sandbox Code Playgroud)

但这不起作用。有没有人有想法?

css java javafx javafx-2

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

获取节点上相对于其坐标的鼠标位置并进行变换

我有 3D 场景,并且场景内有一个窗格,该窗格具有 x 轴旋转变换,我想使用此窗格作为战略游戏板,但我有问题。

当我在窗格中输入鼠标时,它给出了错误的光标位置。

例如,当我从窗格(带黑色边框的旋转窗格)内的左上角(红色圆圈)输入鼠标时,它应该显示(0,0)作为窗格内的光标位置,但它显示类似(200,400)的内容。

带黑色边框的旋转窗格

我怎么解决这个问题?

或者换句话说,如何获取节点上相对于节点及其变换的鼠标坐标?

这是一个例子:

import javafx.application.Application;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.scene.shape.Rectangle;
import javafx.scene.transform.RotateBuilder;
import javafx.stage.Stage;


public class JFXRotationXOrds  extends Application{

    @Override
    public void start(Stage primaryStage) throws Exception {
        VBox root = new VBox();
        root.getChildren().add(new Rectangle(20, 20, Color.BLUE));  
        root.getChildren().add(new Circle(20, Color.RED));
        //root.rotateProperty().set(30);
        root.getTransforms().add(RotateBuilder.create().angle(-30).pivotX(0).pivotY(100).axis(new Point3D(1, 0, 0)).build());
        root.setStyle("-fx-border-color: black; -fx-border-width:5; ");

        root.setOnMouseMoved(new EventHandler<MouseEvent>() {
            @Override
            public void handle(MouseEvent arg0) {
                if(arg0.getEventType() == MouseEvent.MOUSE_MOVED){
                    System.out.println(arg0.getX() + "," + …
Run Code Online (Sandbox Code Playgroud)

java javafx javafx-2

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

使用自定义JOptionPane按钮?int deferenced error?

我很抱歉,如果这听起来像一个愚蠢的问题,但我在JOptionPane的自定义按钮上到处搜索.我遇到了如何实现特殊按钮,但我似乎无法在我的程序中使用它.

    int choice;
    Object[] doors = { "Door 1", "Door 2", "Door 3" };

    JFrame frame = new JFrame();

    input = "Which door do you choose?";
    choice = JOptionPane.showOptionDialog(frame, input, 
             "Doors",
             JOptionPane.DEFAULT_OPTION,
             JOptionPane.QUESTION_MESSAGE,
             null,
             doors,
             doors[2]);

    if (car == 1 && choice.equals(doors[0])) {
        open = 3; option = 2;
    } 
    if (car == 1 && choice.equals(doors[1])) {
        open = 3; option = 1;
    } 
    if (car == 1 && choice.equals(doors[2])) {
        open = 2; option = 1;
    } 
    if (car …
Run Code Online (Sandbox Code Playgroud)

java swing joptionpane

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

在javafx 2.2 ScatterChart中隐藏轴

有人知道,是否可以在JavaFX ScatterChart对象中隐藏轴?或者任何人都可以想到一个简单的解决方法?我没有在ScatterChart对象的文档中找到与此问题相关的任何内容.

不幸的是,它们在各种图形中都有点刺激性,其中轴的值本身不具有信息性(例如距离配置).

注意:遗憾的是,将scale的visibility属性设置为false的最简单的解决方案并没有产生我所渴望的结果(实际上它根本没有显示任何效果).

charts javafx graph javafx-2

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

JavaFX:带有图像按钮的工具栏

如何创建这样的工具栏:

链接:http://s14.postimg.org/99095jk3l/image.png

我已经创建了一个具有正确背景的工具栏.我唯一的问题是按钮.我不知道如何设置按钮的样式是透明的,以及如何在悬停和点击效果上添加正确的以匹配背景.

提前致谢

java javafx javafx-2

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

标签 统计

java ×5

javafx ×5

javafx-2 ×5

charts ×1

css ×1

graph ×1

joptionpane ×1

properties ×1

swing ×1