Java JFrame总是在上面,但在另一个JFrame下面?
我的问题是,我有3个不同的JFrame(我不能把3个放在一个里面,因为它们都包括ImageIcons和Mouslisteners)。当我打开程序时,它们正是我想要它们的位置,但是当我在背景中单击JFrame时,它会出现在前景中,而其他人则会移动到背景中 我知道我可以设置JFrame.alwaysOnTop(true),但当我将一个设置在顶部时,另一个正在移动到背景 所以我需要一个类似命令的东西,我可以设置一个JFrame作为背景,一个作为前景,一个作为中间的东西,它不应该通过单击来切换。有人能帮我吗Java JFrame总是在上面,但在另一个JFrame下面?,java,jframe,Java,Jframe,我的问题是,我有3个不同的JFrame(我不能把3个放在一个里面,因为它们都包括ImageIcons和Mouslisteners)。当我打开程序时,它们正是我想要它们的位置,但是当我在背景中单击JFrame时,它会出现在前景中,而其他人则会移动到背景中 我知道我可以设置JFrame.alwaysOnTop(true),但当我将一个设置在顶部时,另一个正在移动到背景 所以我需要一个类似命令的东西,我可以设置一个JFrame作为背景,一个作为前景,一个作为中间的东西,它不应该通过单击来切换。有人能帮
ImageIcon img1 = new ImageIcon(getClass().getResource("/image/x.png"));
ImageIcon img2 = new ImageIcon(getClass().getResource("/image/y.png"));
ImageIcon img3 = new ImageIcon(getClass().getResource("/image/z.png"));
JFrame frame1 = new JFrame();
JFrame frame2 = new JFrame();
JFrame frame3 = new JFrame();
JLabel label1 = new JLabel();
JLabel label2 = new JLabel();
JLabel label3 = new JLabel();
label1.setIcon(img1);
label2.setIcon(img2);
label3.setIcon(img3);
JPanel panel1 = new JPanel();
JPanel panel1 = new JPanel();
JPanel panel1 = new JPanel();
panel1.add(label1);
panel2.add(label2);
panel3.add(label3);
frame1.setContentPane(panel1);
frame2.setContentPane(panel2);
frame3.setContentPane(panel3);
panel1.setBorder(null);
panel2.setBorder(null);
panel3.setBorder(null);
frame1.setVisible(true);
frame2.setVisible(true);
frame3.setVisible(true);
结果是一个全屏背景JFrice,中间有一个大JFrand,在中间JFrAMP的顶部有另一个JFrm。我不想让JFrames改变它们的位置
谢谢大家! 必须将JFrames的“FocusableWindowsState”设置为false
frame1.setFocusableWindowState(false);
frame2.setFocusableWindowState(false);
frame3.setFocusableWindowState(false);
要将一个放置在背景中,另一个放置在前景中,只需将它们按特定顺序设置为可见即可
frame1.setFocusableWindowState(false);
frame2.setFocusableWindowState(false);
frame3.setFocusableWindowState(false);
这样,第一个JFrame将在背景中,第二个在中间,最后一个在前景中
ImageIcon img1 = new ImageIcon(getClass().getResource("/image/x.png"));
ImageIcon img2 = new ImageIcon(getClass().getResource("/image/y.png"));
ImageIcon img3 = new ImageIcon(getClass().getResource("/image/z.png"));
JFrame frame1 = new JFrame();
JFrame frame2 = new JFrame();
JFrame frame3 = new JFrame();
JLabel label1 = new JLabel();
JLabel label2 = new JLabel();
JLabel label3 = new JLabel();
label1.setIcon(img1);
label2.setIcon(img2);
label3.setIcon(img3);
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
JPanel panel3 = new JPanel();
panel1.add(label1);
panel2.add(label2);
panel3.add(label3);
frame1.setContentPane(panel1);
frame2.setContentPane(panel2);
frame3.setContentPane(panel3);
panel1.setBorder(null);
panel2.setBorder(null);
panel3.setBorder(null);
frame1.setFocusableWindowState(false);
frame2.setFocusableWindowState(false);
frame3.setFocusableWindowState(false);
frame1.setVisible(true);
frame2.setVisible(true);
frame3.setVisible(true);
我希望我能帮助你 请不要解释你的代码(假设)在做什么。而是花时间构建一个最小的示例来说明您的问题。