标签: javafx-2

如何在JavaFX 2上使用事件处理程序onEditCommit和onEditCancel?

我正在尝试进行ListView 编辑,但是当我添加事件处理程序时onEditCommit,onEditCancel在代码中我无法更改文本ListView.在我的代码下面(执行但编辑不起作用):

public class ItensTipoStringController implements Initializable {
   @FXML
   private ListView lstItens;
   ArrayList<String> itens = new ArrayList<>();
   ObservableList itensObservaveis = FXCollections.observableArrayList(itens);

   @Override
   public void initialize(URL url, ResourceBundle rb) { 
      itens.add("Evandro");
      itens.add("Miguel");

      lstItens.setEditable(true);        
      lstItens.setCellFactory(TextFieldListCell.forListView());
      lstItens.getItems().addAll(itens);

      lstItens.setOnEditCommit(new EventHandler() {
        @Override
        public void handle(Event event) {
            System.out.println("onEditCommit");
        }
    });

    lstItens.setOnEditCancel(new EventHandler() {
        @Override
        public void handle(Event event) {
            System.out.println("onEditCancel");
        }
    });

    lstItens.setOnEditStart(new EventHandler() {
        @Override
        public void handle(Event event) {
            System.out.println("onEditStart");
        }
    }); …
Run Code Online (Sandbox Code Playgroud)

listview javafx javafx-2 fxml

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

如何列出JavaFX中的所有颜色

我想列出班上所有的颜色Color.<color>

在哪里可以找到列出的所有颜色?

javafx javafx-2 javafx-8

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

JavaFX:将textProperty从Label绑定到ObservableList的大小

我是FX的新手,对Java不是那么新,所以请耐心等待!我所拥有的是一个使用由ObservableList支持的JavaFX TableView的简单应用程序.

当我第一次启动应用程序时,我生成另一个Thread(来自Application的start方法)来监听对日志文件的更改,并将另一个元素添加到ObservableList中,以便在TableView中可以立即看到该行.我认为在窗口中包含一个包含ObservableList当前大小的Label是有益的.我试图将Label的textProperty绑定到ObservableList的大小.我的第一次尝试产生了:

tableSizeLabel.textProperty().bind(Bindings.size((tableView.getItems())).asString());

但我相信我误解了Bindings API.我意识到ObservableList.size()返回一个常规的int而不是ObservableValue,它甚至可以工作,但我认为Bindings类有一个静态方法为我创建一个.

后端模型将列表作为静态变量包含在内(我省略了listen-for-changes部分):

public class LogFileListener implements Runnable {

private static final ObservableList<SNMPTrap> model = FXCollections.observableArrayList();

@Override
public void run() {
    String line = null;
    try (BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(fileLocation)))) {
        while ((line = br.readLine()) != null) {
            model.add(parseTrap(line));
        }
    } catch (Exception ex) {
        ex.printStackTrace();
    }

}

public static ObservableList<SNMPTrap> getModel() {
    return model;
}
Run Code Online (Sandbox Code Playgroud)

}

应用类:

public class TableDisplay extends Application {

@Override
public void start(Stage stage) throws Exception {

    new …
Run Code Online (Sandbox Code Playgroud)

java binding javafx javabeans javafx-2

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

实现JavaFX形状的拖放

我是JavaFX动画的新手.我正在尝试将代码作为另一个大项目的试验; 基本上我想用鼠标拖动移动圆圈,当圆圈在矩形上方时,突出显示矩形.如果将圆圈拖放到矩形上,请将其颜色更改为圆形的颜色.

到目前为止,我已经设法用鼠标移动圆圈,但我不确定为什么矩形的OnDragEntered方法什么都不做.

这是FXML:

<?xml version="1.0" encoding="UTF-8"?>

<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.paint.*?>
<?import javafx.scene.shape.*?>
<?import javafx.scene.text.*?>

<AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml" fx:controller="com.sc.colordx.controller.D15Controller">
  <children>
<Rectangle fx:id="r1" arcHeight="5.0" arcWidth="5.0" fill="WHITE" height="152.0" layoutX="33.0" layoutY="14.0" onDragDropped="#fillBox" onDragEntered="#highlightBox" pickOnBounds="true" stroke="BLACK" strokeType="INSIDE" width="52.5" />
<Rectangle fx:id="r2" arcHeight="5.0" arcWidth="5.0" fill="WHITE" height="152.0" layoutX="91.0" layoutY="14.0" onDragDropped="#fillBox" onDragEntered="#highlightBox" stroke="BLACK" strokeType="INSIDE" width="52.5" />
<Circle fx:id="c1" fill="DODGERBLUE" layoutX="348.0" layoutY="262.0" onDragDetected="#startDrag" onMouseDragged="#moveCircle" onMouseReleased="#removeBind" radius="54.5" stroke="BLACK" strokeType="INSIDE" />
<Circle id="c1" fx:id="c2" fill="#ff3d00" layoutX="217.0" layoutY="262.0" onDragDetected="#startDrag" onMouseDragged="#moveCircle" onMouseReleased="#removeBind" …
Run Code Online (Sandbox Code Playgroud)

java animation drag-and-drop javafx javafx-2

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

根节点(TreeItem)未在TreeView中显示

我在.fxml文件中创建TreeView,然后我尝试显示根节点.但它没有显示出来.

这是我的代码.

<TabPane prefHeight="289.0" prefWidth="246.0" styleClass="tab-pane" tabClosingPolicy="UNAVAILABLE" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
                  <stylesheets>
                    <URL value="@main.css" />
                  </stylesheets>
                  <tabs>
                    <Tab text="TestBed Explorer">
                      <content>
                        <AnchorPane id="Content" fx:id="soariteAnchorScollparent" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
                          <children>
                            <ScrollPane fx:id="soariteTreeScrollPane" prefHeight="259.0" prefWidth="246.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
                              <content>
                                <AnchorPane id="Content" fx:id="soariteTreeAnchorPane" minHeight="0.0" minWidth="0.0" prefHeight="249.0" prefWidth="73.0">
                                  <children>
                                    <TreeView fx:id="soariteTree" prefHeight="245.0" prefWidth="79.0" showRoot="true" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="167.0" AnchorPane.topAnchor="0.0">
                                      <TreeItem expanded="true" value="categories" fx:id="rootTreeItem" />
                                    </TreeView>
                                  </children>
                                </AnchorPane>
                              </content>
                            </ScrollPane>
                          </children>
                        </AnchorPane>
                      </content>
                    </Tab>
                  </tabs>
                </TabPane>      
Run Code Online (Sandbox Code Playgroud)

我也在主要类中给出了这个参考.

public class Mainextends Application {
@FXML
public TreeView<String> …
Run Code Online (Sandbox Code Playgroud)

treeview javafx-2

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

按钮样式与图像

我想知道如何实现以下按钮样式,其中文本位于JavaFx中的图像下面?

我尝试了很多但都徒劳无功.任何帮助,将不胜感激.

在此输入图像描述

button javafx-2

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

HiJavafx tableview滚动条厚度由css提供

是否可以自定义TableView的默认滚动条(垂直滚动条)使其更厚?

css javafx-2 fxml

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

如何选择leftmouse点击

我正在使用此代码来实现选择侦听器:

treeView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<TreeItem<DynamicTreeNodeModel>>()
        {

            @Override
            public void changed(ObservableValue<? extends TreeItem<DynamicTreeNodeModel>> observable, TreeItem<DynamicTreeNodeModel> oldValue, TreeItem<DynamicTreeNodeModel> newValue)
            {
                System.out.println("Selected Text : " + newValue.getValue());
                ........
            }

        }
Run Code Online (Sandbox Code Playgroud)

我只想在用鼠标左键单击时才使用更改侦听器.我怎么能这样做?

javafx javafx-2 javafx-8

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

如何在javafx中的菜单之间添加空格

我正在尝试实现一个菜单.这是我的代码:

    Menu menuFile1 = new Menu("ADD");
    Menu menuFile2 = new Menu("EDIT");
    Menu menuFile3 = new Menu("VIEW");
    Menu menuFile4 = new Menu("HELP");
Run Code Online (Sandbox Code Playgroud)

如何在每个菜单之间放置一些空格(即ADD,EDIT,VIEW和HELP之间)?

javafx menu javafx-2

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

禁用TabPane中的默认动画

我想在创建新标签时禁用默认动画。

Tab tabA = new Tab();
      tabA.setText("Tab A");
      tabPane.getTabs().add(tabA);
Run Code Online (Sandbox Code Playgroud)

这可能吗?

javafx javafx-2 javafx-8

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