ورود

View Full Version : آموزش: مشکل محاسبات در بخش jframe



wolfomid
جمعه 04 تیر 1395, 12:57 عصر
با سلام و خسته نباشید. من با نرم افزار netbeans کار میکنم و در قسمت کارهای گرافیکی در بخش jframe مشکل دارم. من 5 تا متغیر دارم ک به صورت زیر تعریف میشه.
X1 باید اعداد 0.2 و 0.3 و 0.5 و 0.6 رو باید بگیره
X2 و x3 و x4 و x5 هم همینطور. برای هر یک از متغیر ها یک text field تعریف میکنم تا کاربر بتونه اعداد بالا رو برای هر فیلد وارد کنه. حالا میخوام x2,x3,x4 رو در هم ضرب کنم و از x1 کم کنم و ب x5 اضافه کنم به طوری که وقتی کاربر مقادیر هر متغیر رو وارد کنه و اینتر بزنه عملیات محاسباتی فوق انجام بگیره. ولی اینکارو نمیتونم انجام بدم. ممنون میشم راهنماییم کنید ک چطوری میتونم این کارو بکنم. با تشکر

vahid-p
شنبه 05 تیر 1395, 07:03 صبح
خب دقیقا نگفتید کجاش مشکل دارید. اگر کلا با Swing آشنا نیستید باید مقدماتش رو بخونید (http://www.tutorialspoint.com/swing/).
اما برای راهنمایی بیشتر این یک کد ساده که براتون اینکار رو انجام میده و امیدوارم راهنماییتون کنه:

import java.awt.GridLayout;import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;


public class Main extends JFrame {


private final JTextField text1;
private final JTextField text2;
private final JTextField text3;
private final JTextField text4;
private final JTextField text5;
private JTextField result;
private JButton calculate;


public Main() {
super("Calculator");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(new GridLayout(7, 0));
setSize(200, 300);


text1 = new JTextField();
text2 = new JTextField();
text3 = new JTextField();
text4 = new JTextField();
text5 = new JTextField();
result = new JTextField();
calculate = new JButton("Calculate");
//Add components to JFrame main panel
add(text1);
add(text2);
add(text3);
add(text4);
add(text5);
add(calculate);
add(result);


//(Handler) Add an action listener to calculate button. when do action (like click), it is called and runs method's body
calculate.addActionListener(new ActionListener() {


@Override
public void actionPerformed(ActionEvent e) {
try {
int x1 = Integer.valueOf(text1.getText());
int x2 = Integer.valueOf(text2.getText());
int x3 = Integer.valueOf(text3.getText());
int x4 = Integer.valueOf(text4.getText());
int x5 = Integer.valueOf(text5.getText());
result.setText(String.valueOf(x1 - (x2 * x3 * x4) + x5));
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(Main.this, "Just integer acceptable"); //Show an appropriate message to user for wrong values
}
}
});
}


public static void main(String[] args) {
new Main().setVisible(true);
}
}