0

jTextField と setText メソッドを使用して 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());

SeatTF は 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でこれを行うにはどうすればよいですか? 再度、感謝します。

4

7 に答える 7

6

String#valueOfに変換しintますString

String.valueOf(e.getAge());引数のstring表現を返します。int

seatsTF.setText(String.valueOf(e.Age()));
...
于 2013-03-20T17:18:49.580 に答える
1

使用する

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

また

seatsTF.setText(String.valueOf(e.getNoOfSeats()));
于 2013-03-20T17:19:17.733 に答える
0

通常の方法は

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

また

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

ただし、これは次のような連結で実現できます。

seatsTF.setText("" + e.getNoOfSeats());
于 2013-03-20T17:21:14.270 に答える
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);

の使用方法に関するチュートリアルも読む必要がある場合がありますDecimalFormat

于 2013-03-20T17:40:59.027 に答える
0

age フィールドが int 型であると仮定すると、次のようなものを試すことができます。

        ageTF.setText( Integer.toString(e.getAge()) );
于 2013-03-20T17:25:37.387 に答える
-1

次のようにコードを書くべきだと思います

seatTF.setText(e.getNoOfSeats().toString());

于 2013-03-20T17:22:00.257 に答える