打赏一点钱,帮我买包辣条,继续创作,谢大家!

本程序的主要功能是实现一个JFrame窗口,窗口中有两个JButton按钮,并且鼠标点击按钮,会有触发事件。
下面直接上JAVA代码

import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;//使用Swing类,必须引入Swing包
import javax.swing.JFrame;
//ctrl +  1 回车
//监听器----- 用来处理事件的  事件处理程序  //由于获取事件监听时需要获取实现ActionListener接口的对象
class MyListener implements ActionListener{//定义内部类实现ActionListener接口@Overridepublic void actionPerformed(ActionEvent e) {//重写actionPerformed()方法System.out.println("a clicked");}
}
public class DemoButton {public static void main(String[] args) {JFrame f =new JFrame("图形化界面");//定义一个窗体对象ff.setSize(800,500);//窗体屏幕长和宽f.setLocationRelativeTo(null);//窗口置于屏幕中央//f.setLocation(300, 300);//窗口位置//f.setResizable(false);//设置窗体是否可以调整大小f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//点击窗口的关闭按钮时,程序关闭//否则程序仍然在后台运行f.setLayout(new FlowLayout());//创建一个新的流布局管理器,//具有指定的对齐方式以及指定的水平和垂直间隙JButton a = new JButton("button a  ");//定义一个按钮对象aJButton b =new JButton("button b ");a.addActionListener(new MyListener());//为按钮添加一个实现ActionListener接口的对象b.addActionListener(new ActionListener(){@Override   //@Override是伪代码,表示重写(当然不写也可以),public void actionPerformed(ActionEvent e) {System.out.println("b clicked");}});f.add(a);//将组件a添加至容器f.add(b);//将组件b添加至容器f.setVisible(true);//设置窗体可见,否则看不见界面}
}


下面是本次程序相关的一些笔记:
Swing
GUI(图形用户界面)为程序提供图形界面,它最初的设计目的是为程序员构建一个通用GUI,使其能够在所有的平台上运行,但java1.0中基础类AWT(抽象窗口工具箱)并没有达到这个要求,于是Swing出现了,它是AWT组件的增强组件,但是它不能完全替代AWT组件,这两种组件需要同时出现在一个图形用户界面中。
原来的AWT组件来自java.awt包,当含有AWT组件的JAVA应用程序在不同的平台上执行时,每个平台的GUI组件的显示会有所不同,但是在不同平台上运行使用Swing开发的应用程序时,就可以统一GUI组件的显示风格,因为Swing组件允许编程人员在跨平台时指定统一的外观和风格。

布局管理器:绝对布局、流布局管理器、边界布局管理器、网格布局管理器、网格组布局管理器
在Swing中,每个组件在容器中都有一个具体的位置和大小,而在容器中拜访各种组件时很难判断其具体位置和大小。布局管理器提供了Swing组件安排、展示在容器中的方法及基本的布局功能。
使用布局管理器较程序员直接在容器中控制Swing组件的位置和大小方便得多,可以有效处理整个窗体的布局。

流(FlowLayout)布局管理器是最基本的布局管理器,在整个容器中的布局正如其名,像“流”一样从左到右摆放组件,直到占据了这一行的所有空间,然后再向下移动一行。默认情况下,组件在每一行中都是居中排列的,但是通过设置也可以更改组件在每一行上的排列位置。

  1. implements 是实现父类和子类之间继承关系的关键字,
    例如 类A 继承 类B写成 class A implements B{ }
    implements是一个类实现一个接口用的 关键字,他是用来实现 接口中定义的抽象方法。
    但是接口没有方法体,只能通过一个具体的类去实现其中的方法体。

与 extends 不同
extends, 可以实现父类,也可以调用父类初始化 ,而且会覆盖父类定义的变量或函数
implements ,实现父类,子类不可以覆盖父类的方法或者变量。即使子类定义与父类相同的变量或者函数,也会被父类取代掉。

需要实现,不可以修改用implements。 只定义接口需要具体实现,或者可以被修改扩展性好,用extents

2.动作事件 (ActionEvent)监听器是Swing中比较常用的事件监听器,很多组件的动作都会使用它监听,如按钮被单击。(当用户单击按钮时,将触发动作事件)。

3.监听和事件源如何通信呢?
我们在事件源的类中使用addActionListener注册,成为一个Actionlistener接口,它的功能是:
当发生事件后,可以监听到这个事件,同时就会执行Actionlistener接口他唯一的方法actionperformed来完成监听后需要执行的操作。这就相当于把监听给予一个类,让它自己具有监听的功能。

一些快捷键:
CTRL + 鼠标左键 查看查看JAVA类库源代码
如果出现不了源码,在弹出的视图中点击attach source 选择src.zip 即可
CTRL + Z 返回上一步操作
CTRL + D 删除光标所在行
CTRL + A 选中所有代码

如有帮助,记得点赞哈!如有帮助,记得点赞哈!如有帮助,记得点赞哈!

JFrame+JButton简单使用(菜鸟入门)——JAVA相关推荐

  1. 简单垂直搜索引擎入门(java+Lucene)

    一.垂直搜索引擎介绍 垂直搜索引擎是搜索引擎的一种,是搜索引擎的细分和延伸,可以简单地理解为在某个领域的搜索引擎,例如在你的所有文档中搜索相关内容,在你的项目文件中搜索带有"test&quo ...

  2. 菜鸟入门Java语言学习六大要点

    Java的学习是比较复杂的,主要表现在相关的一系列平台.规范和协议上.有经验的Java程序员都知道,只掌握了Java语言本身很难开发应用程序.本文不讨论这些复杂的概念,而是我是在北京参加的培训,现在从 ...

  3. 倚天剑与屠龙刀java_菜鸟入门 java语言学习六大要点

    Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface.简称API)构成.Java 应用编 ...

  4. C功底挑战Java菜鸟入门概念干货(一)

    一.认识Java 1.Java 程序比较特殊,它必须先经过编译,然后再利用解释的方式来运行.  2.Byte-codes 最大的好处是--可越平台运行,可让"一次编写,处处运行"成 ...

  5. 菜鸟学Java(六)——简单验证码生成(Java版)

    转载自  菜鸟学Java(六)--简单验证码生成(Java版) 验证码大家都知道,它的作用也不用我多说了吧.如果不太清楚请参见百度百科中的解释,一般验证码的生成就是随机产生字符(数字.字母或者汉字等) ...

  6. java编程菜鸟入门02

    写在前面: 此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 传送门: java编程菜鸟入门01 java编程菜鸟入门02 ...

  7. java编程菜鸟入门01

    写在前面: 此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 传送门: java编程菜鸟入门01 java对象和类 jav ...

  8. Hadoop学习笔记(1) ——菜鸟入门

     Hadoop学习笔记(1) --菜鸟入门 Hadoop是什么?先问一下百度吧: [百度百科]一个分布式系统基础架构,由Apache基金会所开发.用户能够在不了解分布式底层细节的情况下.开发分布式 ...

  9. python菜鸟工具-终于清楚python菜鸟入门教程

    Python是一款功能强大的脚本语言,具有丰富和强大的库,重要的是,它还具有很强的可读性,易用易学,非常适合编程初学者入门.以下是小编为你整理的python菜鸟入门教程 环境配置:下载Python并安 ...

  10. linux菜鸟入门命令——自我学习

    linux菜鸟入门命令--自我学习 ls或者ll或者dir:查看该目录下所有文件pwd:查看该目录所处的目录结构位置mkdir mytest:创建mytest文件夹cd ..返回上级目录 tar zc ...

最新文章

  1. [转]汇编语言的准备知识--给初次接触汇编者 2
  2. Java学习3之成员方法及函数重载
  3. Reading Club Questions Feedback
  4. petshop4.0 详解之五(PetShop之业务逻辑层设计)[转]
  5. Codeforces Round #434 (Div. 2)【A、B、C、D】
  6. java 时间转中文_使用JScript把时间转成中文
  7. mysql密码自动被改_每日一shell(十一)mysql强制自动修改密码
  8. 使用ps制作旧羊皮纸
  9. Power oj2498/DP/递推
  10. 插件开发之360 DroidPlugin源码分析(二)Hook机制
  11. 将两个(或多个)Item建立关联 app_field.set_dependent_field和app_field.clear_dependent_fields...
  12. 基于Springboot+Vue实现前后端分离进销存管理系统
  13. 《个人信息保护法》自2021年11月1日正式实施
  14. 关于HTML预处理器Pug的使用文档
  15. 如何选择适合你的兴趣爱好(二十七),外语
  16. Lync2013 升级Skype For Bussiness 2015 升级思路整理
  17. lisp 套料_标志排字及过桥的AutoCAD自动化插件设计
  18. [枚举]Stormwind 2022杭电多校第8场 1011
  19. 【网页设计】在网页中绘制表格(HTML)
  20. ubuntu安装android应用程序,Anbox将使Ubuntu手机能运行Android应用程序

热门文章

  1. 配置paraview 服务器
  2. python模拟鼠标点击和键盘输入的操作
  3. 保留地址就是私有地址吗?
  4. 工程结算的23个问题及技巧
  5. 隧道人员定位管理系统
  6. SOUI自定义控件(3)
  7. 设计模式——Facade(外观)模式
  8. linux 音频驱动实验
  9. 如何用两个队列模拟实现一个栈
  10. Java书店管理系统