GUI学习

GUI

  • 常用英语

Frame 框架

Panel 面板

container 容器

dialog 对话(弹窗)

content 内容

pane 网格

constants 常量

label 标签(可以放图片image,图标icon)

button 按钮

textfield 输入框

SwingConstants

  • 多用组合,少用继承(减少耦合)
  • 组合
class A{
    
}

class B{
    A a = new A();
    //用a来用A内方法和属性
}
  • 启动类单独只写psvm
  • 其他的写在另一个类,写在启动类下面
public class MouseActionTest {
    public static void main(String[] args) {
        new MyFrame("画图");
    }
}

class MyFrame extends Frame{
    //省
}
  • 多用内部类
  • 内部类可以方便使用外部类的属性和方法,调用简单
class MyFrame extends Frame{
	class MyMouseAction extends MouseAdapter{
        @Override
        public void mousePressed(MouseEvent e) {
            MyFrame myframe = (MyFrame) e.getSource();
            addPoint(new Point(e.getX(),e.getY()));
            repaint();
        }
	}
}
  • 添加监听有两种方法
  • 1继承ActionListener,在继承类中重写方法
  • 2匿名内部类,直接在后面重写方法
addMouseListener(new MyMouseAction());
addWindowListener(new WindowAdapter() {
    @Override
    public void windowClosing(WindowEvent e) {
        System.exit(0);
    }
});
  • 继承某些抽象类或者实现某些接口,如果要重写的方法太多了,可以看看适配器和他的子类

  • 类似(适配器)WindowAdapter实现(接口)WindowListener,需要时只用实现extends适配器,重写需要的方法

  • 三板斧

setVisible(true);
setBounds(1,2,200,300);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  • 绝对路径和相对路径
  • / 根目录
  • ../ 上级目录
  • ./ 当级目录

image-20240429213521816

posted @ 2025-04-22 22:07  学习java的白菜  阅读(29)  评论(0)    收藏  举报