公司做网站需要哪些步骤,客户端建站,太月星网站建设,河北邯郸信息港GUI简介 GUI#xff1a;图形用户界面#xff0c;在计算机中采用图形的方式显示用户界面 java的GUI开发
AWT#xff1a;java最早推出的GUI编程开发包#xff0c;界面风格跟随操作系统SWT#xff1a;eclipse就是java使用SWT开发的Swing#xff1a;在AWT的基础上扩充了功能…GUI简介 GUI图形用户界面在计算机中采用图形的方式显示用户界面 java的GUI开发
AWTjava最早推出的GUI编程开发包界面风格跟随操作系统SWTeclipse就是java使用SWT开发的Swing在AWT的基础上扩充了功能可以在不同操作系统重保持统一风格JavaFxJava官方推出的新一代GUI编程开发包
第一个Swing窗口
java可以写用户界面本质就是调用各种写好了的API
package swing;import javax.swing.*;public class Main {public static void main(String[] args) {//其实本质就是调用APIJFrame frame new JFrame(我是一个窗口);frame.setBounds(300, 300, 400, 400);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);}
}Swing的常用组件 编写MyFram类
package swing;import javax.swing.*;
import java.awt.*;public class MyFrame extends JFrame {public MyFrame(){super(简单的计算窗口);//其实本质就是调用APIsetBounds(300, 300, 400, 400);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 从左到右水平排列setLayout(new FlowLayout(FlowLayout.LEFT, 20, 20));Font font new Font(微软雅黑, Font.PLAIN, 18);// 文本输入框JTextField tf1 new JTextField(5);tf1.setFont(font);add(tf1);//文本标签JLabel addLabel new JLabel();addLabel.setFont(font);add(addLabel);// 文本输入框JTextField tf2 new JTextField(5);tf1.setFont(font);add(tf2);//文本标签JLabel equalLabel new JLabel();addLabel.setFont(font);add(equalLabel);//文本标签JLabel resultLabel new JLabel(?);resultLabel.setFont(font);add(resultLabel);// 按钮JButton btn new JButton(计算);btn.setFont(font);//点击按钮设置监听btn.addActionListener((evt) -{try { //异常机制防止不合理的输出导致程序崩溃的问题int n1 Integer.parseInt(tf1.getText());int n2 Integer.parseInt(tf2.getText());resultLabel.setText(n1 n2 );} catch (Exception e){int w 300;int h 100;int x getX() (getWidth() w) 1;int y getY() (getHeight() h) 1;JDialog dialog new JDialog(this, true); // modal窗口的概念弹出子窗口父窗口不能再点击dialog.setTitle(警告);dialog.setBounds(x, y, w, h);dialog.setResizable(false); //不能改变大小JLabel label new JLabel(请输入正确格式的整数);label.setFont(font);dialog.add(label);dialog.setVisible(true);}});add(btn);}
}
在Main中创建MyFram对象并执行显示方法
package swing;import javax.swing.*;
import java.awt.*;public class Main {public static void main(String[] args) {MyFrame myFrame new MyFrame();myFrame.setVisible(true);}
}效果展示
输入合法数据可以进行计算 输入不合法数字按钮进行监听给出警告此外还有一些细节弹出警告框之后不能再点击父窗口警告窗口不能改变大小
java程序的运行过程 .class文件 JAR JAR ,全称Java Archive,使用ZIP文件格式来打包 将自己的代码分享给他人
直接分享.java文件注意文件第一行导包路径问题开源将相关的.class文件打包成一个.jar文件其实就是一个压缩包后分享出去不开源可以对JAR包进行数字前面防止内容被恶意篡改
idea中jar包的导出与导入
java导出jar包的步骤本质是调用了JDK bin目录中的jar.exe File-Project Structure-artifacts-点击“”按钮-JAR-“From modules with dependence” 然后点击OK runable_jar
在Swing组件中写的计算器功能程序现在想将其变成一个可执行文件用户点击之后就可以直接使用
双括号初始化
相较于传统初始化优点在于代码更加简洁
import java.awt.*;
import java.io.PrintStream;
import java.util.ArrayList;public class Main {public static void main(String[] args) {
// ArrayListInteger list new ArrayList();
// list.add(11);
// list.add(22);
// System.out.println(list);//双括号写法ArrayListInteger list new ArrayListInteger(){{add(11);add(22);}};System.out.println(list);}
}控制台输出
[11, 22]