pack()方法:将容器调整到最佳大小


绝对定位:设为null,即setLayout(null);,向容器中添加组件时,先调用setBounds()或setSize()来设置组件的大小、位置,然后再将组件添加到容器中。
绝对定位简捷、灵活,但是该界面将不能跨平台使用;
BoxLayout通常和Box容器结合使用;


Dialog
如果主程序需要对话框里接收的输入值,则应该把该对话框设置为模式对话框,因为模式对话框会阻塞该程序;如果把对话框设置为非模式对话框,则可能造成对话框被打开了,但用户并没有操作该对话框,也没有向对话框里进行输入,这就会引起主程序异常。


FileDialog 文件对话框
new FileDialog(parent, title, mode); 其中mode可以为FileDialog.LOAD或FileDialog.SAVE,决定是打开文件或保存文件对话框。
FileDialog不能指定为模式或非模式的,因为FileDialog依赖于运行平台的实现,如果运行平台的文件对话框是模式的,那么 FileDialog也是模式的,否则就是非模式的。


 事件适配器:
程序自己的监听器无须实现监听接口里的每个方法,只需要重写自己感兴趣的方法。


一般使用匿名内部类实现监听器:


AWT菜单
MenuBar   Menu   MenuItem
快捷方式: MenuShortcut ms = new MenuShortcut();
MenuItem  exitItem = new MenuItem("退出",new MenuShortcut(KeyEvent.VK_X));//快捷方式
MenuItem commentItem = new MenuItem("注释",new MenuShortcut(KeyEvent.VK_SLASH,true));//快捷方式
PopupMenu pop = new PopupMenu(); //右键菜单
setMenuBar(mb); //JFrame自带的setMenuBars
CheckboxMenuItem autoWrap = new CheckboxMenuItem("自动换行");//自动换行,用带checkbox形式的MenuItem实现


在AWT中绘图
Graphics类
Canvas类 作为绘图的画布