小编Leo*_*rka的帖子

使用正在运行的JavaFX应用程序,使用自己独立的控制器类打开一个新窗口

我正在将SceneBuilder与Netbeans的JavaFX库结合使用.我使用Scenebuilder为控制器类创建fxml和netbeans.目标是构建一个相当复杂的应用程序.

我可以启动一个JavaFX应用程序并连接控制器类就好了.但是,当我尝试打开一个新窗口时,我似乎无法将控制器类绑定到新窗口.为了简单起见,我希望新窗口有一个单独的控制器类,因为后端很复杂.

TL; DR - 尝试使用控制器类在JavaFX应用程序上打开一个新窗口.控制器类没有绑定.

代码示例如下

模型类 - 用于启动应用程序的包装器

public class Model extends Application{
    public static void main(String[] args){
         Application.launch(Model.class, args);
    }
    @Override
    public void start(Stage stage) throws Exception{
        Parent root = FXMLLoader.load(getClass().getResource("Sample.fxml"));
        stage.setScene(new Scene(root));
        stage.show();
    }
}
Run Code Online (Sandbox Code Playgroud)

Sample.fxml - 主应用程序的fxml文件

Sample.java - extends Initializable,是Sample.fxml的控制器类.下面是我尝试打开标题为"ServerConfigChooser"的新窗口的代码片段

try{
    Parent root = FXMLLoader.load(getClass().getResource("ServerConfigChooser.fxml"));
    FXMLLoader loader = new FXMLLoader(getClass().getResource("ServerConfigChooser.fxml"));
    ServerConfigChooser controller = new ServerConfigChooser();

    loader.setController(controller);
    loader.setRoot(root);

    Stage stage = new Stage();
    stage.setScene(new Scene(root));
    stage.show();
} catch (IOException ex)
Run Code Online (Sandbox Code Playgroud)

ServerConfigChooser.java - 实现Initializable

这就是我遇到问题的地方.我不能简单地使用与.fxml文件中的变量相同的fxid声明变量.调用类时,不会触发initialize()方法.

ServerConfigChooser类中构造函数的原因是我无法自动触发initialize()方法.我在构造函数中手动触发. …

java netbeans javafx-2 fxml scenebuilder

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

汇编 - 除了 C 和 C++ 之外,还有其他语言允许使用内联代码与汇编交互吗?

我最近阅读了这篇名为Embedded Systems/Mixed C and Assembly Programming 的文档

它主要涉及 C 和 C++ 如何允许用户通过称为内联汇编的技术使用汇编代码,该技术看起来像这样:

#include<stdio.h>
 
void main() {
 
   int a = 3, b = 3, c;
 
   asm {
      mov ax,a
      mov bx,b
      add ax,bx
      mov c,ax
   }
 
   printf("%d", c);
}
Run Code Online (Sandbox Code Playgroud)

我想知道在其他高级语言(如 Java、Python 和其他语言)中是否可以进行类似的交互,或者是否只能使用 C 和 C++。

c c++ java assembly inline-assembly

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

Java:不使用函数将大写字母转换为小写字母,反之亦然

于是,我们的老师给我们提出了一个Java挑战,条件如下:

  • 用户输入 4 个字符的字符串(字母、符号和数字,全部混合)
  • 如果字母是大写,则将其转换为小写,反之亦然。
  • 符号和数字保持不变。
  • 打印出结果。

但限制是您不能使用函数split()length()toUpperCase()

我的第一个想法是switch对每个字母都使用 and 大小写,但我想知道是否有更好的(读得更短、更聪明)替代方案:

public class program {           
    public static void main(String[] args){

        Scanner input = new Scanner(System.in);
        String text;

        System.out.println("Type in:");
        text = input.nextLine();

        switch(text){
            case "A":
                System.out.println("a");
                break;
            case "b":
                System.out.println("B");
                break;

        }
}
Run Code Online (Sandbox Code Playgroud)

你怎么认为?

java string

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

标签 统计

java ×3

assembly ×1

c ×1

c++ ×1

fxml ×1

inline-assembly ×1

javafx-2 ×1

netbeans ×1

scenebuilder ×1

string ×1