java - JFrame 总是在最前面

标签 java windows swing jframe

我正在用 Java 编写一个程序,我将 JPanel 用于 界面,但我有一个问题总是最重要的,我不想要这个。我希望当我恢复另一个窗口时,它会在顶部。

我试过:

this.setAlwaysOnTop(false);

但它不起作用,框架始终在顶部继续。

这是一个解决我的问题的简单程序:

import javax.swing.AbstractButton;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.ImageIcon;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;


public class BorrarRegistro extends JPanel
{

     public BorrarRegistro () {
     super(new BorderLayout());

     JLabel insertar= new JLabel("Registro");
     JTextField borrar= new JTextField();
     JButton borrar1= new JButton("Borrar Registro");

     JPanel borrarRegistro= new JPanel(new GridLayout(4,1));
     borrarRegistro.add(insertar);
     borrarRegistro.add(borrar);
     borrarRegistro.add(borrar1); 

     JPanel images= new JPanel(new GridLayout(1,3));


     add(images,BorderLayout.NORTH);
     add(borrarRegistro, BorderLayout.SOUTH);

  }

  private static void createAndShowGUI() {

    //Create and set up the window.
     JFrame frame = new JFrame("ClaseBase ");
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

   // Create and set up the content pane.
     BorrarRegistro newContentPane = new BorrarRegistro ();
    newContentPane.setOpaque(true); //content panes must be opaque
     frame.setContentPane(newContentPane);

   // Display the window.
    frame.pack();
     frame.setVisible(true);

  }

  public static void main(String[] args) {
    //Schedule a job for the event-dispatching thread:
   // creating and showing this application's GUI.
     javax.swing.SwingUtilities.invokeLater(
           new Runnable() {
              public void run() {
                 createAndShowGUI(); 
              }

           });
  }
}

我该如何解决这个问题?

最佳答案

您应该在创建框架时调用 setAlwaysOnTop(false)

private static void createAndShowGUI() {

    //Create and set up the window.
    JFrame frame = new JFrame("ClaseBase ");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    // Create and set up the content pane.
    Test newContentPane = new Test();
    newContentPane.setOpaque(true); //con
    frame.setContentPane(newContentPane);// tent panes must be opaque
    frame.setAlwaysOnTop(false);

    // Display the window.
    frame.pack();
    frame.setVisible(true);

}

关于java - JFrame 总是在最前面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30181453/

相关文章:

java - Android 中的套接字异常

java - 删除 Nimbus 外观和感觉中的 JTabbedPane 边框/分隔线

c# - 检查网络驱动器上是否存在目录

java joptionpane 几秒钟后自动关闭

java - 当JTextArea不可编辑时如何改变它的颜色?

java - <jsp :getProperty> strange behaviour

java - 我无法使用 JSP 文件从 MySQL 数据库检索数据并收到 java.math.BigInteger cannot be cast to java.lang.Long 错误

java - 使用正则表达式从字符串中提取手机号码

windows - 高完整性 token 是否*必须*启用管理员组?

python - 在 Python 中抓取磁盘?