欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java GUI

程序员文章站 2024-01-27 08:18:52
...
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class Main {

    public static void main(String[] args) throws IOException {

        Frame f=new Frame("Myframe");
        //1.设置宽度 高度
        // f.setSize(300,300);

        //2.设置 起始坐标位置 (在屏幕上的起始位置)
        // f.setLocation(500,150);

        //3.设置 起始坐标位置 和 宽度 高度
        f.setBounds(500,150,300,300);

        //4.设置布局
        // 这里我用的默认的一种布局(流式布局)
        f.setLayout(new FlowLayout());

        //5.创建一个按钮并且添加到框体中
        Button but=new Button("神奇的按钮");
        //添加点击事件
        /*
        but.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("按钮点击了!");
            }
        });
        */
        f.add(but);

        //6.创建窗口事件
        // 我只添加了 关闭的事件 具体可以 查看我的博客 GUI窗口事件
        f.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                f.dispose();
            }
        });

        //7.文本框
        TextField tf=new TextField(15);
        f.add(tf);

        //8.鼠标事件
        // 详细可以查看我的博客 GUI鼠标事件
        but.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                if(tf.getText().equals(""))
                tf.setText("哈哈哈");
                else tf.setText("");
            }
        });

        //9.键盘事件
        // 详细知道里面3个方法 可以查看我的博客
        tf.addKeyListener(new KeyAdapter() {
            public void keyPressed(KeyEvent e) {
                //super.keyPressed(e);
                //获取建的code 和 char
                System.out.println(e.getKeyCode()+" "+e.getKeyChar());
                //如何获取组合键 例如获取 Alt+Shift+M
                if(e.isShiftDown()&&e.isAltDown()&&(e.getKeyCode()==77))
                {
                    System.out.println("Alt+Shift+M!");
                }
            }
        });
        

        //将这个框体设置可见
        f.setVisible(true);
    }

}