博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java基础知识学习(九)
阅读量:5301 次
发布时间:2019-06-14

本文共 3471 字,大约阅读时间需要 11 分钟。

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

 

 

 

网络编程

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

 

数据库

 

 

 

 

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

转载于:https://www.cnblogs.com/alex09/p/4891957.html

你可能感兴趣的文章
php libevent 定时器,PHP 使用pcntl和libevent实现Timer功能
查看>>
php仿阿里巴巴,php实现的仿阿里巴巴实现同类产品翻页
查看>>
Node 中异常收集与监控
查看>>
七丶Python字典
查看>>
Excel-基本操作
查看>>
面对问题,如何去分析?(分析套路)
查看>>
Excel-逻辑函数
查看>>
面对问题,如何去分析?(日报问题)
查看>>
数据分析-业务知识
查看>>
nodejs vs python
查看>>
poj-1410 Intersection
查看>>
Java多线程基础(一)
查看>>
TCP粘包拆包问题
查看>>
Java中Runnable和Thread的区别
查看>>
SQL Server中利用正则表达式替换字符串
查看>>
POJ 1015 Jury Compromise(双塔dp)
查看>>
论三星输入法的好坏
查看>>
Linux 终端连接工具 XShell v6.0.01 企业便携版
查看>>
JS写一个简单日历
查看>>
LCA的两种求法
查看>>