1.GUI(Graphical User Interface 图形用户界面)
所谓GUI 指的是在计算机中采用图形方式展示用户的界面
在GUI之前采用的是字符界面
有了GUI之后 采用的则是图形界面
2.Java的GUI编程方案
常见的有四种
3.Swing
1.实现一个窗口
public class Main{public static void main(String[] args) throws IOException, ClassNotFoundException {// 首先创建一个窗口 并且命名JFrame frame = new JFrame("第一个窗口");// 设置窗口的大小和位置frame.setBounds(300, 300, 400, 400);// 设置窗口关闭以后程序就退出frame.setDefaultCloseOperation(EXIT_ON_CLOSE);// 设置窗口可见性frame.setVisible(true);}
}
2.Swing的常用组件
Swing提供了很多常用的组件 其中紫色的组件位于java.awt包中 绿色的组件位于javax.swing包中
以下是swing中常用的组件预览
接下来我们利用这些组件实现一个小案例:
就是实现以下简单的加法运算 而且要对不合理的输入触发反应
public class MyFrame extends JFrame {// 定义一个构造方法public MyFrame(){// 调用父类的构造方法创建一个窗口super("计算窗口");// 设置窗口的位置和大小setBounds(400, 400, 700, 400);// 设置窗口的关闭后的默认操作 即程序退出setDefaultCloseOperation(EXIT_ON_CLOSE);// 接着我们设置一下窗口的布局方式为流式布局 是从左到右、从上到下进行布局的 可以设置水平间隔和竖直间隔setLayout(new FlowLayout(FlowLayout.LEFT, 20, 20));// 我们可以设置一个字体 去控制之后的字体大小Font font = new Font("微软雅黑", Font.PLAIN, 18);// 接着我们首先添加第一个加数的文本域JTextField tf1 = new JTextField(10);tf1.setFont(font);add(tf1);// 接着我们添加加号所在的文本标签JLabel addLabel = new JLabel("+");addLabel.setFont(font);add(addLabel);// 接着我们添加第二个加数的文本域JTextField tf2 = new JTextField(10);tf2.setFont(font);add(tf2);// 接着我们添加等号所在的文本标签JLabel equalLabel = new JLabel("=");equalLabel.setFont(font);add(equalLabel);// 接着我们添加结果所在的文本标签JLabel resultLabel = new JLabel();resultLabel.setFont(font);resultLabel.setText("?");add(resultLabel);// 接着我们添加一个计算的按钮JButton button = new JButton();button.setFont(font);button.setText("计算");add(button);// 为计算按钮添加监听器button.addActionListener((e) -> {try {int result = Integer.parseInt(tf1.getText()) + Integer.parseInt(tf2.getText());resultLabel.setText(result + "");}catch(Exception a){int w = 500;int h = 100;int x = this.getX() + ((this.getWidth() - w) >> 1);int y = this.getY() + ((this.getHeight() - h) >> 1);// 弹出一个警告窗口 设置弹出以后父窗口就不可以执行点击操作了JDialog dialog = new JDialog(this, true);dialog.setTitle("警告");dialog.setBounds(x, y, w, h);// 还得提示一下输入正确的值JLabel label = new JLabel("请输入正确的整数!!!");label.setFont(font);dialog.add(label);dialog.setVisible(true);}});}
}
public class Main{public static void main(String[] args) throws IOException, ClassNotFoundException {// 展示窗口以及一些组件new MyFrame().setVisible(true);}
}
4.Java程序的运行过程
有一个思考:Java的IDE是如何将我们所编写的Java程序运行起来的呢?
其实就是先将我们所编写的.java源文件编译成.class字节码文件 然后将字节码文件加载到JVM中 通过JVM解析成机器指令(二进制数据)
JDK的bin目录下已经包含了运行Java程序的工具(IDE就是调用了这些工具将Java程序运行起来的)
javac xx.java
编译xx.java为xx.class
java xx
启动JVM 加载xx.class文件