الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مساعدة في الكود

بدأه eng.hanen في 7 يناير 2011 · 5 رد · 671 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ويعطيكم العافية

لدي سؤال بسيط انا قمت بعمل برنامج بسيط عن طلبة بإستخدام النت بينز

ولكن بقيت لدي مشكلة واحدة وهي عندما يقوم الشخص بإدخال البيانات في الtextfield

انا لا استطيع تخزينها في الfile وعلى كل حال انا قمت بوضع الملف

وشكرا على كل حال

 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package finalproject;
import java.io.*;
import java.awt.*;
import javax.swing.*;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

/**
 *
 * @author click
 */
public class JFStudMangS {

     public JFStudMangS() {
     }

     public static String StudNum;
    public static String StudName;
    public static String StudLevel;
    public static double arabGrade;
    public static double engGrade;
    public static double socialGrade;
    public static double techGrade;
    public static double relegGrade;


     //private void jTextField6ActionPerformed(java.awt.event.ActionEvent evt) {

     public class ShowBorderLayout extends JFrame {

      private JButton save = new JButton("Save");
      private JButton close= new JButton("close");
     public ShowBorderLayout() {
      JPanel p1 = new JPanel();
      p1.add((save),BorderLayout.WEST);
      p1.add((close),BorderLayout.WEST);

      setLayout(new BorderLayout(5, 10));

    ShowBorderLayout frame = new ShowBorderLayout();
    frame.setTitle("Student Administration");
     frame.setLocationRelativeTo(null); // Center the frame
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     frame.setSize(300, 200);
     frame.setVisible(true);

      add(new JLabel("Student Name"),BorderLayout.EAST);
      JTextField jTextField1=new JTextField(8);
      add(new JLabel("Student Number"),BorderLayout.EAST);
      JTextField jTextField2=new JTextField(8);
      add(new JLabel("Student level:"),BorderLayout.EAST);
      JTextField jTextField3  =new JTextField(8);
      add(new JLabel(" Students Grade"),BorderLayout.CENTER);
      add(new JLabel("Student Arabic Grade:"),BorderLayout.EAST);
      JTextField jTextField4=new JTextField(8);
      add(new JLabel("Student english Grade"),BorderLayout.EAST);
      JTextField jTextField5=new JTextField(8);
      add(new JLabel("Student Mathematics Grade"),BorderLayout.EAST);
      JTextField jTextField6=new JTextField(8);
      add(new JLabel("Student Technology Grade"),BorderLayout.EAST);
      JTextField jTextField7=new JTextField(8);
      add(new JLabel("Student relegion Grade  Grade"),BorderLayout.EAST);
      JTextField jTextField8=new JTextField(8);



    }

    private void SaveData() {
        // TODO add your handling code here:
          try {

              StudNum =jTextField2.getText();

              StudName =jTextField1.getText();

              StudLevel =jTextField3.getText();

              arabGrade =Double.parseDouble(jTextField4.getText());

              engGrade =Double.parseDouble(jTextField5.getText());

              socialGrade =Double.parseDouble(jTextField6.getText());

              techGrade =Double.parseDouble(jTextField7.getText());

              relegGrade =Double.parseDouble(jTextField8.getText());

		// Create file
        FileWriter fstream = new FileWriter(StudNum);
        BufferedWriter out = new BufferedWriter(fstream);
		out.write("Student name:"+StudName);
                out.write("Student level:"+StudLevel);
                out.write("Student arab Grade:"+arabGrade);
                out.write("Student english Grade:"+engGrade);
                out.write("Student  Mathematics  Grade:"+socialGrade);
                out.write("Student tech Grade:"+techGrade);
                out.write("Student relegion Grade:"+relegGrade);

		//Close the output stream
		out.close();



        }
        catch (Exception e)
        {
        }


    }

    private void jTextField2ActionPerformed() {
        save.setMnemonic('s');
        close.setMnemonic('c');


       close.addActionListener(new ActionListener(){
               public void actionPerformed(ActionEvent e) {
                  System.exit(0);
               }
      });

      save.addActionListener(new ActionListener(){
       public void actionPerformed(ActionEvent e) {
            SaveData();
       }
   });


    }

}

}

تم تعديل هذه المشاركة بواسطة العيافـي في 8 يناير 2011 في 10:12 — السبب: اضافة تنسيق للكود

#2

ما الهدف من الطريقة jTextField2ActionPerformed؟ الأصح أن تضع الكود الموجود داخلها في ال constructor

ال constructor الخاص ب ShowBorderLayout ينادي على نفسه. ما الفائدة؟ ستحصل فقط على حلقة لا تنتهي.

من الأحسن أن تكتب على الأقل رسالة الإستثناء داخل ال catch bloc، لأنه يمكن أن يكون أن يكون هناك خطأ لكنك لن تعرف ما هو ولا ما هو مصدره.

تم تعديل هذه المشاركة بواسطة herch في 7 يناير 2011 في 22:10

#3

اخي herchشكرا لردك اولا

ثانيا انا اعلم ما الذي تتحدث عنه تماما ولكن عدم ترتيب البرنامج نابع من عدم قدرتي على أخذ المعلومة

من textfieldووضعها في الفايل هذه مشكلتي ؟؟كيف استطيع ان اجعل ماوضع بداخل textfieldمن قبل المستخدم

في الفايل وتخزينه ؟؟؟ شكرا مرة اخرى ودمت بحفظ المولى

#4

وكيف تستخدمى الـ TextFields

وقد تم تعريفهم داخل الـبناء الخاص بالفئه

ShowBorderLayout

ولديكى اكثر من كلاس داخل بعضهما البعض

هل الكود هذا يعمل لديكى ؟؟

انا متاكد انه لالا

لانه لم يعمل لدى منذ اول مره رايت فيها الموضوع

لانى لقيت الفئات متداخله مع بعضها

وهناك الكثير من الاشياء الغير مرتبه

حاولت المساعده ولكن لم استطع لضيق الوقت

واعتقدت اننى سأكتبه من البدايه

حاولى تنظيم الكود اكثر من ذلك

وسوف تجدين ان طلبك اصبح سهلا بدون السوال

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 8 يناير 2011 في 23:27

Software Developer
Mahmoudkelany.com


 

#5

كود التخزين في الملف عندك صحيح، المشكل في مكان وضعه، وأيضا في بقية الكود.

بعض التعديلات

package finalproject;

import java.io.*;
import java.awt.*;
import javax.swing.*;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

/**
 *
 * @author click
 */
public class JFStudMangS {

	public JFStudMangS() {
		new ShowBorderLayout();
	}

	public static String StudNum;
	public static String StudName;
	public static String StudLevel;
	public static double arabGrade;
	public static double engGrade;
	public static double socialGrade;
	public static double techGrade;
	public static double relegGrade;


 	//private void jTextField6ActionPerformed(java.awt.event.ActionEvent evt) {

	public class ShowBorderLayout extends JFrame {

		private JButton save = new JButton("Save");
		private JButton close= new JButton("close");
		JTextField jTextField1;
		JTextField jTextField2;
		JTextField jTextField3;
		JTextField jTextField4;
		JTextField jTextField5;
		JTextField jTextField6;
		JTextField jTextField7;
		JTextField jTextField8;

		public ShowBorderLayout() {
			JPanel p1 = new JPanel();
			p1.add((save),BorderLayout.WEST);
			p1.add((close),BorderLayout.WEST);

			setLayout(new GridLayout(0, 2));

			this.setTitle("Student Administration");
			this.setLocationRelativeTo(null); // Center the frame
			this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
			this.setSize(600, 400);
			this.setVisible(true);

			add(new JLabel("Student Name"));
			jTextField1=new JTextField(8);
			add(jTextField1);
			add(new JLabel("Student Number"));
			jTextField2=new JTextField(8);
			add(jTextField2);
			add(new JLabel("Student level:"));
			jTextField3  =new JTextField(8);
			add(jTextField3);
			add(new JLabel(" Students Grade"));
			add(new JLabel(""));
			add(new JLabel("Student Arabic Grade:"));
			jTextField4=new JTextField(8);
			add(jTextField4);
			add(new JLabel("Student english Grade"));
			jTextField5=new JTextField(8);
			add(jTextField5);
			add(new JLabel("Student Mathematics Grade"));
			jTextField6=new JTextField(8);
			add(jTextField6);
			add(new JLabel("Student Technology Grade"));
			jTextField7=new JTextField(8);
			add(jTextField7);
			add(new JLabel("Student relegion Grade  Grade"));
			jTextField8=new JTextField(8);
			add(jTextField8);
			add(save);
			add(close);

			save.setMnemonic('s');
			close.setMnemonic('c');

			close.addActionListener(new ActionListener(){
			   public void actionPerformed(ActionEvent e) {
				  System.exit(0);
			   }
			});

			save.addActionListener(new ActionListener(){
				public void actionPerformed(ActionEvent e) {
					SaveData();
				}
			});
		}

		private void SaveData() {
			// TODO add your handling code here:
			try {

				StudNum =jTextField2.getText();         	
				StudName =jTextField1.getText();        	
				StudLevel =jTextField3.getText();         	
				arabGrade =Double.parseDouble(jTextField4.getText());          	
				engGrade =Double.parseDouble(jTextField5.getText());          	
				socialGrade =Double.parseDouble(jTextField6.getText());          	
				techGrade =Double.parseDouble(jTextField7.getText());          	
				relegGrade =Double.parseDouble(jTextField8.getText());
				// Create file
				FileWriter fstream = new FileWriter(StudNum);
				BufferedWriter out = new BufferedWriter(fstream);
				out.write("Student name:"+StudName+"\n");
				out.write("Student level:"+StudLevel+"\n");
				out.write("Student arab Grade:"+arabGrade+"\n");
				out.write("Student english Grade:"+engGrade+"\n");
				out.write("Student  Mathematics  Grade:"+socialGrade+"\n");
				out.write("Student tech Grade:"+techGrade+"\n");
				out.write("Student relegion Grade:"+relegGrade+"\n");

				//Close the output stream
				out.close();
			} catch (Exception e) {
			}
		}
	}

	public static void main(String[] args) {
		new JFStudMangS();
	}
}
#6

السلام عليكم ورحمة الله وبركاته

استاذ محمود كلامك صحيح 100بالمئة وانا اعلم هذا الشيئ ولكن لأني مبتدئه لم يرتب معي مباشرة ولكن حقا شكرا لك على التعقيب

استاذي herch لا تعلم مقدار الأستفادة التي اعطيتني اياها فأنا كنت قد رتبت الكود ولكن كانت هناك مشكلة ووجدت حالها من خلالك

فلك كل الشكر الجزيل والدعاء فحقا انت علمتني

دمت بحفظ المولى

مواضيع مشابهة