Re: JPanels on Layered Pane don't appear where i want.
Kgbol wrote:
/*I set the frame using setBounds() method. Is it posible to use
layout to set frame position?
It is possible to use setBounds to set the frame position,
but not recommended. In a 'well behaving' GUI, simply
pack() the frame to get its ideal size, then call setLocation
to put it a particular place on-screen.
Here is a tweaked version of the code that does not
show the gap of the earlier version.
<sscce>
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);
panel.setPreferredSize(
new Dimension(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();
//content panes must be opaque
newContentPane.setOpaque(true);
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);
frame.pack();
}
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();
}
});
}
}
</sscce>
..oh, and please also do not post 'unindented' code.
It is best to replace 'tab' characters with a few spaces,
and to break long lines, but otherwise leave the code
so it is easy to read and follow.
There are a couple of more tips you might also use
when posting code examples, that are mentioned in
the SSCCE document. Please read it.
Also, if you speak good English (your English seems
fine), most people would prefer member (class, method
and attribute) names, as well as comments, in English.
I can assure you that "ramka bez paska gornego"
means nothing to me, as does 'rozmiar'..
--
Andrew Thompson
http://www.athompson.info/andrew/
Message posted via JavaKB.com
http://www.javakb.com/Uwe/Forums.aspx/java-setup/200706/1