不算是完整的代码,便于自己理解的写法。

import java.awt.Container;

import java.awt.FlowLayout;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;

public class GUIDemo extends JFrame {
    private JLabel label1;

private JButton button;

public GUIDemo() {
        Container container = getContentPane();               //初始化一个容器,可以添加控件了
        /*
         * 界面布局相关
         * FlowLayout 顺序布局
         * BorderLayout 边界布局
         * GridLayout 网格布局

*/

/*

* FlowLayout 顺序布局

* container.setLayout(new FlowLayout());   按顺序铺排

*/

/*
         * BordeLayout 边界布局
         * container.add(button[0],BorderLayout.NORTH);     将按钮设置在东、南、西、北、中区
         * container.add(button[1],BorderLayout.SOUTH);
         * container.add(button[2],BorderLayout.EAST);
         *                                      WEST CENTER
         */
        /*
         * GirdLayout 网格布局
         * private GridLayout grid1;

* grid1 = new GirdLayout(2,4,5,5);  2行4列  水平、垂直间距为5

* grid1 = new GirdLayout(2,4);  2行4列 自动间距

* container.setLayout(grid1);

*/

/*
         * JLabel标签
         */
        container.add(label1);
        label1 = new JLabel("标签的名字");
        label1.setHorizontalAlignment(SwingConstants.CENTER);  //设置位置

label1.setVerticalAlignment(SwingConstants.BOTTOM);     //TOP顶部  LEFT 左边  RIGHT右边

/*
         * JButton按钮
         */
        container.add(button);
        button = new JButton("按钮的名字");
        button.addActionListener(this);

}

/*
         * 图标Icon
         */
        Icon bug = new ImageIcon("img.jpg");
        label1 = new JLabel("图片",bug.SwingConstants.LEFT);    //将label设置在图片的右边

}

/*
     * 监听方法
     * 只有实现了监听器接口的类才是监听器
     * 事件处理过程中涉及三类对象:事件对象、事件源(单机一个按钮)、事件监听器(处理事件)
     * 编写事件处理程序的步骤:
     * (1)定义监听器类,在类的定义中完成事件的处理(实现actionPerformed方法)
     * (2)通过new创建事件监听器对象
     * (3)为组件注册相应的事件监听器  add****Listener
     * 三种方式 :
     * (1)直接实现:在图形界面的类中实现接口 addActionListener()括号中可以直接写this
     * (2)内部类方式:在图形界面类内部实现另一个监听器类   addActionListener(new 内部类())
     * (3)匿名内部类方式 : addActionListener(new ActionListener(){
     *                                            public void actionPerformed(ActionEvent e){
     *                                                        ...;})

*/

//下面是一个监听器类的实现 用的内部类

class JianTingLei implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent e) {
        if(e.getSource()==button)
            System.out.println(e.getActionCommand());
            }

}

/*

* 基本操作

*/

public static void main(String[] args) {
        JFrame frame = new JFrame("框的名称");
        frame.setSize(400,400);

frame.setVisible(true);}

}

容器类: JFrame  JApplet  JDialog JPanel

组件类: JButton  JTextField  JTextArea  JComboBox  JList  JRdioButton  JMenu

辅助类: Graphics  Color  Font  FontMetrics Dimension  LayoutManager

事件模型:  用户 --> 组件 -->  动作 -->  事件 对象 -->  事件监听器-->  事件处理方法

Java学习笔记四(可视化的基基基基础)相关推荐

  1. 【Java学习笔记四】Java中的包

    包的声明和引入:在Java语言系统中,Java编译器为每一个类生成一个字节码文件(.class),为了对类文件进行分层和按用途分类管理,同时也为了解决相同类名的文件冲突的问题,Java提供了包机制来管 ...

  2. JAVA学习笔记(四十九)- Swing相关组件

    JFrame组件 import java.awt.Color;import javax.swing.JFrame; import javax.swing.JPanel;/** Swing是在AWT基础 ...

  3. java学习笔记(四)----对象、数组作为参数传递,静态变量、静态方法的使用,内部类,使用文档注释

    ***对象作为参数传递*** class passparam { int x;   public static void main(String[] args)   { passparam obj = ...

  4. Java学习笔记四:static关键字

    1.static表示什么? static表示"全局"或者"静态"的意思.在Java中没有全局变量的概念,static 可以简单的理解为全局的,独立的一个功能. ...

  5. java学习笔记四:正则表达式

    今天接触了正则表达式,我们在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要,正则表达式就可以很好地描述这些规则.换句话说,正则表达式就是记录文本规则的代码. 现在用一个实例来 ...

  6. Java学习笔记-全栈-web开发-02-css必备基础

    说明: 如果您是后端开发人员,实际上这章只需要知道个大概即可,一般来说美化工作不需要我们完成. 但更多情况下,我们得能看懂这些css是如何美化的,美化的结果是什么. 因此,后端开发人员不必深入学习. ...

  7. GIT学习笔记(5):变基

    GIT学习笔记(5):变基rebase 变基 引入变基 在Git中整合来自不同分支的修改主要有两种方法:merge以及rebase. 整合分支最容易的方法是merge,他会把两个分支的最新快照以及两者 ...

  8. JAVA学习笔记(四)城堡游戏

    城堡游戏 我们在尝试了之前的简单媒体库构造之后,试着整合一下之前学到的关于类,继承,多态等知识,制作一个简单的城堡游戏,城堡游戏是一个简单的文字游戏,通过输入命令可以在地图上不同的房间进行移动. 目录 ...

  9. Java学习笔记(四)——接口

    Java学习笔记(四)--接口 1.格式 2.接口的特点 3.接口举例 1.格式 接口:初期理解,可以认为是一个特殊的抽象类.当抽象类中的方法都是抽象的,那么该类 可以通过接口的方式来表示. clas ...

最新文章

  1. Android开发之带你轻松集成友盟统计
  2. mysql5.7.20非安装版_mysql5.7.20\5.7.21免安装版安装配置教程
  3. 网络——Cisco Packet Tracer 思科模拟器组网实验
  4. apache2 配置php,Windows配置PHP5与Apache2
  5. 开源中国 2014 年源创会年度计划
  6. (15)FPGA模块化设计原则
  7. java怎么把毫秒转换成天数_关于java:如何将毫秒转换为“ hh:mm:ss”格式?
  8. 使用checked关键字处理“溢出”错误
  9. 聊一聊大火的对比学习
  10. XP开通局域网共享(访问本机无需验证即可进入)
  11. Java高级进阶学习资料!Java虚拟机的垃圾回收机制
  12. [leetcode]5341. 最后 K 个数的乘积
  13. 硬纪元AI峰会前瞻:线下大数据驱动下的新零售,目标是精准营销
  14. 【转载】程序员面对下列技术问题,如何做决策
  15. Raki的读paper小记:A Concise Model for Multi-Criteria Chinese Word Segmentation with Transformer Encoder
  16. 凸二次规划解法(旋转法)——补充代码
  17. S-PTAM:Stereo Parallel Tracking and Mapping论文笔记
  18. windows7内存诊断工具有用吗_WIN7 自带的内存检测工具怎么用
  19. 免费苹果账号(apple id)申请ios证书p12真机调试
  20. 100个python算法超详细讲解:掷骰子

热门文章

  1. 【解题周报】week1 解题周报
  2. uni-app 设置页面导航条颜色
  3. 为什么中国做不出《旅行青蛙》这样的游戏?
  4. 联想小新Pro16和小新air15 的区别 哪个更值得入手
  5. java五子棋游戏人工智能_基于java的五子棋游戏(人机对战)
  6. 使用手机摄像头实现视频监控实时播放
  7. 4G高速增长/5G周期开启,车载通讯模组行业的变革
  8. 量化交易数据接口如何获取实时行情数据的呢?
  9. 计算机输不了用户名文字,电脑上不能打字怎么办
  10. 十分钟带你入门Nodejs