2013-03-20 38 views
0

我試圖設置一個int值使用jTextField和setText方法。但是當然setText需要一個String。我該如何解決這個問題?我給你的代碼片段:Java有一個int值使用setText

private void setAllTextFields(FilmSystem e){ 
    getFilmNameTF().setText(e.getFilmName()); 
    lectureTF.setText(e.getLecture()); 
    ageTF.setText(e.getAge()); 
    priceTF.setText(e.getTicketCost()); 
    seatsTF.setText(e.getNoOfSeats()); 

seatsTF是一個JTextField和getNoOfSeats是返回一個int值另一個類的方法。

再次感謝您回答這個問題。現在我該如何去獲得int值的值來做些事情?

 public void buyTicket() { 
    String newFilmName = filmNameTF.getText(); 
    String newLecture = lectureTF.getText(); 
    String newAge = ageTF.getText(); 
    String newPrice = priceTF.getText(); 
    int newSeats = seatsTF. 

正如你所看到的代碼,我可以很容易地使用getText獲得字符串值。然後,我可以將它們打印出來或與他們一起打印。我可以如何做座位int?再次感謝。

回答

6

String#valueOf將您的int轉換爲String

String.valueOf(e.getAge());將返回int參數的string表示。

seatsTF.setText(String.valueOf(e.Age())); 
... 
+0

我不想因爲我想稍後對int值進行數學運算。 – user2092012 2013-03-20 17:20:26

+2

你的實際int值不會被改變。 – 2013-03-20 17:22:12

1

使用

seatsTF.setText(""+e.getNoOfSeats()); 

OR

seatsTF.setText(String.valueOf(e.getNoOfSeats())); 
0

正常的方式將

seatsTF.setText(Integer.toString(e.getNoOfSeats())); 

seatsTF.setText(String.valueOf(e.getNoOfSeats())); 

,但是,這可以通過這樣的拼接來實現:

seatsTF.setText("" + e.getNoOfSeats()); 
+0

我使用了String.valueOf解決方案,它工作正常。當它粘貼時它不喜歡它,但它要求我將它改爲斜體。我從未理解這一點。無論如何感謝您的快速回復傢伙。 – user2092012 2013-03-20 17:25:52

+0

我編輯了我原來的帖子,想知道如果你可以幫助我的另一個問題。 – user2092012 2013-03-20 20:49:17

+0

這不是一個大問題哥們。你可以做int newSeats = Integer.parseInt(seatsTF.getText()); – 2013-03-21 05:09:00

-1

我想你應該寫代碼

seatsTF.setText(e.getNoOfSeats()的toString());

+2

你不能在'int'上調用方法。 – 2013-03-20 17:24:42

0

假設年齡字段是int類型的,你可以嘗試像:

 ageTF.setText(Integer.toString(e.getAge())); 
+0

年齡是一個字符串,我不需要做任何事情來老化,但打印出來,所以我把它作爲一個字符串。不管怎麼說,還是要謝謝你 :) – user2092012 2013-03-20 17:27:35

0

設置的int將其轉換爲String不是什麼大不了的。顯示一個值是一個問題。要注意文本框中值的正確顯示方式,您可以使用DecimalFormat來格式化數值。但可能是數量是特定locale,那麼你需要NumberFormat例如

NumberFormat nf = NumberFormat.getInstance(locale); 
nf.setMaximumIntegerDigits(12); 
nf.setMaximumFractionDigits(0); 
nf.setMinimumFractionDigits(0); 
String s = nf.format(e.getNoOfSeats()); 
seatsTF.setText(s); 

您可能還需要閱讀有關如何使用DecimalFormattutorial

相關問題