如何在javafx中为按钮设置快捷键
如何在同一个字母中设置助记符解析。在我的项目中,在按钮中设置助记符,但按钮如何在javafx中为按钮设置快捷键,javafx,javafx-2,javafx-8,Javafx,Javafx 2,Javafx 8,如何在同一个字母中设置助记符解析。在我的项目中,在按钮中设置助记符,但按钮setText在每个事件操作中都会更改,但助记符在\u o中是相同的,但短键只处理一个事件。如何解决此问题 import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.contro
setText
在每个事件操作中都会更改,但助记符在\u o
中是相同的,但短键只处理一个事件。如何解决此问题
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.StackPane;
import javafx.stage.Stage;
/**
*
* @author user
*/
public class JavaFXApplication4 extends Application {
boolean b = false;
@Override
public void start(Stage primaryStage) {
Button btn = new Button();
btn.setText("Hell_o");
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
b = !b;
if(!b){
btn.setText("Hell_o");
System.out.println("Hello");
} else {
btn.setText("w_orld");
System.out.println("world");
}
}
});
StackPane root = new StackPane();
root.getChildren().add(btn);
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle("Hello World!");
primaryStage.setScene(scene);
primaryStage.show();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}
导入javafx.application.application;
导入javafx.event.ActionEvent;
导入javafx.event.EventHandler;
导入javafx.scene.scene;
导入javafx.scene.control.Button;
导入javafx.scene.layout.StackPane;
导入javafx.stage.stage;
/**
*
*@author用户
*/
公共类JavaFXApplication4扩展了应用程序{
布尔b=假;
@凌驾
公共无效开始(阶段primaryStage){
按钮btn=新按钮();
btn.setText(“地狱”);
btn.setOnAction(新的EventHandler(){
@凌驾
公共无效句柄(ActionEvent事件){
b=!b;
如果(!b){
btn.setText(“地狱”);
System.out.println(“你好”);
}否则{
btn.setText(“世界银行”);
System.out.println(“世界”);
}
}
});
StackPane root=新的StackPane();
root.getChildren().add(btn);
场景=新场景(根,300,250);
setTitle(“你好,世界!”);
初级阶段。场景(场景);
primaryStage.show();
}
/**
*@param指定命令行参数
*/
公共静态void main(字符串[]args){
发射(args);
}
}
对不起,我的
英语
您需要在文本更改之前关闭助记符解析,更改之后再次打开。方法setText()未实现任何助记符刷新,因此似乎所有操作都在场景中完成
public class JavaFXApplication4 extends Application {
boolean b = false;
@Override
public void start(Stage primaryStage) {
Button btn = new Button();
btn.setMnemonicParsing(true);
btn.setText("Hell_o");
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
b = !b;
btn.setMnemonicParsing(false);
if (!b) {
btn.setText("Hell_o");
System.out.println("Hello");
} else {
btn.setText("W_orld");
System.out.println("World");
}
btn.setMnemonicParsing(true);
}
});
StackPane root = new StackPane();
root.getChildren().add(btn);
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle("Hello World!");
primaryStage.setScene(scene);
primaryStage.show();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}
公共类JavaFXApplication4扩展应用程序{
布尔b=假;
@凌驾
公共无效开始(阶段primaryStage){
按钮btn=新按钮();
btn.setMnemonicParsing(true);
btn.setText(“地狱”);
btn.setOnAction(新的EventHandler(){
@凌驾
公共无效句柄(ActionEvent事件){
b=!b;
btn.setMnemonicParsing(false);
如果(!b){
btn.setText(“地狱”);
System.out.println(“你好”);
}否则{
btn.setText(“世界银行”);
System.out.println(“世界”);
}
btn.setMnemonicParsing(true);
}
});
StackPane root=新的StackPane();
root.getChildren().add(btn);
场景=新场景(根,300,250);
setTitle(“你好,世界!”);
初级阶段。场景(场景);
primaryStage.show();
}
/**
*@param指定命令行参数
*/
公共静态void main(字符串[]args){
发射(args);
}
}
你的确切意思是什么?