Java GUI程序设计

Java GUI程序设计

容器(Container)继承Component类,可以容纳其它组件和容器。
Window:可独立存在的顶级窗口。
Panel:可以容纳其它组件,但要依附于Window或Applet中。
Frame类:有标题,可拖拽改变大小,初始化不可见,使用BorderLayout,设置布局管理器通过方法setLayout设置。


布局管理器分类:
FlowLayout(流式):从左到右到头换行,是Panel和Applet的默认布局,参数FlowLayout.(LEFT/RIGHT/CENTER),靠中对齐,使用组件的理想尺寸。
int hgap,int vgap;   // 水平和垂直象素,默认为5。
public class MyFlowLayout extends Frame{ }  // 生成一个窗体类。
super(" ");  //设置标题。
setLayout(new FlowLayout(FlowLayout.CENTER));   //设置布局管理器。


BorderLayout(边界):分为五个区域,是Frame和Dialog默认布局,如果放入多个Component,后放入的会覆盖前一个。
add(button,BorderLayout.NORTH);    //设置组件位置。


GridLayout(网格):组件放入格子中,从左到右,从上到下(可以用来做计算器的按钮布局)。


CardLayout(卡片式):只能看到最上面的Component。
控制组件方法:first(Container target)/ last(Container target)/ previous(Container target)/ next(Container target)。
getActionCommand()方法用于取比如按钮上的字符。


GridBagLayout(网带)

AWT中画图
创建Canvas类和Panel子类,并覆盖paint方法,每当组件出现时自动调用paint方法。
如:
drawRect(50,50,70,70);  //画矩形  int x,int y,int width,int height
drawRoundRect(110,10,50,30,20,10);    //画圆角矩阵   int x,int y,int width,int height,int arcWidth,int arcHeight

AWTEvent :ActionEvent、TextEvent、ItemEvent 。
ComponentEvent :WindowEvent 。
InputEvent :MouseEvent 。

适配器与内部类(推荐使用)
如:
Frame f = new Frame("TestFrame");
f.addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
            System.exit(0);
      }
});

你可能感兴趣的:(Java GUI程序设计)