JAVA基础学习day23--GUI基础

一、GUI概述

1.1、GUI概述

Graphical User Interface(图形用户接口)

用图形的方式,来显示计算机操作的界面,

CLI:

Command line User Interface(命令行用户接口)

如DOS,

java为GUI提供的对象都存在java.Awt和javax.Swing两个包中.

1.2、Awt与Swing

java.Awt:Abstract Window ToolKit(抽象窗口工具包)需要调用本地系统方法实现功能。属于重量级级控件

javax.Swing:在AWT的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由Java实现。增强了移植必,属于轻量级控件。

1.3、结构

二、布局管理器

2.1、布局

容器中的组件的排放方式,就是布局。

2.2、常见的布局管理

FlowLayout(流式布局管理器)

从左到右的顺序排列

Panel默认的布局管理器。

BorderLayout(边界布局管理器)

东、南、西、北、中

Fram默认的面布局管理器。

GridLayout(网格布局管理器)

规则的矩阵

CardLayout(卡片布局管理器)

选项卡

GridBagLayout(网络包布局管理器)

非规则的矩阵

2.3、

import java.awt.*;
public class AwtDemo1 {

    public static void main(String[] args) {
        //声明一个容器,Frame并设置标题
        Frame f=new Frame("Hello World");
        //设置窗体大小第一个参数是宽度,第二个参数是高度
        f.setSize(600, 300);
        //设置窗体运行的位置,屏幕中显示的位置
        f.setLocation(400, 200);
        //设置窗体布局方式,默认为BorderLayout,设置为流式布局
        f.setLayout(new FlowLayout());

        //声明新的控件
        Button btn=new Button("按键");
        //将控件添加到窗体
        f.add(btn);

        //设置窗体可见,默认是不可见的
        f.setVisible(true);

    }

}

三、事件

3.1、事件监听机制

事件源(组件)awt包或者swing中的那些图形界面组件

事件(Event):每一个事件源都自己的特有的对应的事件和共性事件

监听器(Listener):将可以触发某一个事件的动作(不只一个动作)都已经封闭到了监听器中.

以上3种,都在java中已经定义好了,直接获取对象用使用就可以

事件处理(引发事件后处理方式):我们要做的事情是,就是产生的动作进行处理.

3.2、事件监听机制特点

3.3、 示例

WindowsListener 接口有7个方法要重写,一般为直接实现而使用其子类

WindwoAdapter() 

接收窗口事件的抽象适配器类。此类中的方法为空。此类存在的目的是方便创建侦听器对象。

扩展此类可创建 WindowEvent 侦听器并为所需事件重写该方法。(如果要实现 WindowListener 接口,则必须定义该接口内的所有方法。此抽象类将所有方法都定义为 null,所以只需针对关心的事件定义方法。)

只需要继承 WindwoAdapter类,实现需要的方法即可

import java.awt.*;
import java.awt.event.*;
public class AwtDemo1 {

    public static void main(String[] args) {
        //声明一个容器,Frame并设置标题
        Frame f=new Frame("Hello World");
        //设置窗体大小第一个参数是宽度,第二个参数是高度
        f.setSize(600, 300);
        //设置窗体运行的位置,屏幕中显示的位置
        f.setLocation(400, 200);
        //设置窗体布局方式,默认为BorderLayout,设置为流式布局
        f.setLayout(new FlowLayout());

        //声明新的控件
        Button btn=new Button("按键");
        //添加监听事件

        //将控件添加到窗体
        f.add(btn);

        //设置窗体可见,默认是不可见的
        f.setVisible(true);
        //添加监听器
        f.addWindowListener(new MyWinEvent());

    }

}
class MyWinEvent extends WindowAdapter{

    @Override
    public void windowActivated(WindowEvent e) {
        // 激活窗口时调用
        super.windowActivated(e);
        System.out.println("我被激活了");
    }

    @Override
    public void windowClosed(WindowEvent e) {
        // 当窗口已被关闭时调用
        super.windowClosed(e);
        System.out.println("我被关闭了");
    }

    @Override
    public void windowClosing(WindowEvent e) {
        // 窗口正处在关闭过程中时调用。
        super.windowClosing(e);
        System.out.println("我正在被关闭");
    }

    @Override
    public void windowDeactivated(WindowEvent e) {
        // 停用窗口时调用。
        super.windowDeactivated(e);
        System.out.println("我被停用了");
    }

    @Override
    public void windowDeiconified(WindowEvent e) {
        // 取消图标化窗口时调用
        super.windowDeiconified(e);
        System.out.println("取消图标化窗口");

    }

    @Override
    public void windowGainedFocus(WindowEvent e) {
        // 该 Window 被设置为聚焦 Window 时调用,聚焦 Window 意味着该 Window 或其某个子组件将接收键盘事件。
        super.windowGainedFocus(e);
        System.out.println("获取焦点");
    }

    @Override
    public void windowIconified(WindowEvent e) {
        //图标化窗口时调用。
        super.windowIconified(e);
        System.out.println("图标化窗口时调用。");
    }

    @Override
    public void windowLostFocus(WindowEvent e) {
        // 该 Window 不再为聚焦 Window 时调用,不再为聚焦 Window 意味着键盘事件不再传递到该 Window 或其任意子组件。
        super.windowLostFocus(e);
        System.out.println("失去焦点");
    }

    @Override
    public void windowOpened(WindowEvent e) {
        //已打开窗口时调用。
        super.windowOpened(e);
        System.out.println("窗口打开了");
    }

    @Override
    public void windowStateChanged(WindowEvent e) {
        // 窗口状态改变时调用。
        super.windowStateChanged(e);
        System.out.println("窗口状态改变时调用。");
    }

}

四、Action事件

4.1、Action事件

addActionListener(ActionListener l)
添加指定的动作侦听器,以接收发自此按钮的动作事件

只有一个方法

actionPerformed(ActionEvent e)
发生操作时调用。

用于接收操作事件的侦听器接口。对处理操作事件感兴趣的类可以实现此接口,而使用该类创建的对象可使用组件的 addActionListener 方法向该组件注册。在发生操作事件时,调用该对象的 actionPerformed 方法。

4.2、示例

import java.awt.*;
import java.awt.event.*;
class ActionDemo
{
    public static void main(String[] args)
    {
        new FrameDemo();
    }
}
class FrameDemo
{
    //定义成员变量frame和Button
    private Frame f;
    private Button btn;
    public FrameDemo()
    {
        init();
    }
    public void init()
    {
    //初始人成员变量,并设置初始值
    f=new Frame("我的Frame窗体");
    //设置窗口位置水平与垂直坐标,宽度与高度
    f.setBounds(200,200,600,500);
    //
    f.setLocation(400,100);
    //可见的
    f.setVisible(true);
    //设置布局
    f.setLayout(new FlowLayout());

    //给窗体添中监听器,事件
    myEvent();
    btn=new Button("我的按键");
    //添控件添加到frame窗体上
    f.add(btn);
    //给按键添加Action事件
    btn.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent e)
        {
            System.out.println("按键事件!,按键关闭窗口");
            System.exit(0);
        }
    });
    }
    //事件方法
    private void  myEvent()
    {
        //添加事件
        f.addWindowListener(new WindowAdapter(){

            public void windowClosing(WindowEvent e)
            {
                System.out.println("myFram 关闭");
                System.exit(0);
            }
        });

    }
}

五、鼠标、键盘与对话框事件

5.1、示例

/*
鼠标与键盘事件
*/
import java.awt.*;
import java.awt.event.*;
class AwtDemo3
{
    public static void main(String[] args)
    {
        new mouseAndKey();
    }
}
class mouseAndKey
{
    private Frame f;
    private Button btn;
    private TextField tf;
    public mouseAndKey()
    {
        init();
    }
    //初始化
    public void init()
    {
        f=new Frame("My Frame");
        btn=new Button("My Button");
        //指定列数
        tf=new TextField(20);
        //设置位置,大小
        f.setBounds(200,300,500,400);
        f.setLayout(new FlowLayout()); //流式布局

        f.add(btn);
        f.add(tf);
        f.setVisible(true);
        //为窗口添加监听器
         myEvent();
         //添加鼠标监听器
         addMouseEvent();
         //添加键盘监听器
        addMykeyEvent();
        //添加文件框监听器
        addTfEvent();
    }
    //窗口监听器
    private  void myEvent()
    {
        f.addWindowListener(new WindowAdapter(){
            //添加关闭事件
            public void windowClosing(WindowEvent e)
            {
                System.out.println("窗口关闭了");
                System.exit(0);
            }
        });
    }
    //添加鼠标事件
    private void addMouseEvent()
    {

        btn.addActionListener(new ActionListener(){
            //活动状态
            public void actionPerformed(ActionEvent e){
            System.out.println("窗口活动状态action");
            }
        });
        //添加鼠标监听器
        btn.addMouseListener(new MouseAdapter(){
            /*
            int clickedCount=1;
            //单击事件
            public void mouseClicked(MouseEvent e)
            {
                System.out.println("鼠标单击"+clickedCount++);
            }
        });
        */
        //双击事件

        int doubleClickCount=1;
        public void mouseClicked(MouseEvent e)
            {
                if (e.getClickCount()==2)
                {
                    System.out.println("鼠标双击"+doubleClickCount++);
                }

            }

            //鼠标进入事件
            int count=1;
        public void mouseEntered(MouseEvent e)
        {

            System.out.println("鼠标进入控件"+count++);
        }
        });

    }
    private void addMykeyEvent()
    {
        btn.addKeyListener(new KeyAdapter(){
        //按下某个键时调用此方法

        public void keyPressed(KeyEvent e)
        {
            //System.out.println("按下:"+KeyEvent.getKeyText(e.getKeyCode())+"...."+e.getKeyCode());
            /*
            //按下esc键关闭窗口
            if(e.getKeyCode()==KeyEvent.VK_ESCAPE)
            {
                System.exit(0);
            }
            */
            if(e.isControlDown()&&e.getKeyCode()==KeyEvent.VK_ENTER)
            {
                System.out.println("ctrl+enter");
            }

        }
        //释放某个键时调用此方法。

        public void keyReleased(KeyEvent e)
        {
            //System.out.println("释放:"+KeyEvent.getKeyText(e.getKeyCode())+"...."+e.getKeyCode());
        }

        //键入某个键时调用此方法。

        public void keyTyped(KeyEvent e)
        {
            //System.out.println("输入:"+KeyEvent.getKeyText(e.getKeyCode())+"...."+e.getKeyCode());

        }
        });
    }
    private void addTfEvent(){
        tf.addKeyListener(new KeyAdapter(){
            public void keyPressed(KeyEvent e)
            {
                int code=e.getKeyCode();
                if(!(code>=KeyEvent.VK_0 && code<=KeyEvent.VK_9))
                {
                    System.out.println(code+"....是不合法的!");
                    //不能输入进去
                    e.consume();
                }
            }
        });

    }
}

示例、

/*
在文本框中输入目录,点击转到 按键,将该目录中的文件与文件
夹名称列在下面的文本区域中
*/
import java.awt.*;
import java.awt.event.*;
import java.io.*;
class TextFieldDemo
{
    public static void main(String[] args)
    {
        new MyTextField();
    }
}
/*
    private Frame f; 窗体
    private Button btn; 按键
    private TextField tf; 文本框
    private TextArea ta; 多行文本域
    private Dialog d; 对话框
    private Label lab; 文本信息
    private Button okBtn; 确定按键
*/
class MyTextField
{
    private Frame f;
    private Button btn;
    private TextField tf;
    private TextArea ta;
    private Dialog d;
    private Label lab;
    private Button okBtn;
    public MyTextField()
    {
        init();
    }
    //初始化
    public void init()
    {
        f=new Frame("根据目录列出所有文件");
        f.setBounds(300,100,600,500);
        f.setLayout(new FlowLayout());
        tf=new TextField(30);
        btn=new Button("转到");
        ta=new TextArea(20,50);
        /*
        提示窗口
        */
        d=new Dialog(f,"提示信息",true);
        lab=new Label();
        okBtn=new Button("确定");
        d.add(lab);
        d.add(okBtn);
        d.setBounds(400,200,240,150);
        d.setLayout(new FlowLayout());

        //将控件添回到窗体
        f.add(tf);
        f.add(btn);
        f.add(ta);

        //设置窗体可见
        f.setVisible(true);
        //添加事件
        myEvent();
    }
    public void myEvent()
    {
        //窗体监听器,
        f.addWindowListener(new WindowAdapter(){
            //关闭事件
            public void windowClosing(WindowEvent e)
            {
                System.exit(0);
            }
        });
        //文本框添加事件监听,输入完成,敲回车执行
        tf.addKeyListener(new KeyAdapter()
        {
            public void keyPressed(KeyEvent e)
            {
                if(e.getKeyCode()==KeyEvent.VK_ENTER)
                {
                    //调用
                    showDir();
                }
            }
        }
        );

        //按键添加监听器,事件输入完成,点按键执行
        btn.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                //调用显示
                 showDir();
            }
        }
        );
        //对话框事件
        //窗体监听器,
        d.addWindowListener(new WindowAdapter(){
            //关闭事件
            public void windowClosing(WindowEvent e)
            {    //将对话框隐藏
                d.setVisible(false);
            }
        });
        okBtn.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e)
            {//将对话框隐藏
                d.setVisible(false);
            }
        });
    }
    private void showDir()
    {
        //获取文本框输入的内容
                String dirPath=tf.getText();
                //封装为文件
                File dir=new File(dirPath);
                //判断是不是目录同时是否存在
                if(dir.exists()&&dir.isDirectory())
                {    //存在并且目录存在就把多行文本框清空
                    ta.setText("");
                    //获取文件列表
                    File [] files=dir.listFiles();
                    for(File f:files)
                    {
                        //向多行文本域中添加内容,增加
                        ta.append(f.getName()+"\n");
                    }
                }else
                {
                //对话框信息设置
                String info="您输入的路径:"+dirPath+" 是错误的请重新输入";
                lab.setText(info);
                //对话框显示
                d.setVisible(true);

                }
                //将文本框清空
                tf.setText("");
    }
}

六、菜单

6.1、示例

/*
    菜单:
private Frame f;   窗体
    private MenuBar mb;  菜单栏
    private Menu m; 菜单
    private MenuItem closeItem; 菜单项关闭菜单
*/
import java.awt.*;
import java.awt.event.*;

class MenuDemo
{
    private Frame f;
    private MenuBar mb;
    private Menu m;
    private Menu subMenu;//子菜单的子菜单
    private MenuItem closeItem;
    private MenuItem subItem; //子菜单条目属于subMenu的子菜单项
    //构造方法
    public MenuDemo()
    {
        init();
    }
    /*
    初始化
    */
    public void init()
    {
        //窗体
        f=new Frame("有菜单的窗体");
        //设置位置,宽,高
        f.setBounds(300,100,500,400);
        //布局
        f.setLayout(new FlowLayout());
        //菜单栏
        mb=new MenuBar();

        //菜单
        m=new Menu("文件");
        subMenu=new Menu("子菜单");
        //菜单项
        closeItem=new MenuItem("退出");
        subItem=new MenuItem("子菜单条目");

        //菜单添加菜单项
        subMenu.add(subItem);
        m.add(subMenu);
        m.add(closeItem);

        //菜单栏添加菜单
        mb.add(m);
        //窗体设置菜单栏
        f.setMenuBar(mb);
        //设置显示
        f.setVisible(true);
        myEvent();
    }
    /*
    设置监听器
    */
    private void myEvent()
    {
        /*
            通过右上角X关闭窗体
        */
        f.addWindowListener(new WindowAdapter(){
            public void windowClosing(WindowEvent e)
            {
                System.out.println("通过关闭X退出,这个窗体");
                System.exit(0);
            }
        });

        /*
        通过菜单退出
        */
        closeItem.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e)
            {
                System.out.println("通过菜单退出,这个窗体");
                System.exit(0);
            }
        });
    }

    /*
    测试
    */
    public static void main(String[] args)
    {
        new MenuDemo ();
    }
}

七、打开与关闭文件

7.1、示例,添加打开菜单项

FileDialog

public FileDialog(Frame parent,
                  String title,
                  int mode)
创建一个具有指定标题的文件对话框窗口,用于加载或保存文件。

如果 mode 的值为 LOAD,那么文件对话框将查找要读取的文件,所显示的文件是当前目录中的文件。如果 mode 的值为 SAVE,则文件对话框将查找要写入文件的位置。

参数:
parent - 对话框的所有者
title - 对话框的标题
mode - 对话框的模式,可以是 FileDialog.LOADFileDialog.SAVE

/*
    菜单:
    private Frame f;   窗体
    private MenuBar mb; 菜单栏
    private Menu m;  菜单
    private MenuItem openItem; 打开
    private MenuItem closeItem; 关闭
    private MenuItem saveItem;保存
    //构造方法
*/
package mymenu;
import java.awt.*;
import java.awt.event.*;
import java.io.*;

public class MenuDemo1
{
    private Frame f;
    private MenuBar mb;
    private Menu fileMenu;
    private MenuItem openItem;
    private MenuItem closeItem;
    private MenuItem saveItem;
    private FileDialog openDia; //打开对话框
    private FileDialog saveDia;//保存对话框
    private TextArea ta;
    private File file;
    //构造方法
    public MenuDemo1()
    {
        init();
    }
    /*
    初始化
    */
    public void init()
    {
        //窗体
        f=new Frame("有菜单的窗体");
        //设置位置,宽,高
        f.setBounds(300,100,650,500);
        //布局
        //f.setLayout(new FlowLayout());
        //菜单栏
        mb=new MenuBar();
        //菜单
        fileMenu=new Menu("文件");
        //菜单项
        openItem=new MenuItem("打开");
        saveItem=new MenuItem("保存");
        closeItem=new MenuItem("退出");
        //菜单添加菜单项
        fileMenu.add(openItem); //添加打开
        fileMenu.add(saveItem); //添加保存
        fileMenu.add(closeItem); //添加关闭
        //菜单栏添加菜单
        mb.add(fileMenu);
        //窗体设置菜单栏
        f.setMenuBar(mb);
        //打开,关闭对话框
        openDia=new FileDialog(f,"打开",FileDialog.LOAD);
        saveDia=new FileDialog(f,"保存",FileDialog.SAVE);
        ta=new TextArea();

        f.add(ta);
        myEvent();
        //设置显示
        f.setVisible(true);

    }
    /*
    设置监听器
    */
    private void myEvent()
    {
        /*
            通过右上角X关闭窗体
        */
        f.addWindowListener(new WindowAdapter(){
            public void windowClosing(WindowEvent e)
            {
                System.out.println("通过关闭X退出,这个窗体");
                System.exit(0);
            }
        });
        /*
        打开
        */
        openItem.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e)
            {
                openDia.setVisible(true);
                show();
            }
        });
        /*
        保存
        */
        saveItem.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e)
            {
                save();

            }
        });

        /*
        通过菜单退出
        */
        closeItem.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e)
            {
                System.out.println("通过菜单退出,这个窗体");
                System.exit(0);
            }
        });
    }
    private void show()
    {
        String dirPath=openDia.getDirectory(); //路径
        String fileName=openDia.getFile();//文件名
        //打印路径
        System.out.println(dirPath+"..."+fileName);

        if(dirPath==null || fileName==null)
            return;
        ta.setText("");
        File file=new File(dirPath,fileName); //封装为文件
        BufferedReader br=null;
        try{
        br=new BufferedReader(new FileReader(file));
        String line=null;

        while((line=br.readLine())!=null)
        {
            ta.append(line+"\n");
        }
        }catch(IOException e)
        {

        }finally{
            try
            {
                if(br!=null)
                    br.close();
            }
            catch (IOException e)
            {
            }

}
        }
        /*
        保存
        */
    private void save()
    {
        if(file==null){
        //设置
        saveDia.setVisible(true);
        String dirPath=saveDia.getDirectory(); // 目录
        String fileName=saveDia.getFile();//文件
        //判断路径和文件名是否为空
        if (dirPath==null || fileName==null)//啥也不做
            return;
        //如果文件为空就,new
        file=new File(dirPath,fileName);
        }

        //不为空就直接保存
        BufferedWriter bw=null;
        try
        {

            bw =new BufferedWriter(new FileWriter(file));
            //获取多行文本框内容
            String context=ta.getText();
            //System.out.println(context);
            bw.write(context);
            //bw.flush();

        }
        catch (IOException e)
        {

        }finally{
        try
            {
                if (bw!=null)
                    bw.close();

            }
            catch (IOException ex)
            {
            }
        }
    }

    /*
    测试
    */
    public static void main(String[] args)
    {
        new MenuDemo1 ();
    }
}
/*
FileDialog
public FileDialog(Frame parent,
                  String title,
                  int mode)创建一个具有指定标题的文件对话框窗口,用于加载或保存文件。
如果 mode 的值为 LOAD,那么文件对话框将查找要读取的文件,所显示的文件是当前目录中的文件。如果 mode 的值为 SAVE,则文件对话框将查找要写入文件的位置。 

参数:
parent - 对话框的所有者
title - 对话框的标题
mode - 对话框的模式,可以是 FileDialog.LOAD 或 FileDialog.SAVE
*/

                                                      八、打包

8.1、将示中打所为jar文件

编译带包的源文件

javac -d F:\java\day22\menu MenuDemo1.java

打包

Manifest-Version: 1.0
Created-By: 1.8.0_60 (Oracle Corporation)
Main-Class: mymenu.MenuDemo1

每个标签冒号后都跟上一个空格

最后一行需要有一个回车键,否则后面那一行是不能打包进去的

没有空格会报

java.io.IOException: invalid header field
        at java.util.jar.Attributes.read(Attributes.java:393)
        at java.util.jar.Manifest.read(Manifest.java:182)
        at java.util.jar.Manifest.<init>(Manifest.java:52)
        at sun.tools.jar.Main.run(Main.java:132)
        at sun.tools.jar.Main.main(Main.java:1022)

1.txt

Main-Class: mymenu.MenuDemo1

 

时间: 2024-10-10 02:33:18

JAVA基础学习day23--GUI基础的相关文章

java基础学习总结——GUI编程(二)

永不放弃,一切皆有可能!!! 只为成功找方法,不为失败找借口! java基础学习总结——GUI编程(二) 一.事件监听 测试代码一: 1 package cn.javastudy.summary; 2 3 import java.awt.*; 4 import java.awt.event.*; 5 6 public class TestActionEvent { 7 public static void main(String args[]) { 8 Frame f = new Frame("

java基础学习总结——GUI编程(一)

永不放弃,一切皆有可能!!! 只为成功找方法,不为失败找借口! java基础学习总结——GUI编程(一) 一.AWT介绍 所有的可以显示出来的图形元素都称为Component,Component代表了所有的可见的图形元素,Component里面有一种比较特殊的图形元素叫Container,Container(容器)在图形界面里面是一种可以容纳其它Component元素的一种容器,Container本身也是一种Component的,Container里面也可以容纳别的Container. Cont

Java培训学习需要什么基础?

随着互联网的飞速发展,其对相关人才的需求更是不断增加.高薪资高待遇吸引不少其它行业的人员也投身于此.作为最受企业欢迎Java语言,更是备受学员青睐.来千锋报名学习Java的不少学员都会问到同一个问题,学Java需要什么基础? 在回答这个问题前,我们先来简单的了解一下Java语言. Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言.Java 技术具有卓越的通用性.高效性.平台移植性和安全性,广泛应用于PC.数据中心.游戏控制台.科学超级计算机.移动电话和互联网,同时拥有全球最大的开发者

python3基础学习笔记(基础知识)-01

python的基础学习: 数据类型:python是弱类型语言,在定义变量的时候,可以不直接制定数据类型. 1.Numbers: int 有符号整型    a = (-1)  a = 1 long 长整型 float 浮点型 complex 复数 2.boolean: True    Flase 3.String :字符串   a = "Hello World" 4.List :列表 有序  list1 = [] 5.Tuple : 元组  定义后不能被修改  a = (1,2,3) 6

java基础学习总结——GUI编程(二) 未学习

一.事件监听 测试代码一: 1 package cn.javastudy.summary; 2 3 import java.awt.*; 4 import java.awt.event.*; 5 6 public class TestActionEvent { 7 public static void main(String args[]) { 8 Frame f = new Frame("TestActionEvent"); 9 Button btn = new Button(&qu

java基础学习总结——GUI编程(一) 还未仔细阅读

一.AWT介绍 所有的可以显示出来的图形元素都称为Component,Component代表了所有的可见的图形元素,Component里面有一种比较特殊的图形元素叫Container,Container(容器)在图形界面里面是一种可以容纳其它Component元素的一种容器,Container本身也是一种Component的,Container里面也可以容纳别的Container. Container里面又分为Window和Pannel,Window是可以独立显示出来的,平时我们看到的各种各样的

Java基础学习第二天——基础数据类型介绍

文档版本 开发工具 测试平台 工程名字 日期 作者 备注 V1.0 2016.02.21 lutianfei none 第二章 Java基础语法 本章内容 关键字 标识符 注释 常量.进制和进制转换 变量 数据类型和类型转换 运算符 语句 (一)关键字 关键字概述 被Java语言赋予特定含义的单词 关键字特点 组成关键字的字母全部小写 关键字注意事项 goto和const作为保留字存在,目前并不使用(在JDK的新版本中可能提升为关键字) (二)标识符 标识符概述 就是给类,接口,方法,变量等起名

java基础学习05(面向对象基础01--类实例分析)

面向对象基础01(类实例分析) 实现的目标 1.如何分析一个类(类的基本分析思路) 分析的思路 1.根据要求写出类所包含的属性2.所有的属性都必须进行封装(private)3.封装之后的属性通过setter和getter设置和取得4.如果需要可以加入若干构造方法 5.再根据其它要求添加相应的方法6.类中的所有方法都不要直接输出,而是交给被调用处调用 Demo 定义并测试一个名为Student的类,包括属性有"学号"."姓名"以及3门课程"数学".

java基础学习05(面向对象基础02)

面向对象基础02 实现的目标 1.String类的使用 2.掌握this关键字的使用3.掌握static关键字的使用 String类 实例化String对象一个字符串就是一个String类的匿名对象,就是已经开辟了堆内存空间的并可以直接使用的对象.1.采用直接赋值的方式进行操作. String name = "zhangsan"; 使用这种方式,如果一个字符串已经被一个名称所引用,则以后再有相同的字符串声明时,就不会再开辟内存空间.2.直接调用String类的构造方法(public S

JAVA基础-学习总结-语法基础

标识符的概念和命名规则 JAVA常量---不可变的变量 程序的执行过程 从现在开始,你应该记住,内存里分四块区域,code segment,data segment,stack,heap,真正执行的时候,代码首先放到code segment里面,虚拟机找到相关的main方法,然后开始噼里啪啦噼里啪啦的执行,在执行的过程中,会牵扯到其他三块内存区域.因为执行的时候需要在不同的区域分配内存. JAVA变量 1,java中的变量是程序中最小的存储单元,其要素包括变量名,变量类型,作用域. 2,java