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

مشكله فى اكشن الزرار

بدأه م/عبدالخالق في 13 يونيو 2009 · 5 رد · 457 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين

بعد التحيه فأننى تواجهنى مشكله فى اكشن زرار معين وهذا هو الاكشن نفسه


{
if(e.getSource()==jbt)
{
ObjectInputStream in=null;
Password s=null;
s=new Password("zeita","5077255");
s.writePassword();
try
{
in=new ObjectInputStream(new FileInputStream("Password.dat"));
s= (Password)in.readObject();
if(s.getName().equals(t.getText()))
{
if((s.getPassword()).equals(new String(tp.getPassword())))
{

new Register();

}
else
JOptionPane.showMessageDialog(this,"خطأ"
,"INCORRECT PASSWORD",JOptionPane.INFORMATION_MESSAGE);
}
else
{
JOptionPane.showMessageDialog(this,"خطأ"
,"INCORRECT USER NAME",JOptionPane.INFORMATION_MESSAGE);
}
in.close();
}
catch(Exception ex)
{
}
}
}
	 public void actionPerformed(ActionEvent e)

وهذه هى الكلاس Register

 import java.awt.*;
 import java.awt.event.*;
 import javax.swing.*;
 import javax.swing.border.*;
 import java.sql.*;



 // Register student panel
 class Register extends JPanel implements ActionListener
 {
   // Button for registering a student
   private JButton jbtAdd,jbtUpdate,jbtDelete;


	JTextField jtfName = new JTextField(32);
   JTextField jtfNumber = new JTextField(6);
   JTextField jtfAddress = new JTextField(6);
   JTextField jtfDate = new JTextField(6);
   JTextField jtfType = new JTextField(6);
   JTextField jtfReligion = new JTextField(6);
   JTextField jtfJob = new JTextField(6);


   // Create a student panel
   // Constructor
   public Register()
   {



	 // Panel p to hold four navigator buttons
	 JPanel p = new JPanel();
	 p.setLayout(new FlowLayout(FlowLayout.CENTER));
	 p.add(jbtDelete = new JButton("حذف"));
	 p.add(jbtUpdate = new JButton("تعديل"));
	 p.add(jbtAdd = new JButton("اضافة"));

	 JPanel p1 = new JPanel();
	 p1.setLayout(new FlowLayout(FlowLayout.CENTER));

	 p1.add(jtfNumber=new JTextField(12));
	 p1.add( new JLabel("الرقم القومى"));
	 p1.add(jtfName=new JTextField(24));
	 p1.add(new JLabel("الاسم"));

	 JPanel p2 = new JPanel();
	 p2.setLayout(new FlowLayout(FlowLayout.RIGHT));

	 p2.add(jtfDate=new JTextField(10));
	 p2.add( new JLabel("تاريخ الميلاد"));
	 p2.add(jtfAddress=new JTextField(20));
	 p2.add( new JLabel("محل الاقامة"));

	 JPanel p3 = new JPanel();
	 p3.setLayout(new FlowLayout(FlowLayout.RIGHT));
	 p3.add(jtfJob=new JTextField(8));
	 p3.add( new JLabel("المهنة"));
	 p3.add(jtfReligion=new JTextField(8));
	 p3.add( new JLabel("الديانة"));
	 p3.add(jtfType=new JTextField(8));
	 p3.add( new JLabel("النوع"));

	  JPanel p4=new JPanel ();
	 p4.setLayout(new GridLayout(3,1));
	 p4.add(p1);
	 p4.add(p2);
	 p4.add(p3);

	 // Add studentPanel and jbtRegister in the panel
	 setLayout(new BorderLayout());

	 add(p4, BorderLayout.CENTER);
	 add(p, BorderLayout.SOUTH);



	 // Register listener
	 jbtAdd.addActionListener(this);
	 jbtUpdate.addActionListener(this);
	 jbtDelete.addActionListener(this);

   }

   // Handle navigation button actions
   public void actionPerformed(ActionEvent e)
   {
	   //وهذا عن طريقه يتم ادخال بيانات جديده فى قاعده البيانات عن الضغط على زرار اضافه
		if (e.getSource() == jbtAdd)

	 {

			   try
					{

				  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
				  Connection con = DriverManager.getConnection("jdbc:odbc:3mad","", "");
				  Statement stmt = con.createStatement(  );
				  String SQLText;
				  int ResultCode;

					//insert data

							 SQLText="insert into Student values('" + jtfName.getText() + "','" + jtfNumber.getText() + "','" + jtfAddress.getText() + "','" + jtfDate.getText() + "','" + jtfType.getText() + "','" + jtfReligion.getText() + "','" + jtfJob.getText() + "');";		
						   ResultCode=  stmt.executeUpdate( SQLText );
				 }
							catch (ClassNotFoundException ea) 
						{
						  System.out.println("Unable to load Driver Class");
						  return;
						}

						catch (SQLException se) 
						{
						 System.out.println("SQL Exception: " + se.getMessage(  ));
							se.printStackTrace(System.out);
					   }
					   catch (java.lang.Exception ex) 
					   {
						 System.out.println( "** Error on create Student table ** " );
						   ex.printStackTrace ();
					   }

	 }
	 //وهذا يقوم بتعديل الاسم لشخص اذا كان فيه اخطاء او ما شابه ذلك عن طريق معرفه القم القومى له
	 else if (e.getSource() ==  jbtUpdate)
	 {

				try
					{

				 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
				 Connection con = DriverManager.getConnection("jdbc:odbc:3mad","", "");
				 Statement stmt = con.createStatement(  );
				 String SQLText;
				 int ResultCode;
					  // UpDate Data
					 SQLText="update Student set   name  ='" + jtfName.getText() + "' where nationalNum  = " + jtfNumber.getText() + " "; 
						ResultCode= stmt.executeUpdate( SQLText );


			   }
							catch (ClassNotFoundException ea) 
						{
						  System.out.println("Unable to load Driver Class");
						  return;
						}

						catch (SQLException se) 
						{
						 System.out.println("SQL Exception: " + se.getMessage(  ));
							se.printStackTrace(System.out);
					   }
					   catch (java.lang.Exception ex) 
					   {
						 System.out.println( "** Error on create Student table ** " );
						   ex.printStackTrace ();
					   }

	 }
	 // وهذا يقوم بحذف بيان كامل من قاعده البيانات عن طريق ادخال الرقم القومى له مع الضغط على زرار حذف
	 else if (e.getSource() ==  jbtDelete)
	 {

				try
					{

				 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
						  Connection con = DriverManager.getConnection("jdbc:odbc:3mad","", "");
						  Statement stmt = con.createStatement(  );
						  String SQLText;
						  int ResultCode;


							//delete Data

						SQLText="delete from Student  where nationalNum =" + jtfNumber.getText() + ""; 
					 ResultCode= stmt.executeUpdate( SQLText );



			   }
							catch (ClassNotFoundException ea) 
						{
						  System.out.println("Unable to load Driver Class");
						  return;
						}

						catch (SQLException se) 
						{
						 System.out.println("SQL Exception: " + se.getMessage(  ));
							se.printStackTrace(System.out);
					   }
					   catch (java.lang.Exception ex) 
					   {
						 System.out.println( "** Error on create Student table ** " );
						   ex.printStackTrace ();
					   }
	 }

   }

   }

ملحوظه البرنامج لا يخرج اى اخطاء البرنامج يوجد فى المرفقات لمذيد من الاطلاع اتمنى ان اجد المساعده , ولكم جزيل الشكر

final_project.rar

#2

ماهي المشكلة التي تواجهك بالضبط؟؟؟

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#3

يا أخ علاء اننى حين اضغط على الزرار اتوقع منه ان يقوم بعمل شئ معين وهو اظهار ما تقوم الكلاس Register بعمله فى نفس المكان

ولكن هذا لايحدث , اذا عملت run للبرنامج سوف تعرف ماذا اقول

البرنامج فى المرفقات فى الموضوع الاصلى

تم تعديل هذه المشاركة بواسطة م/عبدالخالق في 14 يونيو 2009 في 04:15

#4

يجب أن تعرف شيئاً واحداً

أنا أقوم هنا بكل القسم

لو قمت بتجربة كل برنامج يوضع هنا في القسم

لما وجدت شيئاً آخراً أقوم به

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#5

كان الله فى عونك يا اخ علاء........

سأحاول ان اشرح لك مره اخرى

البرنامج خاصتى به اتنين tabe حين اختار الثانيه منهم اقوم بجعل المستخدم بأدخال اسم وباسورد ثم يضغط على زرار الدخول

من المفروض اننى قمت بعمل الاكشن لهذا الزرار بالتأكد من الاسم والباسورد وفى حال كانت صحيحه يتم استعداء الكونستركتور للكلاس التى اسمها register وهى تقوم برسم بنال معين

ومن المفروض ان هذا يظهر فى نفس التاب ولكن هذا لا يحدث , اعتقد ان الخطأ عندى فى الاكشن نفسه

هذا هو الاكشن للزرار

<span class="postcolor"><span style="font-family: Times New Roman;"><span style="font-size: 14pt; line-height: 100%;">	 public void actionPerformed(ActionEvent e)
	  {
		  if(e.getSource()==jbt)
		  {
			  ObjectInputStream in=null;
			  Password s=null;
			  s=new Password("zeita","5077255");
			  s.writePassword();
			try
			  {
				  in=new ObjectInputStream(new FileInputStream("Password.dat"));
				  s= (Password)in.readObject();
					 if(s.getName().equals(t.getText()))
					 {
						if((s.getPassword()).equals(new String(tp.getPassword())))
						 {

							 new Register();

						 }
						 else
							 JOptionPane.showMessageDialog(this,"خطأ"
								 ,"INCORRECT PASSWORD",JOptionPane.INFORMATION_MESSAGE);
					 }
					 else
					 {
							 JOptionPane.showMessageDialog(this,"خطأ"
								 ,"INCORRECT USER NAME",JOptionPane.INFORMATION_MESSAGE);			
					 }
					 in.close();
			  }
			  catch(Exception ex)
			  {
			  }
		  }		
	  }</span></span></span>

وهذا هو الكونستركتور للداله التى يتم استدعائها

<span class="postcolor"><span style="font-family: Times New Roman;"><span style="font-size: 14pt; line-height: 100%;">import java.awt.*;
  import java.awt.event.*;
  import javax.swing.*;
  import javax.swing.border.*;
  import java.sql.*;



  // Register student panel
  class Register extends JPanel implements ActionListener
  {
	// Button for registering a student
	private JButton jbtAdd,jbtUpdate,jbtDelete;


	 JTextField jtfName = new JTextField(32);
	JTextField jtfNumber = new JTextField(6);
	JTextField jtfAddress = new JTextField(6);
	JTextField jtfDate = new JTextField(6);
	JTextField jtfType = new JTextField(6);
	JTextField jtfReligion = new JTextField(6);
	JTextField jtfJob = new JTextField(6);


	// Create a student panel
	// Constructor
  <font color="#ff0000">  public Register()
	{



	  // Panel p to hold four navigator buttons
	  JPanel p = new JPanel();
	  p.setLayout(new FlowLayout(FlowLayout.CENTER));
	  p.add(jbtDelete = new JButton("حذف"));
	  p.add(jbtUpdate = new JButton("تعديل"));
	  p.add(jbtAdd = new JButton("اضافة"));

	  JPanel p1 = new JPanel();
	  p1.setLayout(new FlowLayout(FlowLayout.CENTER));

	  p1.add(jtfNumber=new JTextField(12));
	  p1.add( new JLabel("الرقم القومى"));
	  p1.add(jtfName=new JTextField(24));
	  p1.add(new JLabel("الاسم"));

	  JPanel p2 = new JPanel();
	  p2.setLayout(new FlowLayout(FlowLayout.RIGHT));

	  p2.add(jtfDate=new JTextField(10));
	  p2.add( new JLabel("تاريخ الميلاد"));
	  p2.add(jtfAddress=new JTextField(20));
	  p2.add( new JLabel("محل الاقامة"));

	  JPanel p3 = new JPanel();
	  p3.setLayout(new FlowLayout(FlowLayout.RIGHT));
	  p3.add(jtfJob=new JTextField(8));
	  p3.add( new JLabel("المهنة"));
	  p3.add(jtfReligion=new JTextField(8));
	  p3.add( new JLabel("الديانة"));
	  p3.add(jtfType=new JTextField(8));
	  p3.add( new JLabel("النوع"));

	   JPanel p4=new JPanel ();
	  p4.setLayout(new GridLayout(3,1));
	  p4.add(p1);
	  p4.add(p2);
	  p4.add(p3);

	  // Add studentPanel and jbtRegister in the panel
	  setLayout(new BorderLayout());

	  add(p4, BorderLayout.CENTER);
	  add(p, BorderLayout.SOUTH);



	  // Register listener
	  jbtAdd.addActionListener(this);
	  jbtUpdate.addActionListener(this);
	  jbtDelete.addActionListener(this);</font>  

	}</span></span></span>

اتمنى ان تكون الصوره اتضحت هكذا

#6

أخ عبد الخالق Register class عبارة عن JPanel

بمعنى أنك يجب أن تضيفها إلى JFrame كي تظهر

بينما أنت قمت بإنشاء كائن منها فقط

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

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