gpt4 book ai didi

java - 防止水平调整 SWT 窗口的大小

转载 作者:搜寻专家 更新时间:2023-10-31 19:58:32 25 4
gpt4 key购买 nike

是否有 STYLE 位可以应用于我的 shell/对话框以防止水平调整大小?我希望窗口只允许垂直调整大小。

谢谢。

最佳答案

使用ControlListener 捕捉窗口的调整大小事件。如果用户试图改变窗口的宽度恢复它的默认值。

import org.eclipse.swt.events.ControlAdapter;
import org.eclipse.swt.events.ControlEvent;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class TestWindow {

private static int CONST_WIDTH = 200;

public static void main(String[] args) {
Display display = new Display();
final Shell shell = new Shell(display);
shell.setBounds(shell.getBounds().x, shell.getBounds().y, CONST_WIDTH, shell.getBounds().height);
shell.setText("Test");

shell.addControlListener(new ControlAdapter() {

@Override
public void controlResized(ControlEvent e) {
Rectangle rect = shell.getBounds();
if(rect.width != CONST_WIDTH) {
shell.setBounds(rect.x, rect.y, CONST_WIDTH, rect.height);
}
}
});

shell.open();
while(!shell.isDisposed()) {
if(!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
}

关于java - 防止水平调整 SWT 窗口的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4384691/

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