joi, 24 decembrie 2009

Versiune usor diferira la modelul cu JLayeredPane

//Se foloseste constructorul de la JLayeredPane cu parametrul numar Integer in locul
//valorilor predefinite MODAL,PALLETE,POPUP.... sunt echivalente cu folosirea DEFAULT
//astfel se permite folosirea unui numar de <> componente intr-un Layer
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Layered
{
public static void main()
{
Layered gui=new Layered();
gui.go();
};
JButton buton;
int flag=0;
JLayeredPane layer;
JFrame frame;
JButton b1;
JButton b2;
JButton b3;
JLabel label;
public void go()
{
frame=new JFrame();
JLabel label2=new JLabel("Modal");
layer=new JLayeredPane();
label=new JLabel("Nimic");

b1=new JButton("1");
b2=new JButton("2");
b3=new JButton("3");

b1.setBackground(Color.cyan);
b2.setBackground(Color.magenta);
b3.setBackground(Color.lightGray);
label2.setBackground(Color.blue);

b1.setOpaque(true);
b2.setOpaque(true);
b3.setOpaque(true);
label2.setOpaque(true);


b1.setBounds(0,0,100,100);
b2.setBounds(30,30,100,100);
b3.setBounds(60,60,100,100);
label2.setBounds(80,80,100,100);

layer.add(b1,new Integer(10));
layer.add(b2,new Integer(9));
layer.add(b3,new Integer(8));
layer.add(label2,JLayeredPane.PALETTE_LAYER);
//Daca se foloseste DEFAULT_LAYER va fi suprapus de catre celelate componente

buton=new JButton("1<->2<->3");

frame.add(layer,BorderLayout.CENTER);
frame.add(buton,BorderLayout.SOUTH);
frame.getContentPane().add(label,BorderLayout.NORTH);

frame.setSize(300,300);
frame.setVisible(true);

buton.addActionListener(new List());
}
class List implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
flag++;
if(flag==1)//buton 1 in fata
{
label.setText("1,2,3 falg=1");
layer.setLayer(b1,new Integer(10));
layer.setLayer(b2,new Integer(9));
layer.setLayer(b3,new Integer(8));
}
else
if(flag==2)
{
label.setText("1,3,2 falg=2");
layer.setLayer(b1,new Integer(10));
layer.setLayer(b3,new Integer(9));
layer.setLayer(b2,new Integer(8));
}
else
if(flag==3)
{
label.setText("2,1,3 falg=3");
layer.setLayer(b2,new Integer(10));
layer.setLayer(b1,new Integer(9));
layer.setLayer(b3,new Integer(8));
}
else
if(flag==4)
{
label.setText("2,3,1 falg=4");
layer.setLayer(b2,new Integer(10));
layer.setLayer(b3,new Integer(9));
layer.setLayer(b1,new Integer(8));
}
else
if(flag==5)
{
label.setText("3,1,2 falg=5");
layer.setLayer(b3,new Integer(10));
layer.setLayer(b1,new Integer(9));
layer.setLayer(b2,new Integer(8));
}
else
if(flag==6)
{
label.setText("3,2,1 falg=6");
layer.setLayer(b3,new Integer(10));
//layer.setLayer(b2,new Integer(10));
//layer.setLayer(b1,new Integer(10));
layer.setLayer(b2,new Integer(9));
layer.setLayer(b1,new Integer(8));
flag=0;
JOptionPane.showMessageDialog(frame, "Ati ajuns la final");
}

}
}
}

Niciun comentariu:

Trimiteți un comentariu