Java界面编程(GUI,AWT)

参考博客:
java图形界面设计(AWT)
Java GUI程序设计的初步上


Hello World

  • 创建一个窗口。

    Frame frame = new Frame("first gui");  // 指定窗口标题
    frame.setLocation(100, 100); // 设置窗口在屏幕上的位置
    frame.setSize(200, 200); // 设置窗口大小
  • 创建五个按钮。

    Button b1 = new Button("b1"); Button b2 = new Button("b2");
    Button b3 = new Button("b3"); Button b4 = new Button("b4");
    Button b5 = new Button("b5");
  • 将这五个按钮按照东西南北中的次序添加进这个窗口中。

    frame.add(b1, "East"); // 东
    frame.add(b2, "West"); // 西
    frame.add(b3, "South"); // 南
    frame.add(b4, "North"); // 北
    frame.add(b5, "Center"); // 中
  • 设置窗口关闭事件,用到了内部类。如果没有设置这个事件的话,点击窗口的关闭按钮默认不会执行任何动作。

    frame.addWindowListener(new WindowAdapter() {
      @Override
      public void windowClosing(WindowEvent e) {
          System.exit(0);
      }
    });
  • 设置窗口为可见属性为真,不然窗口显示不出来

    frame.setVisible(true);


Panel

  • 一个完整的图形界面程序往往包括好几个部分,这时候就需要布局管理器来单独处理各部分的控件了。

  • 创建一个窗口,并设置下布局

    Frame frame = new Frame("second gui");
    frame.setSize(400, 400); // 设置窗口大小
    frame.setLocation(100, 100); // 设置窗口在屏幕上的位置
    frame.setLayout(new GridLayout(2, 2)); // 2x2的布局
  • 创建一个Panel,作为布局的第一部分

    Panel panel1 = new Panel();
    panel1.setLayout(new BorderLayout());
    panel1.add(new Button("East"), "East"); // 东
    panel1.add(new Button("West"), "West"); // 西
    panel1.add(new Button("South"), "South"); // 南
    panel1.add(new Button("North"), "North"); // 北
    panel1.add(new Button("Center"), "Center"); // 中
    frame.add(panel1);
  • 再创建一个Panel

    Panel panel2 = new Panel();
    panel2.setLayout(new FlowLayout());
    panel2.add(new Button("b1"));
    panel2.add(new Button("b2"));
    panel2.add(new Button("b3"));
    panel2.add(new Button("b4"));
    panel2.add(new Button("b5"));
    frame.add(panel2);
  • 再创建两个Panel就可以符合主窗口2x2的布局了,这里就不一一列出代码。设置窗口关闭事件。

    frame.addWindowListener(new WindowAdapter() {
      @Override
      public void windowClosing(WindowEvent e) {
          System.exit(0);
      }
    });
  • 设置窗口为可见属性为真,不然窗口显示不出来

    frame.setVisible(true);


过程感言

  • 以前写界面程序用的一直是微软的.net,不考虑跨平台的话,还是.net好用。跨平台的话不知道Qt对比awt/swt怎么样。
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值