bogdans_niezalogowany napisał(a)
Zamień JButton na JFrame i zobacz czy ci się przyda
/* Przyciski umieszczono w pięciu warstwach
* Po kliknięciu wywoływana jest metoda moveToFront()
* Jak widać działa tylko ona tylko w zakresie jednej warstwy
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class WarstwyPrzyciskow extends JFrame implements ActionListener
{
private JLayeredPane lp=null;
//------------------------
public static void main(String[] args)
{
new WarstwyPrzyciskow();
}
//------------------------
public WarstwyPrzyciskow()
{
super("Okno warstwowe");
lp=getLayeredPane();
getContentPane().setBackground(Color.white);
int x=10,y=10;
for (int i=1;i<=5;i++)
{
JButton b=new JButton("Warstwa "+i);
b.setHorizontalAlignment(JButton.CENTER);
b.setVerticalAlignment(JButton.TOP);
b.setBounds(x,y,150,100);
b.addActionListener(this);
lp.add(b,new Integer(i));
x+=30;
y+=30;
}
JButton b=new JButton("Warstwa 5");
b.setHorizontalAlignment(JButton.RIGHT);
b.setVerticalAlignment(JButton.BOTTOM);
b.setBounds(x+50,y,100,100);
b.addActionListener(this);
b.setBackground(Color.yellow);
lp.add(b,new Integer(5),1);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400,300);
setVisible(true);
}
//------------------------
public void actionPerformed(ActionEvent e)
{
JComponent komponent=(JComponent) e.getSource();
lp.moveToFront(komponent);
}
}
Niestety tak łatwo nie ma. W ten sposób już próbowałem.