اذهب إلى المحتوى

السؤال

نشر

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

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

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

 

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

Recommended Posts

  • 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

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...