我试图创建一个抛出对话框并阻止用户调整小于 (250, 350) 的 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();
}
}
使用jFrame.setMinimumSize(new Dimension(250, 350));
那么用户没有机会使JFrame
任何小于这个。