zoukankan      html  css  js  c++  java
  • 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开发,之后遇到问题时在做深入研究。

  • 相关阅读:
    apply call bind方法的区别和含义
    html头部meta标签
    语义化标签
    “文件名和url路径名”命名要点以及大小写问题
    BMP GIF PNG JPG等图片格式的区别和适用情况
    前端页面的性能优化
    js阻止默认事件,如a标签跳转和事件冒泡
    散列碰撞问题的解决——开链法(拉链法)
    substring()方法
    对学生成绩进行散列
  • 原文地址:https://www.cnblogs.com/alex09/p/4891957.html
Copyright © 2011-2022 走看看