添加组件的事件监听器,处理componentResized事件,判断resize后的尺寸与设定的最小尺寸的大小,重新设置窗体大小setSize(width,height)组件.addComponentListener( new ComponentAdapter( ){ public void componentResized(ComponentEvent e) { // to do. }
import java.awt.*; import java.awt.event.ComponentAdapter; import java.awt.event.ComponentEvent;import javax.swing.JFrame;public class LimitSize extends JFrame { private static final long serialVersionUID = -4936560385802666005L; public static void main(String args[]) { try { LimitSize frame = new LimitSize(); frame.setVisible(true); } catch(Exception e) { e.printStackTrace(); } } public LimitSize() { super(); setBounds(100, 100, 500, 375); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLayout(new FlowLayout()); setMinimumSize(new Dimension(200, 200));
addComponentListener(new ComponentAdapter(){ public void componentResized(ComponentEvent e) {
if (newDimension.width<mindimension.width) newDimension.width = mindimension.width; if (newDimension.height<mindimension.height) newDimension.height = mindimension.height;
import java.awt.Dimension;import javax.swing.JFrame;public class LimitSize extends JFrame
{
private static final long serialVersionUID = -4936560385802666005L; public static void main(String args[])
{
try
{
LimitSize frame = new LimitSize();
frame.setVisible(true);
}
catch(Exception e)
{
e.printStackTrace();
}
} public LimitSize()
{
super();
setBounds(100, 100, 500, 375);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setMinimumSize(new Dimension(200, 200));
}
}
谢谢各位多多出主意哦!谢谢!
// to do.
}
import java.awt.*;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;import javax.swing.JFrame;public class LimitSize extends JFrame
{
private static final long serialVersionUID = -4936560385802666005L; public static void main(String args[])
{
try
{
LimitSize frame = new LimitSize();
frame.setVisible(true);
}
catch(Exception e)
{
e.printStackTrace();
}
} public LimitSize()
{
super();
setBounds(100, 100, 500, 375);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new FlowLayout());
setMinimumSize(new Dimension(200, 200));
addComponentListener(new ComponentAdapter(){
public void componentResized(ComponentEvent e) {
JFrame frame = (JFrame) e.getComponent();
Dimension newDimension = frame.getSize();
Dimension mindimension = getMinimumSize();
//在resize时判断是否小于最小值,如果小于的话就修改
if (newDimension.width<mindimension.width)
newDimension.width = mindimension.width; if (newDimension.height<mindimension.height)
newDimension.height = mindimension.height;
frame.setSize(newDimension);
} }); }
}
我JDK 1.5下测试OK。