我想知道如何在设置 JDialog 时使其可调整大小setUndecorated(true);
。调整大小可以通过外框来完成。当它不装饰时,没有框架,然后JDialog无法调整大小。当 JDialog 的外框不可用时,如何调整其大小?
问问题
1388 次
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
,mouseReleased
和mouseDragged
事件
您需要考虑到您可能只希望对话框周围的排水沟会触发调整大小(例如 5 像素)。重要的是,此排水沟中没有其他组件,因为它们会覆盖您的鼠标侦听器。
于 2012-08-31T04:38:47.740 回答