gpt4 book ai didi

java - 如何重新定位小程序查看器窗口?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:18:32 24 4
gpt4 key购买 nike

使用Eclipse 制作java Applet。每次从 IDE 运行它时,applet 查看器都会显示在左上角 (0,0) 处。如何在开发过程中以编程方式将其更改为屏幕中间?我知道在浏览器中部署时,我们无法从小程序内部更改窗口,因为 html 决定了位置。

最佳答案

与其他张贴者相比,我认为这是一个毫无意义的练习,并且更喜欢他们关于制作混合应用程序/小程序以使开发更容易的建议。

OTOH - “我们拥有技术”。小程序查看器中小程序的顶层容器一般是一个Window。获取对此的引用,然后您可以将其设置在您希望的位置。

试试这个(恼人的)小例子。

// <applet code=CantCatchMe width=100 height=100></applet>
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Random;

public class CantCatchMe extends JApplet {

Window window;
Dimension screenSize;
JPanel gui;
Random r = new Random();

public void init() {
ActionListener al = new ActionListener() {
public void actionPerformed(ActionEvent ae) {
moveAppletViewer();
}
};
gui = new JPanel();
gui.setBackground(Color.YELLOW);
add(gui);

screenSize = Toolkit.getDefaultToolkit().getScreenSize();
// change 2000 (every 2 secs.) to 200 (5 times a second) for REALLY irritating!
Timer timer = new Timer(2000, al);
timer.start();
}

public void start() {
Container c = gui.getParent();
while (c.getParent()!=null) {
c = c.getParent();
}
if (c instanceof Window) {
window = (Window)c;
} else {
System.out.println(c);
}
}

private void moveAppletViewer() {
if (window!=null) {
int x = r.nextInt((int)screenSize.getWidth());
int y = r.nextInt((int)screenSize.getHeight());
window.setLocation(x,y);
}
}
}

关于java - 如何重新定位小程序查看器窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10600712/

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