2012-02-01 4 views
1

Я пытаюсь получить пользовательские входы из текстового поля, поэтому я могу взять пользовательский ввод, чтобы вычислить смещение для шара.Получение пользовательского ввода JTextField в Java?

Я попытался это

double initialvelocity = new JTextBox("enter your initial velocity"); 

поэтому у меня есть переменная с данными, которые я могу использовать. Я просто не могу заставить его работать, и это стало препятствием для моего первого проекта java.

Может ли кто-нибудь предложить, как я могу получить переменную для хранения данных с помощью JTextField или есть ли другие альтернативы?

+0

ли вы имеете в виду, может быть JTextField в образце кода? –

ответ

8

JTextField должны храниться так:

JTextField v0TextField = new JTextField ("initial velocity"); 

И когда вы хотите получить доступ к текущей строки в текстовом поле:

String strV0TextBox = v0TextField.getText(); 

Тогда вы хотите, чтобы разобрать это в двойной:

double initialvelocity = Double.parseDouble(strV0TextField); 
+0

+1 избили меня. – RanRag

+1

почему странное имя переменной? Что относительно 'initialVelocityTextField',' initialVelocityString' и 'initialVelocity'? –

+0

Приветствия ценят помощь – user1183685

2

правильный способ использования JTextField является

JTextField box = new JTextField(" Enter Initial Velocity"); 
String velocity_str = box.getText(); 

чем разобрать в двойной

double initialvelocity = Double.parseDouble(velocity_str); 
5

Если вы просто хотите, чтобы получить ввод от пользователя, самый простой способ это использовать диалог:

double value = Double.parseDouble(
      JOptionPane.showInputDialog("please enter value")); 
+1

ohh большое спасибо .. вы гений – user1183685

+3

Ха-ха, не совсем. BTW, пожалуйста, примите ответ, если он решит вашу проблему, пожалуйста. –

2

Смотрите этот учебник для использования jTextField here.

Вы хотите создать экземпляр окна, как:

JTextField myTextField = new JTextField("enter your initial velocity"); 

    //Probably should do some kind of validation on the input if you only want numbers 
    //get The Text and parse it as a double 
    double initVelocity = Double.parseDouble(myTextField.getText()); 
+0

Я получаю несоответствие типа в виде строки, а double не может быть добавлено вместе – user1183685

+0

@ user1183685 обновлено, чтобы включить строку для двойного преобразования. – sinemetu1

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