Java JFrame总是在上面,但在另一个JFrame下面?

Java JFrame总是在上面,但在另一个JFrame下面?,java,jframe,Java,Jframe,我的问题是,我有3个不同的JFrame(我不能把3个放在一个里面,因为它们都包括ImageIcons和Mouslisteners)。当我打开程序时,它们正是我想要它们的位置,但是当我在背景中单击JFrame时,它会出现在前景中,而其他人则会移动到背景中 我知道我可以设置JFrame.alwaysOnTop(true),但当我将一个设置在顶部时,另一个正在移动到背景 所以我需要一个类似命令的东西,我可以设置一个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);

我希望我能帮助你

请不要解释你的代码(假设)在做什么。而是花时间构建一个最小的示例来说明您的问题。