• 0

السلام عليكم , انا انشأت 2 jframe , واحدة لتسجيل الدخول , والثانية لتسجيل حساب جديد , والان اريد الكود الذى يجعل المستخدم اذا ضغط على تسجيل حساب جديد يذهب مباشرة الى صفحة التسجيل

السلام عليكم , انا انشأت 2 jframe , واحدة لتسجيل الدخول , والثانية لتسجيل حساب جديد ,

والان انا اريد الكود  الذى يمكن المستخدم من الضغط على "تسجيل حساب جديد"  ينتقل الى jframe الخاصة ب التسجيل 

انا مبتدئ واستخدم جافا نت بينز 

 

الرجاء الافادة 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 1

وعليكم السلام،

يمكن أن تجعل لكل frame كلاس منفصلة وعند الضغط على زر Signup من خلال كلاس SignupFrame يتم إنشاء new object من كلاس LoginFrame.

العملية ستتم من خلال إضافة ActionListener وبالعربية "مستمع الحدث" للزر المراد إجراء أحداث من خلالة كإظهار صفحة أخرى أو تنفيذ عملية حسابية أو استدعاء دالة أو حفظ معلومات بقاعدة البيانات أو أي شيئ تريد القيام به عند الضغط على هذا الزر.

إذا أردت  شرح ActionListener وطريقة إضافته للزر في Java GUI فستجده في هذا الفيديو بالعربية 

هنا المثال الذي طلبته مطبقاً باللطريقة السابقة 



import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.awt.event.*;
import java.util.*;

 class LoginFrame extends JFrame  {
    private JTextField user,pass;    
    private JLabel userL,passL;
    private JButton ok,cancel;    
    public LoginFrame(){                
        super("Login");
        setBounds(515,210,280,175);
        setLayout(null);
        user = new JTextField();
        pass = new JTextField();
        userL = new JLabel("User Name");
        passL = new JLabel("Password");
        ok = new JButton("Login");
        cancel = new JButton("Cancel");
        ok.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e) {
                 System.exit(0);
            }
        });
        cancel.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e) {
               System.exit(0);
            }
        });                  
        add(user);
        add(pass);
        add(userL);
        add(passL);
        add(ok);
        add(cancel);
        userL.setBounds(20, 10, 120,30);  user.setBounds(140, 10, 120,30);
        passL.setBounds(20, 60, 120,30);  pass.setBounds(140, 60, 120,30);        
        ok.setBounds(30, 110, 100,30);  cancel.setBounds(150, 110, 100,30);        
        setVisible(true);        
    }  
    	
     public static void main (String[] args) {
     	new SignUpFrame();
	}          
}


class SignUpFrame extends JFrame implements ActionListener{     
	JLabel title, idLabel, nameLabel, genderLabel, addressLabel, contactLabel;               
	JTextField idField, nameField, genderField, addressField, contactField;             
	JButton registerButton, exitButton;               
	JRadioButton male, female;           
	ButtonGroup bg;              
	JPanel panel;                              
	                
	String gender = "";                
	        
	DefaultTableModel model;               
	                     
	SignUpFrame() {                               
		setSize(300, 360);                               
		setLayout(null);                                                      
		title = new JLabel("Registration Form");                                
		title.setBounds(60, 7, 200, 30);
		idLabel = new JLabel("ID");
		idLabel.setBounds(30, 50, 60, 30);                                
		nameLabel = new JLabel("Name");                                
		nameLabel.setBounds(30, 85, 60, 30);
		genderLabel =new JLabel("Gender");                               
		genderLabel.setBounds(30, 120, 60, 30);                                
		addressLabel = new JLabel("Address");                                
		addressLabel.setBounds(30, 155, 60, 30);                                
		contactLabel = new JLabel("Contact");                               
		contactLabel.setBounds(30, 190, 60, 30);                                                    
		idField = new JTextField();                                
		idField.setBounds(95, 50, 100, 30);                                                            
		nameField = new JTextField();                                
		nameField.setBounds(95, 85, 100, 30);
		male = new JRadioButton("Male");                          
		male.setBounds(95, 120, 60, 30); 
			                            
		male.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
		    	 gender= "Male";
		 	 }
			});
		
		female = new  JRadioButton("Female");
		female.setBounds(155,120, 70, 30);                       
		
		female.addActionListener(new ActionListener() {
		   public void actionPerformed(ActionEvent e) {
		      gender ="Female";
		   }
		});
		
		bg = new ButtonGroup();
		bg.add(male);
		bg.add(female);
		addressField = new JTextField();
		addressField.setBounds(95, 155, 100, 30);
		contactField = new JTextField();  
		contactField.setBounds(95, 190, 100, 30);         
		exitButton = new JButton("Exit");                          
		exitButton.setBounds(25, 230, 80, 30);                         
		exitButton.addActionListener(this);
		registerButton = new JButton("Register");      
		registerButton.setBounds(110, 230, 100, 30);                      
		registerButton.addActionListener(this);
		add(title);
		add(idLabel);
		add(nameLabel);
		add(genderLabel);
		add(addressLabel);
		add(contactLabel);
		add(idField);
		add(nameField);
		add(male);
		add(female);
		add(addressField);
		add(contactField);
		add(exitButton);
		add(registerButton);                 
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
		setResizable(false); 
		setVisible(true);
	}
	
	public void actionPerformed(ActionEvent ae) {
		if(ae.getSource()==registerButton)new LoginFrame();
		else
		System.exit(0);   
	        }
	   
       
}

بالتوفيق...  

 

تمّ تعديل بواسطة Entesar ElBanna
no reason

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن