Java Swing 开发总结汇总贴

Java Swing 开发总结汇总贴

1. Java GUI 开发思路

a. 程序的编写
IDEA + Swing + JFormDesigner(可视化开发插件)
eclipse + Swing + WindowBuilder(可视化开发插件)
IDEA + JavaFX + SceneBuilder(可视化开发插件)
b. 项目打包封装成exe程序

先在IDE中将项目打包成 jar 包,再通过 exe4j 将 jar 包转换成exe可执行文件

c. 项目发布到GitHub上

其中的一种步骤:

1、在浏览器端登录GitHub账号

2、点击’New Repository’创建一个新的仓库

3、在电脑端打开 git-bash (需要事先在电脑上安装好Git)

4、在终端中通过 cd 命令切换到项目根目录下

5、进行初始化:git init

6、将本目录下的所有文件添加到 git 管理:git add .

7、提交本地仓库:git commit -m “备注”

8、关联到Github上:git remote add origin https://仓库地址

9、将本地代码提交至GitHub:git push -u origin master

2. 监听器Listener的三种写法

通过实际项目来进行说明
Demo类
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Date;

//监听器Listener的三种写法:内部类、匿名内部类、Lambda表达式

/**
 * Demo为自定义类,继承父类JFrame
 * showTime()为自定义函数
 **/
public class Demo extends JFrame 
{
   
    //创建了一个标签类的成员变量label,文本内容显示"00:00:00"
    JLabel label = new JLabel("00:00:00"); //父类的属性,可被内部类访问

    public Demo() {
   
        super();
        //创建并设置容器panel
        JPanel panel = new JPanel();
        this.setContentPane(panel);

        //创建按钮并将其添加到容器panel中
        JButton button1 = new JButton("按钮1");
        panel.add(button1);
        JButton button2 = new JButton("按钮2");
        panel.add(button2);
        JButton button3 = new JButton("按钮3");
        panel.add(button3);

        //将label添加到容器panel中
        panel.add(label);

        //文本框的创建,文本框设置为20个英文字母的宽度,将其添加到容器中
        JTextField textField = new JTextField(20);
        panel.add(textField);
        //文本框显示内容的设置
        textField.setText("Hello World");

        //button1、2、3实现的功能是一样的
        //按钮button1事件-内部类:
        MyActionListener listener = new MyActionListener();
        button1.addActionListener(listener);

        //按钮button2事件-匿名内部类:
        button2.addActionListener(new ActionListener() 
        {
   
            @Override //实现方法
            public void actionPerformed(ActionEvent e) {
   
                showTime();
            }
        });

        //按钮button3事件-lambda表达式:
        button3.addActionListener( (selfDefine) -> {
    showTime(); } );
    }

    //MyActionListener是子类,也是内部类,ActionListener是接口,接口类不直接使用,要派生出一个子类
    private class MyActionListener implements ActionListener 
    {
   
        @Override //实现方法
        public void actionPerformed(ActionEvent e) {
   
            showTime();
        }
    }

    //自定义函数用于显示系统时间
    public void showTime() 
    {
   
        SimpleDateFormat date = new SimpleDateFormat("HH:mm:ss");
        //获取当前系统时间并格式化存储在timeStr中
        String timeStr = date.format(new Date());
        System.out.println(timeStr);
        //标签label文本内容显示字符串timeStr的内容,即显示系统时间
        label.setText(timeStr);
    }
}
main类
import javax.swing.*;

public class main {
   
    //该程序采用Java Swing进行开发,IDE为IntelliJ IDEA 2021.1
    public static void main(String[] args)
    {
   
        //JFrame指一个窗口,构造方法的参数为窗口标题
        JFrame frame  = new Demo(); //多态
        Demo demo = new Demo();
        //设置窗口标题
        frame.setTitle("Demo");
        //设置窗口大小
        frame.setSize(
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值