عرض مشاركة واحدة
منتديات طلاب وطالبات جامعة الملك عبد العزيز منتديات طلاب وطالبات جامعة الملك عبد العزيز
قديم 12-03-2011, 08:20 PM   #7

GirlDream

جامعي

الصورة الرمزية GirlDream

 
تاريخ التسجيل: Sep 2010
التخصص: IT
نوع الدراسة: إنتظام
المستوى: السادس
الجنس: أنثى
المشاركات: 50
افتراضي رد: مساعده في الجرافيكس

للبنات اللي بيغون الكود الصحيح هنا .... بس اتمنى تاخذوا الفكره ماله داعي الكبي بيست :)
كود PHP:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;

import java.lang.Object;




public class 
Spirograph extends JPanel implements ActionListener 


          
JLabel label;
      
JLabel r1;
      
JLabel r2;
      
JLabel pin;
      
JButton d;
    
// JPanel panel;
   //  JPanel panel2;
     
JTextField t1;
     
JTextField t2;
      
JTextField p;
     
     
BorderLayout borderLayout;
    
      
int num1=0;
     
int num2=0;
      
int num3=0;
    
    
     

      
//...........Construcot................    
      
     
public Spirograph()
            {        
//........Spirograph label......
                 
label= new JLabel("Spirograph");
              
label.setHorizontalAlignment(JLabel.CENTER);
             
label.setLayout(new FlowLayout()); 
                  
          
add(label);
              
              
//........r1,r2,p label..................
              
r1=new JLabel("raduis 1:");
               
t1 =new JTextField(5);
                   
t1.setActionCommand("text1");
                   
                
t1.addActionListener(this);
               
               
add(r1);
           
add(t1);
               
              
r2=new JLabel("raduis 2:");
               
t2 =new JTextField(5);
                   
t2.setActionCommand("text2");
                   
                
t2.addActionListener(this);
               
add(r2);
              
add(t2);
              
                  
pin=new JLabel("P_Position:");
               
=new JTextField(5);
                   
p.setActionCommand("pin");
                   
                
p.addActionListener(this);
                
add(pin);
                
add(p);
               
               
                  
//.............Draw Button............
             
                 
= new JButton("Draw !!");
                   
d.setActionCommand("d");
                   
                
d.addActionListener(this);
                
add(d);
              
add(label);
    
setPreferredSize(new Dimension(400400));
   
setBackground(Color.white);            
                
              
                
            
    } 
//end of Constructor.....
    
             //Message handlers - don't worry too much at this stage.
    
public void actionPerformed(ActionEvent e)
    {       
        if ((
e.getActionCommand()).equals("d"))
        {  
         
            
             
    if(!
t1.getText().equals(""))
            
num1=Integer.valueOf(t1.getText());
            
            
            if(!
t2.getText().equals(""))
                
num2=Integer.valueOf(t2.getText());
                
                if(!
p.getText().equals(""))
                
num3=Integer.valueOf(p.getText());
                
                
        
            
JPanel    panel2=new SpiroPanel(num1,num2,num3);
            
             
add(panel2);
             
label.setText("---");
             
        
             
             
            
//    repaint();
        
}}
        
         
                  
           
                
    
     
     
     
    public static 
void main(String[]args)
    { 
        
JFrame frame= new JFrame();
        
frame.setTitle("draw Spirograph" );
        
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
//     frame.setLayout(null); 
    
       
Spirograph panel =new Spirograph();
       
          
frame.getContentPane().add(panel); 
           
        
frame.pack();
       
frame.setVisible(true);
    
    }

    
                        
        }
        
//.......................
 



//....................SpiroPanel..................

 
class SpiroPanel extends JPanel {
 
        
int nump=10000;
        
double x;
        
double r1;
        
double r2;
    
//.........Constructor.......................
    
public SpiroPanel(int num1,int num2,int num3) {
    
//    setPreferredSize(new Dimension(400,400));
    //    setBackground(Color.white);
    
        
r1=num1;
        
r2=num2;
        
x=num3;
        
        
setPreferredSize(new Dimension(400,400));
        
setBackground(Color.white);
        
   
        
    
    }
               
              
    
    
//..........PaintComponent..................
    
    
public void paintComponent(Graphics g)
    {
        
super.paintComponent(g);
        
Graphics2D g2 = (Graphics2Dg
                
    
g2.translate(200,200);
    
int x1=(int)(r1+r2-x);
    
int y1=0;
    
int x2,y2;
    for(
int i=0;i<nump;i++)
    {
double s=i*Math.PI/90;
    
x2=(int)((r1+r2)*Math.cos(s)-x*Math.cos((r1+r2)*s/r2));
    
y2=(int)((r1+r2)*Math.sin(s)-x*Math.sin((r1+r2)*s/r2));
    
g2.drawLine(x1,y1,x2,y2);
    
x1=x2;
    
y1=y2;
    }
    }
 } 

 

توقيع GirlDream  

 

 

GirlDream غير متواجد حالياً   رد مع اقتباس