java大小调整方法
您能告诉我在手动调整JFrame/JDialog的大小后,会调用哪些方法吗? (当框架在屏幕上可见时,使用鼠标光标调整其大小后)。我注意到我的JDialog无效,尽管我调用了java大小调整方法,java,swing,methods,resize,jcomponent,Java,Swing,Methods,Resize,Jcomponent,您能告诉我在手动调整JFrame/JDialog的大小后,会调用哪些方法吗? (当框架在屏幕上可见时,使用鼠标光标调整其大小后)。我注意到我的JDialog无效,尽管我调用了validate()或revalidate(),但当我稍微调整它的大小后,我的框架就变得有效了。我想是的 用于接收组件事件的侦听器接口。当 组件的大小、位置或可见性更改,以及相关方法 在侦听器中,调用对象,并将ComponentEvent传递给 它 例如: public class MyFrame extends JFram
validate()
或revalidate()
,但当我稍微调整它的大小后,我的框架就变得有效了。我想是的
用于接收组件事件的侦听器接口。当
组件的大小、位置或可见性更改,以及相关方法
在侦听器中,调用对象,并将ComponentEvent传递给
它
例如:
public class MyFrame extends JFrame implements ComponentListener {
@Override
public void componentResized(ComponentEvent e) {
// re compute?
repaint();
}
}
有了这段代码,我可以调整3张桌子的宽度和高度
container.addControlListener(new ControlAdapter() {
@Override
public void controlResized(ControlEvent e) {
tableJobs.setBounds(20, 143,container.getBounds().width-40, container.getBounds().height-20);
tableMessages.setBounds(20, 143,container.getBounds().width-40, container.getBounds().height-20);
tableSplfs.setBounds(20, 143,container.getBounds().width-40, container.getBounds().height-20);
}
});
你的问题不清楚。“框架生效”是什么意思?此外,如果您可以提供SSCCEA,我知道您希望使您的JDialog有效,因为它在调整大小后变得有效。看看这个关于验证o JComponent的线程:变得有效意味着frame.isValid()返回true。。。我不认为这是如此含糊不清。听起来好像你没有显示的代码有问题。。。通常,验证是自动处理的,不需要。。。如果需要,通常会自动处理重绘