2016-08-22 10 views
0

все и спасибо за ответы. Наверное, это элементарный вопрос, но я только начал изучать Java. Я хочу напечатать строку «имя пользователя» (которая изменяется после нажатия кнопки) в другом классе. Вот код:Изменение личной строки при нажатии кнопки

public class Login extends javax.swing.JFrame{ 

    private String username; 

    private void buttonActionPerformed(java.awt.event.ActionEvent evt){ 
     username = textField.getText(); 
    } 

    public String getUsername(){ 
     return username; 
    } 
} 

Это класс, где я хочу, чтобы напечатать строку ...

public class test{ 
    Login login = new Login(); 
    String user = login.getUsername(); 
    System.out.println(user); 
} 

Проблема заключается в том, что она печатает «нуль». Вместо этого, если я ставлю

private String username = "bla bla bla"; 

удаления

private void buttonActionPerformed(java.awt.event.ActionEvent evt){ 
    username = textField.getText(); 
} 

он печатает "бла-бла-бла". Что мне делать?

+0

Это весь ваш исходный код? Первое, что я заметил, это то, что у вас есть дополнительный} в конце вашей кнопкиActionPerformed. – Xiaoerge

+0

Когда и как вызывается код в тестовом классе? У вас не может быть просто кода в классе. Он должен быть в методе. Также на основе фрагмента кода, который вы предоставили, трудно сказать, что вы пытаетесь напечатать значение имени пользователя перед buttonActionPerformed или после него? Можете ли вы сделать 'System.out.println (username)' в 'buttonActionPerformed()' после того, как вы установили значение имени пользователя? Выдает ли там правильное значение? – learningMyWayThru

ответ

0

печатает «бла-бла-бла»

Ну вы непосредственно присвоенное значение в имени пользователя

private String username = "bla bla bla"; 

хорошо, в вашем случае, если вы косяк имя_пользователя доступ из другого класса, потому что, вы назначаете Строковое значение внутри метода private.

Так как о присвоении строковое значение за пределами частного метода, создавая функцию

userName=textField.getText().toString(); 

Таким образом, вы можете получить доступ к вашей ценности