2013-11-25 1 views
0

У меня есть объект Java, в который я хочу вставить значение. Например, я хочу, чтобы это сделать:Как вставить значение в объект Java

private UserData ud = new UserData(); 

public class UserData 
{ 
    private String hostName; 
    private String userName; 
    private String passwd; 

    public UserData(String hostName, String userName, String passwd) 
    { 
     this.hostName = hostName; 
     this.userName = userName; 
     this.passwd = passwd; 
    } 

    private UserData() 
    { 
    } 

    public String getHostName() 
    { 
     return hostName; 
    } 

    public void setHostName(String hostName) 
    { 
     this.hostName = hostName; 
    } 

    public String getUserName() 
    { 
     return userName; 
    } 

    public void setUserName(String userName) 
    { 
     this.userName = userName; 
    } 

    public String getPasswd() 
    { 
     return passwd; 
    } 

    public void setPasswd(String passwd) 
    { 
     this.passwd = passwd; 
    } 
} 

И я это простые текстовые поля

TextField textFieldsz = new TextField(); 
grid.add(textFieldsz, 1, 0); 

Text chartTitle = new Text("User name:"); 
grid.add(chartTitle, 0, 1); 

TextField textFieldds = new TextField(); 
grid.add(textFieldds, 1, 1); 

Text chartcTisstle = new Text("Password:"); 
grid.add(chartcTisstle, 0, 2); 

PasswordField textFieeds = new PasswordField(); 
grid.add(textFieeds, 1, 2); 

И у меня есть эта кнопка, которая будет использоваться для входа в систему

btnLogin.setOnAction(new EventHandler<ActionEvent>() 
{ 
    @Override 
    public void handle(ActionEvent event) 
    { 

    } 
}); 

У меня есть базовые знания, как сделать логику бизнеса. Можете ли вы рассказать мне в JavaFX, как я могу вставлять значения из TextFields в объект Java и выполнять некоторые действия?

ответ

4

Вот один из способов решения вашей проблемы.

final UserData ud = new UserData();  
GridPane grid = new GridPane();  
final TextField textFieldsz = new TextField(); 
grid.add(textFieldsz, 1, 0); 
Text chartTitle = new Text("User name:"); 
grid.add(chartTitle, 0, 1); 
final TextField textFieldds = new TextField(); 
grid.add(textFieldds, 1, 1); 
Text chartcTisstle = new Text("Password:"); 
grid.add(chartcTisstle, 0, 2); 
final PasswordField textFieeds = new PasswordField(); 
grid.add(textFieeds, 1, 2)  
Scene sc = new Scene(grid,400,400);  
Button btn = new Button("PRESS");  
btn.setOnAction(new EventHandler<ActionEvent>() { 

    @Override 
    public void handle(ActionEvent arg0) { 
     ud.setHostName(textFieldsz.getText()); 
     ud.setUserName(textFieldds.getText()); 
     ud.setPasswd(textFieeds.getText()); 
     arg0.consume(); 

    } 
}); 

Как вы можете видеть, вы должны добавить ключевое слово final к объектам, которые вы используете в своем внутреннем анонимном классе (EventHandler кнопки).

Другой способ - использовать JavaFX-Bindings, но я не думаю, что привязка подходит для экрана входа в систему.

Смежные вопросы