PDA

View Full Version : مقدار دهی متغیر از تکست باکس



kivoon
دوشنبه 23 آبان 1390, 23:56 عصر
من نمیدونم چطوری مقدار یک تکست رو بریزم توی یه متغیر از نوع int
package calculator1;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.GroupLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
public class Calculator1 {
public static void main(String[] args) {
final int temp2;
final JFrame form=new JFrame();
form.getContentPane().setLayout(new GroupLayout(form.getContentPane()));
final JTextField in = new JTextField("");
final JButton jam=new JButton("+");
final JButton menha = new JButton("-");
final JButton zarb=new JButton("*");
final JButton taghsim = new JButton("/");
final JButton mosavi = new JButton("=");
form.add(jam);
form.add(menha);
form.add(zarb);
form.add(taghsim);
form.add(mosavi);
form.add(in);
jam.setBounds(250,70,50,30);
menha.setBounds(320,70,50,30);
zarb.setBounds(250,120,50,30);
taghsim.setBounds(320,120,50,30);
mosavi.setBounds(285,170,50,30);
in.setBounds(10, 20, 220, 25);
form.setSize(400,300);
form.setTitle("Calculator");
jam.addActionListener(new ActionListener() {
//@Override
@Override
public void actionPerformed(ActionEvent arg1) {
temp2 = in.getText(); // این کد ارور میده . اینجا می خوام مقدار تکست رو بگیره بریزه تو یه متغیر
}
})
menha.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg1) {
}
})
zarb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg2) {

}
})
taghsim.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg3) {

}
})
mosavi.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg4) {
}
})
form.setVisible(true);


}
}

behnam-s
سه شنبه 24 آبان 1390, 00:21 صبح
'انواع' در جاوا متدی دارن به اسم valueOf() که داده ورودی رو به نوع کلاس خودشون تبدیل میکنن.
مثلا برای int:
temp2=Integer.valueOf(in.getText());

البته برای ماشین حساب اعداد رو باید از نوعی مثل Double در نظر بگیرید تا اعشاری باشن!

Double temp2;
temp2=Double.valueOf(in.getText());

kivoon
سه شنبه 24 آبان 1390, 14:10 عصر
ممنون دوست عزیز

kivoon
سه شنبه 24 آبان 1390, 14:50 عصر
jam.addActionListener(new ActionListener() {
//@Override
@Override
public void actionPerformed(ActionEvent arg1) {
temp2=Integer.valueOf(in.getText()); // این خط ارور میده اینجا
}
})

spiderman200700
سه شنبه 24 آبان 1390, 15:20 عصر
نباید temp2 رو به صورت final تعریف کنی.
اینجوری تعریفش کن.

int temp2;

kivoon
سه شنبه 24 آبان 1390, 17:46 عصر
ممنون دوست عزیز مشکلم حل شد