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 +"
");
            }
            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开发,之后遇到问题时在做深入研究。

原文地址:https://www.cnblogs.com/alex09/p/4891957.html