标签: javafx-2

JavaFX 2 TreeItem 中节点的模型标识符

有没有办法在 JavaFX 2 中存储模型对象的标识符或模型对象本身TreeItem<String>?只是Value为了存储文本...

我正在TreeView从模型对象列表中填充 a ,并且需要在用户单击节点时找到它。我已经习惯了工作,ValueText在.NET Windows窗体或HTML和我恐怕无法适应思维的JavaFX这样...

javafx-2

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

可以改变 Slider JavaFx 的速度吗?

也许,我只是瞎了,但我有一个滑块,我需要知道是否有任何方法可以改变步伐。

示例:滑块从 7.5 到 13.0 Pace 0.5

当我在标签中设置值时,我想要这样的东西:7.5; 8.0; 8.5

对于滑块的每一个动作,此时我都会得到这样的结果:7.5;7.51

尝试了一切。任何的想法?

slider javafx-2

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

如何使用 windows javafx 缩放组件?

选项卡菜单

我的 Windows 主窗格位于其AnchorPane顶部,其TabPane菜单TabPane是您在图片上看到的选项卡。看到灰色的“背景”,这是一部分TabPane,当我扩展我的窗口,以更大的尺寸,TabPane不与它扩大,它保持相同的大小,所以额外的空间是空的,我会把它想与规模窗户,当然是宽度。

transformation tabpanel javafx-2

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

ListView 不会在 selectedItemProperty 上触发更改的事件

我用一堆字符串创建了一个 ListView,它具有多选模式,最后我向 selectedItemProperty() 添加了一个监听器,如下所示:

  ObservableList<String> myStringsObsList = FXCollections.observableArrayList(strings);
  ListView<String> listView = new ListView<String>(myStringsObsList);
  listView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);

  listView.getSelectionModel().selectedItemProperty().addListener(
    new ChangeListener<String>() {
        public void changed(ObservableValue<? extends String> ov, String old_val, String new_val) 
       {
         System.out.println("Selection Changed!");
       }
     }
  });
Run Code Online (Sandbox Code Playgroud)

选择项目时,一切都打印正常,但是一旦我开始使用 Ctrl 取消选择项目。此处没有打印任何内容,因为可能不会触发已更改的事件。

有谁知道这是否是一个错误?或者我在这里做错了什么?

最后,我只需要知道选择是否以某种方式发生了变化(无论是选择还是取消选择项目),这样我就可以启动另一个进程。

编辑 --- 使用 Ctrl 取消选择时,“选择已更改!” 仅当取消选择所选项目的最后一个项目时才打印。

listview javafx-2

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

将整数(非字符串)数据插入 JavaFX2 TableView

所以我有一个正常工作的表,并从ObservableList这里的代码中获取数据:

public void setMainTableData(ObservableList<FileMP3> list)
    {
        artistCol.setCellValueFactory(new PropertyValueFactory<FileMP3, String>("artist"));
        albumCol.setCellValueFactory(new PropertyValueFactory<FileMP3, String>("album"));
        titleCol.setCellValueFactory(new PropertyValueFactory<FileMP3, String>("title"));
        trackCol.setCellValueFactory(new PropertyValueFactory<FileMP3, String>("track"));
        yearCol.setCellValueFactory(new PropertyValueFactory<FileMP3, String>("year"));
        mainTable.setItems(list);
    }   
Run Code Online (Sandbox Code Playgroud)

然而,这些列并不都包含字符串数据 - 我需要能够插入一个int,可能还有其他类型,如Duration. 的trackyear条目存储为整数,且有一个(未示出)入口称为length。这FileMP3作为 a存储在我的对象中Duration,在将其插入表中之前,我没有看到任何明显的方法来操作存储在那里的数据。我希望能够使用Duration.getMillis()然后对其进行一些数学运算以将其转换为可显示的int格式,但我想将其存储在FileMP3as 中Duration

我在该主题上阅读的所有教程都使用构造函数:

new PropertyValueFactory<FileMP3, String>("genre")

总而言之,我希望能够String在表格中插入除 a 以外的内容。

java javafx tableview javafx-2

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

单选按钮Css样式

在我的radiobuttons下面我有一些像底部填充,而我不使用任何填充CSS语句

在此输入图像描述

.radio-button {
-fx-font-family: "Arial";
-fx-font-size: 11;
/*    -fx-text-fill: rgb(255, 255, 255, 0.4);*/
-fx-text-fill: lightgoldenrodyellow;
/*    -fx-effect: dropshadow(one-pass-box , rgba(0, 0, 0, 0.6), 0, 0.0 , 0 , 1 );*/
-fx-border-width: 0px;
Run Code Online (Sandbox Code Playgroud)

}

如何删除?radiobuttons似乎没有很好地居中.

编辑:

这是显示父母对于radiobuttons的层次结构

在此输入图像描述

这是视觉外观

在此输入图像描述

这里是完整的CSS类

/* 
Created on : 20-gen-2014, 18.18.13
Author     : Alberto Pedroni <acepsut@gmail.com>
*/


.pane {
/*-fx-background-color: linear-gradient( #f0f8ff, #b0c4de);*/
//-fx-background-color: linear-gradient( cornsilk, tan);
/*-fx-background-radius: 5,4,3,5;
-fx-background-insets: 4,4,4,4;*/

}

.tab {

/*   -fx-background-color: red;  */
/*   -fx-border-color: gray;
-fx-border-radius: 4;
-fx-border-width: 1;*/

/*   -fx-background-color: …
Run Code Online (Sandbox Code Playgroud)

css javafx-2

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

JavaFX访问控制器提供nullpointerexception

我想要实现的是从main方法获取控制器实例,所以我可以从另一个类调用控制器的方法并更新fxml.不管怎样,这是我的代码:

主要课程:

public class Main extends Application {

Controller controller;
@Override
public void start(Stage primaryStage) throws Exception{

    FXMLLoader fxmlLoader = new FXMLLoader();

    Parent root = fxmlLoader.load(getClass().getResource("sample.fxml"));
    controller = fxmlLoader.getController();

    primaryStage.setTitle("uPick Smart Service");
    primaryStage.setScene(new Scene(root, 1600, 600));

    primaryStage.show();

    ConnectionHandling connectionHandling = new ConnectionHandling();
    Thread X = new Thread (connectionHandling);
    X.start();

}

public static void main(String args[]){
    launch(args);

}

public Controller getController(){
    return controller;
}


}
Run Code Online (Sandbox Code Playgroud)

我的控制器类:

public class Controller {

public HBox billbox;

public int childnr;


public void createBill() {
    System.out.println("Creating"); …
Run Code Online (Sandbox Code Playgroud)

java javafx javafx-2

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

如何在javaFX中右键单击窗格或ImageView时显示上下文菜单

我正在尝试显示我创建的上下文菜单,当我右键单击窗格或图像视图时((在请求的上下文菜单上)).问题是它们似乎没有setContextMenue方法,不像标签和按钮......等.如何将上下文菜单关联到似乎不接受上下文菜单的节点?

@FXML
Button button1, button2;

@FXML
Pane mainPane;

@FXML
ImageView image;
private void initContextMenu() {
    final ContextMenu contextMenu = new ContextMenu();
    final MenuItem item1 = new MenuItem("open a file");
    final MenuItem item2 = new MenuItem("quit");

    contextMenu.getItems().addAll(item1, item2);

    // not possible
    image.setContextMenu(contextMenu);
    // possible
    button1.setContextMenu(contextMenu)
Run Code Online (Sandbox Code Playgroud)

java javafx javafx-2 javafx-8

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

JavaFX将控制器变量绑定到组件属性

说我有一个控制器

@FXML private ObservableList<String> myStrings = FXCollections.observableArrayList();
Run Code Online (Sandbox Code Playgroud)

是否可以编写任何FXML,它将ListView myStrings与其项目连接起来?

我的第一次尝试是:

<ListView>
    <items fx:id="myStrings"/>
</ListView>
Run Code Online (Sandbox Code Playgroud)

但是这种抱怨fx:id在那个位置上是无效的.我也试过了

<ListView items="${controller.myStrings}"/>
Run Code Online (Sandbox Code Playgroud)

......但它无法解决这个问题.

请不要发布此解决方案:

<ListView fx:id="myStringsListView"/>

// In controller
@FXML private ListView<String> myStringsListView;
@FXML public void initialize() {
    myStringsListView.setItems(myStrings);
}
Run Code Online (Sandbox Code Playgroud)

这就是我现在正在做的事情,但是间接和样板的数量在这里伤害了我.

java data-binding javafx javafx-2 fxml

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

在ImageView中缩放图像(javafx)

我正在尝试使用滑块缩放ImageView中的选定图像。我唯一能做的就是调整其中包含图像的整个ImageView的大小。但这不是我要寻找的。我只想使用具有相同大小的ImageView缩放图像。它应该是焦距的演示。我也在使用场景构建器。我只是所有这些的初学者,因此,非常感谢您的帮助。这就是我所拥有的。

public void openImage(ActionEvent event) {

    FileChooser fc = new FileChooser();
    File f = fc.showOpenDialog(null);
    if (f != null) {
        System.out.println(f.toURI().toString());
        Obrazok = new Image(f.toURI().toString());          
        imageView.setImage(Obrazok);
        imageView.setSmooth(true);
        imageView.setCache(true); 

    }
}
public void setOnZoom (MouseEvent e){

    imageView.scaleXProperty().bind(slider.valueProperty());
    imageView.scaleYProperty().bind(slider.valueProperty());
    Rectangle2D viewpoint = new Rectangle2D(0, 0, Obrazok.getRequestedHeight(), Obrazok.getRequestedWidth());
    imageView.setViewport(viewpoint);
    imageView.setViewport(viewpoint);
    imageView.setImage(Obrazok);
}
Run Code Online (Sandbox Code Playgroud)

javafx javafx-2 scenebuilder javafx-8

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