JAVA如何让窗体置于所有应用前面?

我做了一个swing窗体界面,想让他打开后,置于所有应用前面。就像我打开了他又打开了QQ浏览器,他在屏幕中就是一直在QQ浏览器前面,只有最小化,这个可以设置吗?我用.se... 我做了一个swing窗体界面,想让他打开后,置于所有应用前面。就像我打开了他又打开了QQ浏览器,他在屏幕中就是一直在QQ浏览器前面,只有最小化,这个可以设置吗?
我用.setAlwaysOnTop不仅达不到我的效果,连JOptionPane消息提示框都挑不出来了。只有任务管理器结束=-=
展开
 我来答
雪飞潇潇
2017-05-12 · TA获得超过6273个赞
知道大有可为答主
回答量:1968
采纳率:91%
帮助的人:838万
展开全部
  1. 可以使用setAlwaysOnTop(true);实现置顶。

  2. 可以实现只能最小化,不能缩放,通过代码setResizable(false);//禁止缩放来实现

  3. JOptionPane消息提示框的,如果在窗口置顶的情况下,还能弹出来看到,那么就需要设置一个参数,来指定他弹出的父组件。

    比如:JOptionPane.showMessageDialog(组件, "消息.", "标题",JOptionPane.WARNING_MESSAGE);

    这时候的第一个组件参数,不能为null。否则会被置顶的窗口挡住

4.完整代码

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class MyAWTDemo extends JFrame{
public MyAWTDemo() {
Button bt = new Button("=点击按钮,弹出消息框=");
bt.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(bt.getParent(), "消息:java swing...", "消息窗",JOptionPane.WARNING_MESSAGE);
//如果第一个参数是null,那么弹出的消息窗口,很可能就被置顶的窗口JFrame挡住了
//第一个窗口bt.getParent()父组件就是本窗口了,也可以写bt那么父组件就是按钮,都可以显示出来,
//但位置不同。bt.getParent()位于界面中央,更美观一点吧
}
});
add(bt);
setLayout(new FlowLayout());
setTitle("窗口标题");
setSize(300, 200);
setLocationRelativeTo(null);//窗口居中
setAlwaysOnTop(true);//置顶
setResizable(false);//禁止缩放
setDefaultCloseOperation(EXIT_ON_CLOSE);//点击关闭按钮,退出jvm虚拟机
setVisible(true);
}
public static void main(String[] args) {
new MyAWTDemo();
}
}

5.效果图

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式