我正在使用SceneBuilder 8.0.0和JavaFX 8.
我有一个Button btn和一个Label lbl附加到AnchorPane ap.
当应用程序启动,btn并lbl连接到ap.
如何删除其中一个节点?(我只知道删除所有节点的clear()方法
ap).谢谢.
我想使用 javaFX FileChooser 类,因为我需要 openDialog。问题是我想更改按钮“打开”和“取消”的文本,而不是使启动 openDialog 的舞台无法访问。我正在使用此代码打开 FileChooser :
FileChooser fileChooser = new FileChooser();
fileChooser.setTitle("Open Resource File");
Window stage = null;
fileChooser.getExtensionFilters().addAll(new FileChooser.ExtensionFilter("OWL (*.owl)", "*.owl"));
fileChooser.showOpenDialog(stage);
Run Code Online (Sandbox Code Playgroud)
我得到以下窗口:
所以我的问题是:
1- 是否可以将红色矩形中按钮的文本从“打开”更改为“Ouvrir”并将“取消”更改为“Annuler”?如果是,如何?
2- 如何做到在点击“取消”或“打开”之前无法访问(不可点击)它启动的舞台?
使用SceneBuilder.我有2个阶段,每个阶段都有一个控制器:
stage1Controller, stage2Controller.
Stage1Controller:
public class Stage1Controller {
@FXML
private MenuItem translate;
@FXML
private Menu file;
@FXML
private Menu edit;
@FXML
private Menu help;
@FXML
private void handleTranslate (ActionEvent event){
translateFirstStage();
//HOW TO ACCESS THE stage2Controller setLabel()??
}
private void translateFirstStage(){
file.setText("Fichier");
edit.setText("Modifier");
help.setText("Aide");
}
}
Run Code Online (Sandbox Code Playgroud)
Stage2Controller:
public class Stage2Controller {
@FXML
private Label lb;
private void setLabel(String string){
lb.setText("string");
}
}
Run Code Online (Sandbox Code Playgroud)
以下是使用2个方法
(在Start(Stage primaryStage)方法中调用)在Main.java类中加载两个fxml文件的方法:
public void firstStage() {
try {
// Load root layout from …Run Code Online (Sandbox Code Playgroud) 我的应用程序有一个主应用程序Stage,可以从中打开第二个窗口.我只想关注一个阶段.
我有2个问题需要解决:
1 - 如何focus打开only the second Stage(fileChooser OpenDialog)?即在用户点击"打开"或"取消"之前,我无法切换到主应用程序阶段.
2 - 我如何要求用户close the 2nd Stage before he can close the main Stage?
现在,我可以在第二阶段(OpenDialog)仍在运行时关闭主窗口.
谢谢.
当我单击该按钮时,将打开一个FileChooser。但是,例如,当FileChooser仍然打开时,我可以关闭原始舞台,或者我仍然可以单击并切换实际窗口。检查下面的代码
我的问题是:
1-关闭主窗口时如何关闭FileChooser?
2-打开FileChooser后如何使主窗口不可单击?
package application;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.AnchorPane;
import javafx.stage.FileChooser;
import javafx.stage.Modality;
import javafx.stage.Stage;
import javafx.stage.Window;
public class Main extends Application {
@Override public void start(Stage stage) {
stage.setTitle("Main Stage");
stage.setWidth(500);
stage.setHeight(500);
stage.show();
Button button = new Button();
AnchorPane ap = new AnchorPane();
Scene scene = new Scene(ap);
ap.getChildren().addAll(button);
stage.setScene(scene);
button.setOnAction(new EventHandler<ActionEvent>() {
@Override public void handle(ActionEvent e) {
FileChooser fileChooser = new FileChooser();
Stage stage2=new Stage();
stage2.initOwner(stage);
stage2.initModality(Modality.WINDOW_MODAL);
fileChooser.showOpenDialog(stage2); …Run Code Online (Sandbox Code Playgroud) 我正在使用sceneBuilder.
如何清除AnchorPane?
有没有办法删除AnchorPane中包含的所有节点(已经从sceneBuilder创建并填充了按钮和形状)?
我正在从头开始创建和构建一个c++项目cmake。
可执行文件需要命令行参数。
我在Visual studio.
cmake 构建项目时是否可以默认指定它们(以我CmakeLists.txt的为例)?
这样我(或其他人)每次第一次构建项目时都不需要指定这些参数(我只想运行项目而不必担心,但如果需要,当然仍然可以在 Visual Studio 中更改它们) ?
嗨,
我有以下问题。
是否可以创建一个主 fxml 文件并放置/包含另一个应该具有用户定义属性的 fxml 文件。
例如,我有 :main.fxml和fan_object.fxml
然后将 3 包含fan_object.fxml到main.fxml. 现在我想为每个fan_object.fxml实例定义一个其他地址或工具提示文本等等?
这可能吗?
javafx ×7
java ×4
javafx-8 ×4
filechooser ×3
scenebuilder ×2
button ×1
c++ ×1
cmake ×1
controller ×1
events ×1
javafx-2 ×1
processing ×1