gpt4 book ai didi

Java-如何在Jframe中自动移动窗口

转载 作者:行者123 更新时间:2023-12-01 12:22:15 26 4
gpt4 key购买 nike

我的程序有一个小问题:我想及时获得自动移动窗口我有一个代码:

package simpleFrame;
import java.awt.*;
import java.util.TimerTask;
import javax.swing.*;

public class Trololo
{
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{

JFrame frame = new SizedFrame();
frame.setUndecorated(false);
frame.setTitle("SizedFrame");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
System.out.println("About to schedule task.");
new ReminderBeep(5);
System.out.println("Task scheduled.");

}


});
}
}

class SizedFrame extends JFrame
{
public SizedFrame()
{
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension screenSize = kit.getScreenSize();
int screenHeight = screenSize.height;
int screenWidth = screenSize.width;
setSize(screenWidth / 2, screenHeight / 2);
setBounds(500,500,screenWidth/2,screenHeight/2);
}

}



class ReminderBeep {
Toolkit toolkit;
java.util.Timer timer;


public ReminderBeep(int seconds) {
toolkit = Toolkit.getDefaultToolkit();
timer = new java.util.Timer();
timer.schedule(new RemindTask(), seconds * 1000);
}


class RemindTask extends TimerTask {
SizedFrame window = new SizedFrame();
public void run() {
window.setBounds(900,900,500,600);
toolkit.beep();
System.out.println("ok");

}
}}

我有一个可以工作的计时器:它在命令提示符中显示“ok”,但窗口不移动:/如何工作?

最佳答案

在 main() 方法中,创建一个 SizedFrame 并显示它。然后你启动一个计时器。

当计时器触发时,您创建另一个 SizedFrame,但不显示它。然后,您可以在未显示的 SizedFrame 上设置边界。您没有调整所显示的 SizedFrame 的大小。

关于Java-如何在Jframe中自动移动窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26592643/

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