انا هنا كنت بحاول أعمل برنامج يحسب الفكتوريل و لكن عن طريق عمل انترفيس مش كونسل ابليكاشن
اول مشكلة مقبلانى انى مش عارف اظبط الانترفيس
يعنى مثلا هتلاقو هنا فى الصورة ال button واخد طول الframe كلها و هكذا مه الfield مش عارف ازاى احجمهم
؟؟؟
و ادى لينك فى ال output
http://www.4shared.com/dir/9619176/b854b3b2/sharing.html
اما المشكلة التانية انى مش عارف اظبط أزاى اخد الرقم الى بكتبه فى الfield
و لما اضغط على الزار يروح يتعرض المضروب
و فىبردو مشكلة فى ال مسود المسئولة عن الفكتوريل
شوفوا الكود كده
package TestFactorial;
import java.awt.BorderLayout;
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.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class TestFactorial extends JFrame {
private JPanel fact_panel, result_panel, button_panel, main_panel;
private JLabel fact_label, result_label;
private JTextField fact_field, result_field;
private JButton fact_button;
public TestFactorial() {
main_panel = new JPanel(new GridLayout(3, 1));
fact_panel = new JPanel(new GridLayout(1, 0));
fact_label = new JLabel("Enter number");
fact_field = new JTextField(10);
fact_panel.add(fact_label);
fact_panel.add(fact_field);
result_panel = new JPanel(new GridLayout(1, 0));
result_label = new JLabel("factorial is");
result_field = new JTextField(10);
result_panel.add(result_label);
result_panel.add(result_field);
button_panel = new JPanel(new BorderLayout());
fact_button = new JButton("n!");
fact_button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String num = fact_field.getText();
fact(num);
}
private int fact(String num) {
int n = 0;
// fact_field.setText(Integer.toString(n));
int i = Integer.parseInt(num);
for (i = n; i <= n; --i) {
if (i < 1)
return 0;
else
return fact(n-1)*fact(n);
}
}
});
button_panel.add(fact_button, BorderLayout.CENTER);
main_panel.add(fact_panel);
main_panel.add(result_panel);
main_panel.add(button_panel);
getContentPane().add(main_panel);
}
public static void main(String[] args) {
JFrame frame = new TestFactorial();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setSize(300, 200);
frame.setVisible(true);
}
}
