如何使按钮事件在文本字段中写入输出



如何使按钮事件将输出写入文本字段中,因为按钮是在 hbox 中,另一个在文本字段中,因为我正在使用边框窗格。 在操作事件结束时,按钮应在文本字段中写入所选文件签名这个问题的解决方案是什么?

public class Filrsystemencryption extends Application 
{
private HBox getHBox() 
{  
 HBox hbButtons = new HBox(15);
 Button btnimport = new Button("import");
TextField textfieldd = new TextField ();
  btnimport.setOnAction((event) ->
   {

  btnimport.setOnAction(new EventHandler<ActionEvent>() 
  {
        @Override
        public void handle(ActionEvent event) {
 JButton open = new JButton();
 JFileChooser fc = new JFileChooser();
fc.setCurrentDirectory(new java.io.File("C:/Users/hannah/Desktop"));
fc.setDialogTitle("choose a file");
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
if (fc.showOpenDialog(open) == JFileChooser.APPROVE_OPTION){
  textfieldd.setText("file chosen");
}
        }
    });
 Button btnDelete = new Button("Remove");
 TextField textfield = new TextField ();
 final ComboBox ComboBox = new ComboBox();
    ComboBox.getItems().addAll(
        "Encrypt",
        "Decrypt"   
    );
Label label = new Label("password");
hbButtons.setSpacing(30);
hbButtons.setPadding(new Insets(10, 20, 30, 20)); 
hbButtons.getChildren().addAll(btnimport, btnDelete, 
label,textfield,ComboBox); 
  return hbButtons ;
}

  @Override
  public void start(Stage primaryStage) {

   BorderPane pane = new BorderPane();
   pane.setTop(getHBox());
   pane.setCenter(getHBoxx());

primaryStage.setTitle("File system encryption");
Scene scene = new Scene(pane, 600, 600);
primaryStage.setScene(scene);
primaryStage.show();
}   
  private TextField getHBoxx() {
 TextField textfieldd = new TextField ();
 textfieldd.setPrefWidth(400);
 textfieldd.setPrefHeight(200);
 return textfieldd;    
   }
/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    launch(args);
  }
  }

在 JavaFX 中使用 Swing 类,当它不是真正必要的时,只会导致两个平台的主线程出现问题。更好地将FileChooser用于文件和目录(如本例中(DirectoryChooser

btnimport.setOnAction(evt -> {
    DirectoryChooser dirChooser = new DirectoryChooser();
    dirChooser.setInitialDirectory(new java.io.File("C:/Users/hannah/Desktop"));
    dirChooser.setTitle("choose a file");
    File choice = dirChooser.showDialog(btnimport.getScene().getWindow());
    if (choice != null) {
        // dialog not aborted
        textfieldd.setText("file chosen");
    }
});

最新更新