我正在尝试使用jTextField和setText方法设置int值。但是当然setText想要一个String。我怎么绕这个?我会给你一段代码:
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可以轻松获得String值。然后我可以打印出来或与它们一起打印。我如何用座位int做到这一点?再次感谢。
答案 0 :(得分:6)
String#valueOf
将您的int
转换为String
。
String.valueOf(e.getAge());
将返回string
参数的int
表示。
seatsTF.setText(String.valueOf(e.Age()));
...
答案 1 :(得分:1)
USe
seatsTF.setText(""+e.getNoOfSeats());
OR
seatsTF.setText(String.valueOf(e.getNoOfSeats()));
答案 2 :(得分:0)
正常方式是
seatsTF.setText(Integer.toString(e.getNoOfSeats()));
或
seatsTF.setText(String.valueOf(e.getNoOfSeats()));
但是,这可以通过这样的连接来实现:
seatsTF.setText("" + e.getNoOfSeats());
答案 3 :(得分:0)
假设age字段的类型为int,您可以尝试类似:
ageTF.setText( Integer.toString(e.getAge()) );
答案 4 :(得分: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
的{{3}}。
答案 5 :(得分:0)
要将整数值转换为字符串,您应该
MedicineTM medicine=tblmedicine.getSelectionModel().getSelectedItem();
txtmedicine.setText(medicine.getMID());
txtDescription.setText(medicine.getDescription());
txtQty.setText(String.valueOf(medicine.getQty())); // this is what i did
cmbApproval.setValue(medicine.getApproval());
答案 6 :(得分:-1)
我认为您应该将代码编写为
seatsTF.setText(e.getNoOfSeats()的toString());