Java - Set a "Int" in a textfield - java

I'd like to set a int in a textfield to represent a ID. This int will be incremented when the user clicks the button Next. I'm using awt. I tried to do this but it gives a error because it expects a string. :( Is there a solution?
Thanks

Sounds like you will need to keep an internal int variable which you can increment, then update the textfield with the String representation when it's changed. Similarly make sure to update the int if the user manually edits the textfield.

How about public static String String#valueOf(int)

One can convert an int to a String with either
int i = 100;
String s2 = String.valueOf(i);
String s1 = "" + i;
I believe that valueof() is the preferred approach because it can re-use static data for the value.

Related

select positions of value of string or int

I'm trying to select the positions of some value and print the parts of that value by position in java when I'm working on android app.
for example if I have some number four-digit, 4375 if I select the 3rd one system will print 7, 4th one system will print 5..
You can easily select the portion of a string with String.substring() methods.
See https://docs.oracle.com/javase/7/docs/api/java/lang/String.html for more help.
Hence, you could simply convert the digit to String and then use the substring() method get the part you want.
I will just provide my solution as a suggestion:
private String getSubDigit(int value, int postion){
// you probably should check if the value is correct and ready to be processed.
if(Check(value)) {
String temp = "" + value;
return temp.substring(position,position+1);
}else{
return "";
}
}
You can acheive it like this
int values = 4375;
String mValue = String.valuOf(values);
Char mChar = mValue.chatAt(int index);
int selectedValue = Character.getNumericValue(mChar);

Printing integer to textfield area

Im having a trouble in java. Im creating a HRRN scheduling. I want to print the integer that I input into a textfield area. Please help me to solve this problem. Thankyou!
private void AWTActionPerformed(java.awt.event.ActionEvent evt) {
int firstprocess=1;
if (bt1.getText().equals("")){
double tempbt1 = Double.parseDouble(bt1.getText());
awttotalprocess = (firstprocess + (tempbt1));
AWTCLICK = 0;
jtf_awt.setText(String.valueOf(awttotalprocess+"ms"));
}
I want to print the awttotalprocess into jtf_awt.
Bracketing issue:
jtf_awt.setText(String.valueOf(awttotalprocess)+"ms");
Many classes come with what's called a .toString() method that prints a pre-specified output when joined with a string. You can concatenate or join a string and a variable -in this case an integer- like this:
int i = 50;
String join() {
return "I'm a string, next is a number: " + 50;
}
Keep in mind that int and Integer are different in that the first is a primitive data type, and the second is the object. This isn't an issue for you in this code but in the future if you try to concatenate a string with an object it may end up printing out the memory address as written in the .toString() default method and would require you to #override the method to specify your own string output. The primitive data types are "easier" to combine and don't require such .toString() overriding or .valueOf() shenanigans.

How to put integer value in JLabel?

I need to display an integer onto JLabel, the following code does not work out well, even with Integer.parse().
How do I rectify it?
JLabel lblTemp = new JLabel("");
lblTemp.setBounds(338, 26, 46, 14);
contentPane.add(lblTemp);
//store int value of item clicked # JList
int temp = list.getSelectedIndex() + 1;
lblTemp.setText(temp); // <- problem
Use String.valueOf method :
Returns the string representation of the int argument.
lblTemp.setText(String.valueOf(temp));
lblTemp.setText(String.valueOf(temp));
Your temp is an integer but the type that the setText(...) method accepts is String. You need to convert first your integer to String.
The quick and dirty solution for putting integers in places that expect strings is to do the following:
lblTemp.setText(temp + "");
I hope this helps.
setText() takes string as an argument. Use this line to code to convert int to string.
Integer.toString(number)
Hope it helps.
If you use Wrapper class Integer instead of primitive type int then you can get temp.toString() method that automatically convert to string value
You can Use String.valueOf() or Integer.toString() Methods
lblTemp.setText(String.valueOf(temp));
or
lblTemp.setText(Integer.toString(temp));

Java have a int value using setText

I'm trying to set an int value using jTextField and the setText method. But of course setText wants a String. How do I get round this? I'll give you a snippet of the code:
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 is a jTextField and getNoOfSeats is a method in another class that returns a int value.
Thanks again for answering this question. Now how would I go about getting the value of the int to do something to do?
public void buyTicket() {
String newFilmName = filmNameTF.getText();
String newLecture = lectureTF.getText();
String newAge = ageTF.getText();
String newPrice = priceTF.getText();
int newSeats = seatsTF.
As you can see the code, the String values I can get easy with getText. I can then print them out or whatever with them. How can I do this with the seats int? Thanks again.
String#valueOf convert your int to String.
String.valueOf(e.getAge()); will return the string representation of the int argument.
seatsTF.setText(String.valueOf(e.Age()));
...
USe
seatsTF.setText(""+e.getNoOfSeats());
OR
seatsTF.setText(String.valueOf(e.getNoOfSeats()));
Normal ways would be
seatsTF.setText(Integer.toString(e.getNoOfSeats()));
or
seatsTF.setText(String.valueOf(e.getNoOfSeats()));
but, this can be achieved with a concatenation like this:
seatsTF.setText("" + e.getNoOfSeats());
Assuming age field is of type int, you could try something like:
ageTF.setText( Integer.toString(e.getAge()) );
Setting an int converting it to a String not a big deal. Displaying a value is a problem. To take care of how the value is displayed properly in the textfield you may use a DecimalFormat to format the numeric value. But may be the number is locale specific then you need NumberFormat instance
NumberFormat nf = NumberFormat.getInstance(locale);
nf.setMaximumIntegerDigits(12);
nf.setMaximumFractionDigits(0);
nf.setMinimumFractionDigits(0);
String s = nf.format(e.getNoOfSeats());
seatsTF.setText(s);
You may also need to read the tutorial on how to use the DecimalFormat.
To convert Integer Value to String you should
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());
I think you should write the code as
seatsTF.setText(e.getNoOfSeats().toString());

using swing components

User enters a value in JFormattedText, I need to get this value and put it in class definition
private static final int x = <here must be entered variable>;
And how to put System.out.println result to JTextArea ( or maybe I should use another component?)
private static final int x = <here must be entered variable>;
No way. You can't assign a user entered value to a static final field. private static final is the Java way of declaring a system wide constant value.
ANd how to put system.outprinln result to JtextArea
See the Message Console for one way.

Categories

Resources