gpt4 book ai didi

java - 如何让我的 JFrame 位于屏幕顶部?

转载 作者:行者123 更新时间:2023-12-01 12:42:54 25 4
gpt4 key购买 nike

单击按钮后我将启动 Window2。它不是立即启动,而是在 3 秒后启动。我想要的是将其显示在屏幕顶部。如果 Window1 仍在屏幕上,它会起作用,但如果我最小化 Window1,它会失败。

代码在这里:

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class TopTest {
public static void main(String[] args) {
TopTest test = new TopTest();
test.createUI();
}

public void createUI(){
JFrame frame = new JFrame("Window1");
JPanel panel = new JPanel();
JButton button = new JButton("show");
button.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
Window window = new Window();
try {
Thread.sleep(3000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
window.createUI();
}
});
panel.add(button);
frame.add(panel,BorderLayout.CENTER);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}

class Window {
public void createUI(){
JFrame frame = new JFrame("Window2");
frame.setExtendedState(Frame.MAXIMIZED_BOTH);
frame.add(new MainPanel());
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}

@SuppressWarnings("serial")
class MainPanel extends JPanel{
@Override
public Dimension getPreferredSize() {
// TODO Auto-generated method stub
return new Dimension(800,600);
}

protected void paintComponent(Graphics g){
g.setFont(new Font("Arial", Font.BOLD, 50));
g.drawString("I am Window2", 200, 200);
}
}
}
}

感谢您提前提供的帮助。

最佳答案

将此行添加到 createGUI 方法

frame.setAlwaysOnTop(true);

关于java - 如何让我的 JFrame 位于屏幕顶部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24926093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com