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