Java基础知识学习(九)

GUI开发

先前用Java编写GUI程序,是使用抽象窗口工具包AWT(Abstract Window Toolkit).现在多用Swing。Swing可以看作是AWT的改良版,而不是代替AWT,是对AWT的提高和扩展。所以,在写GUI程序时,Swing和AWT都要作用。它们共存于Java基础类(Java Foundation Class,JFC)中。

AWT依赖于主平台绘制用户界面组件;而Swing有自己的机制,在主平台提供的窗口中绘制和管理界面组件。Swing与AWT之间的最明显的区别是界面组件的外观,AWT在不同平台上运行相同的程序,界面的外观和风格可能会有一些差异。然而,一个基于Swing的应用程序可能在任何平台上都会有相同的外观和风格。

Swing中的类是从AWT继承的,有些Swing类直接扩展AWT中对应的类。例如,JApplet、JDialog、JFrame和JWindow。

使用Swing设计图形界面,主要引入两个包:

  • javax.swing包:包含Swing的基本类;
  • java.awt.event包:包含与处理事件相关的接口和类。
import javax.swing.*;

public class Example1_1 {

    public static void main(String[] args) {
         JFrame mw = new JFrame("Demo Form");
         mw.setSize(250,200);
         JButton button = new JButton("Demo Button");
         mw.getContentPane().add(button);
         mw.setVisible(true);
    }

}

图形界面开发使用的各种空间,最好在网站上找例子,写一写Demo

http://www.weixueyuan.net/java/rumen_11/

网络编程

Java提供一系列的类支持Java程序访问网络资源。

先了解下网络协议

InetAddress类的对象用于IP地址和域名

public static void main(String[] args) {
        try {
            InetAddress addr = InetAddress.getByName("www.weixueyuan.net");
            String domain = addr.getHostName();
            String ip = addr.getHostAddress();
            System.out.println(domain);
            System.out.println(ip);

        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
}

URL

统一资源定位符URL(Uniform Resource Locator)是www客户机访问Internet时用来标识资源的名字和地址。

URL url;
try {
    url = new URL("http://www.weixueyuan.net:80/");
} catch (MalformedURLException e) {
    e.printStackTrace();
}

要接收和发关信息还要用URLConnection

url = new URL("http://www.weixueyuan.net:80/");
URLConnection urlConnection = url.openConnection();

提供的以下方法获得流对象和实现网络连接:

  1. getOutputStream():获得向远程主机发送信息的OutputStream流对象;
  2. getInputStream():获得从远程主机获取信息的InputStream流对象。有了网络连接的输入和输出流,程序就可实现远程通信;
  3. connect():设置网络连接。

示例:读取URL资源

import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class Example1_1 {

    public static void main(String[] args) {
        new DownNetFile();
    }

}

class DownNetFile extends JFrame implements ActionListener {
    JTextField infield = new JTextField(30);
    JTextArea showArea = new JTextArea();
    JButton b = new JButton("download");
    JPanel p = new JPanel();

    DownNetFile() {
        super("read network text file application");
        Container con = this.getContentPane();
        p.add(infield);
        p.add(b);
        JScrollPane jsp = new JScrollPane(showArea);
        b.addActionListener(this);
        con.add(p, "North");
        con.add(jsp, "Center");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(500, 400);
        setVisible(true);
    }

    public void actionPerformed(ActionEvent e) {
        readByURL(infield.getText());
    }

    public void readByURL(String urlName) {
        try {
            showArea.setText("");
            URL url = new URL(urlName);
            URLConnection tc = url.openConnection();
            tc.connect();
            InputStreamReader in = new InputStreamReader(tc.getInputStream());
            BufferedReader br = new BufferedReader(in);
            String line;
            while ((line = br.readLine()) != null) {
                 showArea.append(line +"\n");
            }
            br.close();

        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

Socket

http://www.weixueyuan.net/view/6080.html

数据库

http://www.weixueyuan.net/view/6081.html

CURD

Java基础暂时学习这些,接下来会学习一些java web开发,之后遇到问题时在做深入研究。

时间: 2024-10-13 09:45:53

Java基础知识学习(九)的相关文章

Java基础知识陷阱(九)

本文发表于本人博客. 今天我来说说关于JAVA多线程知识,有错误请指出.大家都知道JAVA在服务端上处理也有很大优势,很多公司也有在服务器跑JAVA进程,这说明JAVA在处理这个多线程以及并发下也有一定有优点的(这说法有点坑了).下面来看看 那java中,不具备直接操作像操作系统一样的PV信号,然而它提供了synchronized来实现同步机制,可能这样说不够严谨.JAVA的基类Object中有以下几个方法: public final native void notify(); public f

java基础知识学习笔记(四)

类与对象 java是一种面向对象的开发语言.java程序是由类与对象组成的.类与对象之间有什么关系呢? 类是构造对象的蓝图或模板.由类构造对象的过程,称之为创建类的实例.可知对象就是类的一种实例或具体实现.为什么为选用java语言做开发,这种面向对象的语言对开发有什么好处? 首先,从设计上,对一个问题,你可以暂且不管它的具体实现是什么,先把它抽象成一个对象,问题中涉及到的数据,变成对象中的实例域,求解问题的方法,变成对象中的方法,这样做可以分清要对哪些数据进行操作,逻辑上比较清晰. 其次,当问题

java基础知识学习

Java 内存分配策略 静态存储区(方法区):主要存放静态数据.全局 static 数据和常量.这块内存在程序编译时就已经分配好,并且在程序整个运行期间都存在. 栈区 :当方法被执行时,方法体内的局部变量(其中包括基础数据类型.对象的引用)都在栈上创建,并在方法执行结束时这些局部变量所持有的内存将会自动被释放.因为栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限. 堆区 : 又称动态内存分配,通常就是指在程序运行时直接 new 出来的内存,也就是对象的实例.这部分内存在不使

Java基础知识学习笔记(一)

理解面向对象: Java纯粹的面向对象的程序设计语言,主要表现为Java完全支持面向对象的三个基本特征:继承.封装.多态. Java程序的最小单位是类,类代表客观世界中具有某种特征的一类事物,这些类可以生成系统中的多个对象,而这些对象直接映射成客观世界的各种事物,整个Java程序由一个一个的类组成. 结构化(主张按功能把软件逐步细分,面向功能)/面向对象程序设计:(分析>设计>编程)SA/OOA > SD/OOD > SP/OOP 结构化程序设计最小的程序单元是函数,每个函数都负责

JAVA 基础知识学习笔记 名称解释

Java ee:? IDE: ? itegrity   development environment 集成开发环境 JMS:? java Message Service java   信息服务 JMX? Java Management Extensions,即Java管理扩展 JNDI:(Java Naming and Directory Interface,Java命名和目录接口)是SUN公司 提供的一种标准的Java命名系统接口,JNDI提供统一的客户端 API,通过不同的访问提供者接口J

Java基础知识学习(八)

IO操作 5个重要的类分别是:InputStream.OutStream.Reader.Writer和File类 面向字符的输入输出流 输入流都是Reader的子类, CharArrayReader 从字符数组读取的输入流 BufferedReader 缓冲输入字符流 PipedReader 输入管道 InputStreamReader 将字节转换到字符的输入流 FilterReader 过滤输入流 StringReader 从字符串读取的输入流 LineNumberReader 为输入数据附加

Java基础知识学习12-常用的API-03

基本数据类型的包装类 基本数据类型如int.float.double.boolean.char等是不具备对象的特征,比如:不能调用方法,功能比较简单.为了让基本数据类型具有对象的特征,Java为每个基本数据类型都提供了一个包装类,这样就具备了对象的特征. 将字符串转为基本类型的方法  通用格式:包装类.parseXxxx(String str) int a=Integer.parseInt("123456"); System.out.println(a+1); 将基本类型转换为字符串

java基础知识学习笔记

文件下载地址:http://pan.baidu.com/s/1o8irE2Y

java基础知识 学习 关于URL中传递的参数含有特殊字符

有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了.下表中列出了一些URL特殊符号及编码                                             1. +        URL 中+号表示空格     %2B 2. 空格 URL中的空格可以用+号或者编码 %20 3. /      分隔目录和子目录            %2F 4. ?       分隔实际的 URL 和参数