2014-02-25 107 views
0

您能帮我解释如何获取数据类型为long的输入数据的值。我正在制作一个有GUI的队列程序。我在获取long的值时出错。这是我的方法。获取长数据类型

public Queue(int s) // constructor 
    { 
    maxSize = s; 
    queArray = new long[maxSize]; 
    front = 0; 
    rear = -1; 
    nItems = 0; 
    } 

这是我的按钮谁会得到的价值。

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { 
    a.Queue(jTextField2.valueOf(j) = long); 
    jTextField2.setText(""); 
    refresh(); 
    jLabel2.setText(""); 

    // TODO add your handling code here: 
} 

或者你可以给我一个带有GUI的队列示例程序。谢谢。 :)

+1

你得到了什么错误,你可以把堆栈跟踪。 –

+0

'long'是Java中的一个关键字,所以不可能这样做......'a.Queue(jTextField2.valueOf(j)= long);'你的意思是在那里有一个变量名称,而不是'长'? –

回答

0

我想你需要从jTextField2得到的值,并将其转换为long并将其插入队列。

String value = jTextField2.getText(); 
long lvalue = Long.parseLong(value); 
a.Queue(lvalue); 

或在一行a.Queue(Long.parseLong(jTextField2.getText()));

Long.parseLong可能抛出RuntimeException,whihc应进行处理。

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { 
    try{ 
     a.Queue(Long.parseLong(jTextField2.getText())); 
     ... 
    }catch(RuntimeException rex){...} 
} 
+0

我不认为'JTextField'类中有'getValue()'方法。 – SudoRahul

+1

奥普斯,谢谢你纠正我的兄弟 –

+0

RJ。该错误已被删除,但我将如何获得输入?并从另一个类调用该方法,以便它可以执行队列方法? –

2

如果你想从jTextField2这是JTextField对象长数据,那么你可以做这样的事情。

long j = Long.parseLong(jTextField2.getText()); // get the string data and parse it to long 
// use the long value `j` as you want