how to make the button event write the output in a textfield since the button is in a hbox and the other in a textfield because i am using borderpane. at the end of the action event the button should write in the textfield the choosen file signature what is the solution of this problem?
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);
}
}
Using Swing classes in JavaFX when it's not really necessary just results in problems with the main threads for both platforms. Better use
FileChooser
for files and for directories (like in this case)DirectoryChooser
: