1

我想知道如何在设置 JDialog 时使其可调整大小setUndecorated(true);。调整大小可以通过外框来完成。当它不装饰时,没有框架,然后JDialog无法调整大小。当 JDialog 的外框不可用时,如何调整其大小?

4

2 回答 2

2

尚未对此进行测试,但据我所知,您似乎只需要以下方法:

// window reszie event
private void _setUpWindowResizeEvent() {
this.addMouseMotionListener(
new MouseMotionListener() {

public void mouseDragged(MouseEvent mouseEvent) {
if( mHozResizeEnabled || mVerResizeEnabled ) {
int x = mouseEvent.getX();
int y = mouseEvent.getY();
_resizeWindow(
MouseInfo.getPointerInfo().getLocation() );
sticky.setSize( getSize() );
_fireStickyUpdated();
}
}

参考: http ://tech.groups.yahoo.com/group/JPGroup/message/1877

于 2012-08-31T04:43:09.747 回答
2

我假设您的意思是用户如何调整未装饰对话框的大小(作为开发人员,您可以随时调用setSize

可以做到这一点的唯一方法是自己实现逻辑。

这将需要实现MouseListener和监控mousePressed,mouseReleasedmouseDragged事件

您需要考虑到您可能只希望对话框周围的排水沟会触发调整大小(例如 5 像素)。重要的是,此排水沟中没有其他组件,因为它们会覆盖您的鼠标侦听器。

于 2012-08-31T04:38:47.740 回答