Re: JPanels on Layered Pane don't appear where i want.
/*I set the frame using setBounds() method. Is it posible to use
layout to set frame position? And if so, how to do it.
WORKING CODE: */
package grafika;
import javax.swing.*;
import java.awt.*;
public class Menu extends JPanel
{
private static JFrame frame;
private JLayeredPane layeredPane;
private JPanel panelMenu;
private static final int SCREEN_WIDTH=600, SCREEN_HEIGHT=600;
private int rozmiarPanela;
public Menu() {
layeredPane = new JLayeredPane();
layeredPane.setPreferredSize(new Dimension(SCREEN_WIDTH,
SCREEN_HEIGHT));
rozmiarPanela = 600;
Point origin = new Point(0, 0);
panelMenu = createColoredPanel(origin);
layeredPane.add(panelMenu, new Integer(4),0);
this.add(layeredPane);
}
private JPanel createColoredPanel(Point origin){
JPanel panel =new JPanel(new GridBagLayout());
panel.setOpaque(true);
panel.setVisible(true);
panel.setBackground(Color.black);
panel.setBounds(origin.x, origin.y-5, rozmiarPanela , rozmiarPanela);
return panel;
}
private static void createAndShowGUI() {
//Create and set up the window.
frame = new JFrame("LayeredPaneDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Create and set up the content pane.
JComponent newContentPane = new Menu();
newContentPane.setOpaque(true); //content panes must be opaque
frame.setContentPane(newContentPane);
//ramka bez paska gornego
frame.setUndecorated(true);
//Display the window.
frame.pack();
frame.setBounds(200,100,SCREEN_WIDTH,SCREEN_HEIGHT);
frame.setVisible(true);
frame.setResizable(false);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
try {
JFrame.setDefaultLookAndFeelDecorated(true);
} catch (Exception ex) {
ex.printStackTrace();
}
createAndShowGUI();
}
});
}
}