我试图创建一个异常,抛出对话框并停止用户调整任何小于(250,350)的jframe的大小,但我没有这样做的运气。异常停止jframe从调整大小
所以我的问题是,如果我有一个Jframe
窗格的设置大小800,500.我可以创建一个异常,当用户试图使jframe小于一定的大小时,它停止在这个大小并显示一条错误消息?
我试图创建一个异常,抛出对话框并停止用户调整任何小于(250,350)的jframe的大小,但我没有这样做的运气。异常停止jframe从调整大小
所以我的问题是,如果我有一个Jframe
窗格的设置大小800,500.我可以创建一个异常,当用户试图使jframe小于一定的大小时,它停止在这个大小并显示一条错误消息?
请勿创建例外。当用户将窗口大小调整为小于(250,350)的任何大小时,创建一个动作侦听器,以JOptionPane对话框的形式抛出错误消息。
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.Timer;
public class Resize {
Resize(){
final JFrame frame = new JFrame();
frame.setBounds(100, 50, 500, 500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
frame.getContentPane().setBackground(Color.white);
frame.setVisible(true);
ActionListener al = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(frame.getSize().width <250 || frame.getSize().height <350)
{
JOptionPane.showMessageDialog(null, "Size cannot be smaller than 250,350");
frame.setSize(500, 500);
}
}
};
Timer t = new Timer(1000, al);
t.start();
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new Resize();
}
}
如果你不太忙,我很乐意为你添加代码,谢谢 – steven
@steven希望这能为你解决问题:) –
不要这样做,例外,这是愚蠢的。有摆动的现有功能,您可以设置一个最小尺寸,而不发明一些头发异常来控制程序流程。 – Qwerky
@steven它是一个方便的提示,让你在SO上取得成功:在发布问题后,接受答案或要求更多答案。谢谢 –