标签: javafx-2

树根节点中的右键菜单选项

我想在树根节点(JavaFX)中右键单击菜单选项.任何人都可以帮助我.

TreeItem<String> root = new TreeItem<>(""+selectedDirectory);
root.setExpanded(true);

locationTreeView.setRoot(root);

root.getChildren().addAll(
    new TreeItem<>("Item 1"),
    new TreeItem<>("Item 2"),
    new TreeItem<>("Item 3")
);
Run Code Online (Sandbox Code Playgroud)

treeview right-click javafx-2

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

JavaFX - 其文本字段的ComboBox侦听器

我甚至不确定如何正确地提出这个问题,但是可以在这里添加监听器(在此文本字段中ComboBox),当ComboBox设置为可编辑时:

在此输入图像描述

目前我正在使用2种听众ComboBox.鼠标和更改侦听器.MouseListener用于点击ComboBoxChangeListener选择项目ComboBox.但我不知道应该用什么样的听众来听取文字输入.

java javafx javafx-2

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

JavaFX TableView可以部分编辑吗?

我有一个JavaFX TableView,它具有两列。该表使用ObservableList gasRatioMeasures作为其模型。

public class GasRatioMeasureBean {
    private String number;
    private String measure;
    public String getNumber() {
        return number;
    }
    public void setNumber(int number) {
        this.number = "Measure" + (number + 1) + "(%)";
    }
    public String getMeasure() {
        return measure;
    }
    public void setMeasure(String measure) {
        this.measure = measure;
    }
}
Run Code Online (Sandbox Code Playgroud)

我想将其中一个设置为可编辑,将另一个设置为不可编辑。

首先,我尝试了FXML方式:

<TableView layoutX="24.0" layoutY="122.0" prefHeight="200.0" prefWidth="215.0" fx:id="measureTableView">
    <columns>
         <TableColumn editable="false" prefWidth="100.0" sortable="false" text="No" fx:id="measureNumbersColumn" />
         <TableColumn editable="true" prefWidth="110.0" sortable="false" text="Measures" fx:id="measuresColumn" />
    </columns>
</TableView>
Run Code Online (Sandbox Code Playgroud)

但这没有用。该表始终不可编辑。

我也尝试了Java方式: …

javafx tableview javafx-2

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

如何在Java FX中将值从一个页面传递到另一个页面

有人可以建议,我们如何将值从一个控制器传递给另一个控制器.我的情况如下

登录后我需要在我的主页上获取用户名.请分享这段代码.

提前致谢!!!

javafx javafx-2 javafx-8

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

新标签行

我有一个标签,我想缩小到空间.在我的情况下,我想写两行文字:

2. New Connection 
Credentials
Run Code Online (Sandbox Code Playgroud)

我测试了这个,但结果没有完成:

    Label lbb = new Label("2. New Connection Credentials");
    lbb.setMaxWidth(10);
    lbb.setTextOverrun(OverrunStyle.CLIP);
Run Code Online (Sandbox Code Playgroud)

如果大小超过10个字母,如何将字符串分成两行?

javafx javafx-2 javafx-8

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

如何将JFXPanel添加到现有的swing应用程序中

我非常想知道如何将我的JFXPanel(这是一个mp3播放器)集成到现有的Swing应用程序中 - 这是一个添加了几个不同JPanel的JFrame.我是JavaFX的完全菜鸟,它与swing非常不同.

我能够得到下面的代码来运行并做我想要的.它将播放我所包含的目录中的mp3文件.这是来自某人编写的样本的代码.我的问题是这段代码创建了JFrame,主要方法以及此代码中的所有内容.我有一个已经制作的swing应用程序,我只想添加一个具有以下功能的JFXPanel.JavaFX中有许多新方法我很困惑,不知道如何使用或放在我的Swing应用程序中.例如invokeLater runLater和initAndShowGUI.我知道这可能是一个烦人的问题,很难从这样的菜鸟那里回答.我有一个项目将于明天晚上午夜到期,我真的希望将其作为应用程序的一部分实现.我们没有在课堂上学习JavaFX,但我不知道这对我来说是个棘手的问题.

package application;  

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

import javafx.application.Platform;  
import javafx.beans.value.*;  
import javafx.embed.swing.JFXPanel;  
import javafx.event.*;  
import javafx.geometry.Pos;  
import javafx.scene.Scene;  
import javafx.scene.control.*;  
import javafx.scene.layout.*;  
import javafx.scene.media.*;  
import javafx.util.Duration;  

import javax.swing.*;  

/** Example of playing all mp3 audio files in a given directory  
 * using a JavaFX MediaView launched from Swing  
 */  
public class JavaFXVideoPlayerLaunchedFromSwing {  
  private static void initAndShowGUI() {  
    // This method is invoked on Swing thread  
    JFrame frame = new JFrame("FX");  
    final JFXPanel fxPanel = …
Run Code Online (Sandbox Code Playgroud)

java mp3 swing javafx javafx-2

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

类'javafx.scene.layout.BorderPane'不支持属性'controller'

BorderPane用作FXML文件的根窗格.但是,编译器抱怨BorderPane没有controller属性!如何将控制器类绑定到FXML其根目录BorderPane

<BorderPane id="rootPane" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.saei.explorer.FXMLDocumentController">
Run Code Online (Sandbox Code Playgroud)

我正在使用,BorderPane因为它能够在重新调整窗口大小时拉伸布局.

java javafx-2 fxml borderpane

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

使用上下文菜单从JavaFX表中删除一行

我有这个JavaFX表,当我单击右键单击鼠标上下文菜单并选择"删除"时,我想删除一行.

import javafx.application.Application;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.ContextMenu;
import javafx.scene.control.Label;
import javafx.scene.control.MenuItem;
import javafx.scene.control.TableCell;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableColumn.CellEditEvent;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.Priority;
import javafx.scene.layout.VBox;
import javafx.scene.text.Font;
import javafx.stage.Stage;
import javafx.stage.WindowEvent;
import javafx.util.Callback;

public class MainApp extends Application
{

    private TableView<Person> table = new TableView<>();
    private final ObservableList<Person> data
        = FXCollections.observableArrayList(
            new Person("Processor", "72"),
            new Person("RAM", "78"),
            new Person("HDD Free Space", "890"), …
Run Code Online (Sandbox Code Playgroud)

javafx javafx-2 javafx-8

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

如何在StackPane(在JavaFX中)的节点上实现冲突检测?

我正在尝试检查StackPane内部节点上的冲突检测.以下是我的代码:

public void start(Stage primaryStage) throws Exception {
    StackPane pane = new StackPane();
    Scene scene = new Scene(pane,300,300,Color.GREEN);
    primaryStage.setScene(scene);       
    primaryStage.show();

    Rectangle  rect1 = new Rectangle(50, 50);
    rect1.setFill(Color.BLUE);
    Rectangle rect2 = new Rectangle(50, 50);         

    pane.getChildren().add(rect1);
    pane.getChildren().add(rect2);

    TranslateTransition translateTransitionEnemyCar = new TranslateTransition();
    translateTransitionEnemyCar.setDuration(Duration.millis(2000));
    translateTransitionEnemyCar.setNode(rect2);
    translateTransitionEnemyCar.setFromY(-150);
    translateTransitionEnemyCar.setToY(150);
    translateTransitionEnemyCar.setAutoReverse(true);
    translateTransitionEnemyCar.setCycleCount(Timeline.INDEFINITE);
    translateTransitionEnemyCar.play();             
    checkCollision(pane,rect1,rect2);       
}

//Collision Detection
 void checkCollision(StackPane pane, final Rectangle rect1, Rectangle rect2){   

     rect2.boundsInParentProperty().addListener(new ChangeListener<Bounds>() {
        @Override
        public void changed(ObservableValue<? extends Bounds> arg0,Bounds oldValue, Bounds newValue) {
            if(rect1.intersects(newValue)){
                System.out.println("Collide ============= Collide");
            }
        }
    }); …
Run Code Online (Sandbox Code Playgroud)

javafx collision-detection javafx-2 javafx-8

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

如何在java FX应用程序中设置组合框的提示文本样式?

我想修改我的组合框的CSS样式以减少其promptText的文本大小.

如何才能做到这一点?

css combobox styling javafx-2

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