marți, 5 iunie 2012

Desene

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JComboBox;
import javax.swing.JFrame;

import java.awt.*;

@SuppressWarnings("serial")
public class Ascultator extends JFrame implements  ActionListener {
    CoboBoxExemplu box;
      PlansaDesenare plansa;
   
    public Ascultator(CoboBoxExemplu b)
    {
        box=b;
    }
   
     public void actionPerformed(ActionEvent e)
        {
       
            JComboBox cb = (JComboBox)e.getSource();
            String figNume = (String)cb.getSelectedItem();
            @SuppressWarnings("unused")
            Graphics g=CoboBoxExemplu.frame.getGraphics();    
            
            System.out.println(figNume);
          
         
        
           if(figNume.equals("Linie"))
            {  
             
            PlansaDesenare.fig=0;
           
            plansa=new PlansaDesenare();
           CoboBoxExemplu.contentPane.add(plansa);
           plansa.repaint();
           plansa.validate();
             
            }
           
                if(figNume.equals("Cerc"))
                {
                    PlansaDesenare.fig=1;
                    plansa=new PlansaDesenare();
                    plansa.repaint();
                    CoboBoxExemplu.contentPane.add(new PlansaDesenare());
               
                }   
               
                    if(figNume.equals("Patrat"))
                     {
                        PlansaDesenare.fig=2;
                        plansa=new PlansaDesenare();
                        CoboBoxExemplu.contentPane.add(new PlansaDesenare());
                        plansa.validate();
                    }   
      
                      if(figNume.equals("Dreptunghi"))
                       {
                          PlansaDesenare.fig=3;
                          plansa=new PlansaDesenare();
                           CoboBoxExemplu.contentPane.add(new PlansaDesenare());
                     }   
                      if(figNume.equals("Elipsa"))
                         {
                            PlansaDesenare.fig=4;
                            plansa=new PlansaDesenare();
                            CoboBoxExemplu.contentPane.add(new PlansaDesenare());
                        }   
                    
        }

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

@SuppressWarnings("serial")
public class CoboBoxExemplu extends JPanel {

    String figStrings[]={"Linie","Cerc","Patrat","Dreptunghi","Elipsa"};
    JComboBox comboBox;
    JPanel panel;
    static JFrame frame;
    static Container contentPane;
   
    public CoboBoxExemplu()
    {
        super(new BorderLayout());
       
       
    }
    public void initializare()
    {
        frame=new JFrame("Exemplu");
       
        panel=new JPanel();
       
        panel.setPreferredSize(new Dimension(200,200));
       
        comboBox=new JComboBox(figStrings);
        comboBox.setSelectedIndex(0);
        comboBox.setPreferredSize(new Dimension(220,25));
        contentPane=frame.getContentPane();
        contentPane.add(new PlansaDesenare(),BorderLayout.CENTER);
        panel.add(comboBox);
        contentPane.add(panel,BorderLayout.NORTH);
       
       
       
        Ascultator listener=new Ascultator(this);   
        comboBox.addActionListener(listener);
         frame.pack();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(800,600);
        frame.setVisible(true);
       
        
      
    }
   
    public static void main(String[] args) {
       
        new CoboBoxExemplu().initializare();
    }

}
.............................
import java.awt.*;
@SuppressWarnings("serial")
public class PlansaDesenare extends Canvas {

    Dimension canvasSize=new Dimension(400,400);
    static int fig=0;
    public PlansaDesenare()
    {
        repaint();
    }
   
    public  void paint(Graphics g)
    {
        switch(fig)
        {
       
        case 0:
            g.setColor(Color.BLUE);
            g.drawLine(400,0,100,100);
            //repaint();
            break;
        case 1:
            g.setColor(Color.RED);
            g.drawOval(300, 0, 200, 200);
            //repaint();
            break;
        case 2:
            g.setColor(Color.GREEN);
            g.drawRect(300, 0, 200, 200);
            //repaint();
            break;
        case 3:
            g.setColor(Color.MAGENTA);
            g.drawRect(300, 0, 300, 200);
            //repaint();
            break;
        case 4:
            g.setColor(Color.ORANGE);
            g.drawOval(300, 0, 300, 200);
            //repaint();
            break;
           
        }
       
}
   
    public Dimension getMinimumSize()
    {
        return canvasSize;
    }
    public Dimension getPreferredSize()
    {
        return canvasSize;
    }
   
}

Niciun comentariu:

Trimiteți un comentariu