Java基础知识学习(九)

时间:2023-01-04 09:13:13

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

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

  1. java基础知识学习笔记

    本文知识点以js为参照.对比分析得出笔记.JavaScript之所以叫JavaScript是打算借助java推广自己.虽然都是开发语言,但JavaScript一开始主要运行在 客户端,而java主要运 ...

  2. Java基础知识学习(三)

    面向对象部分 首先要了解面向对象的思想,与C#一致,都是面向对象的语言 访问修饰符 public 共有的,对所有类可见. protected 受保护的,对同一包内的类和所有子类可见. private ...

  3. Java基础知识学习(一)

    部门接了新项目,后台使用Java框架play framework,前端是html,前后台通过rest交互,能够支持多端的互联网架构. 因为之前没有Java基础,前端使用的也很少,决定深入学习一下Jav ...

  4. Java基础知识陷阱(九)

    本文发表于本人博客. 今天我来说说关于JAVA多线程知识,有错误请指出.大家都知道JAVA在服务端上处理也有很大优势,很多公司也有在服务器跑JAVA进程,这说明JAVA在处理这个多线程以及并发下也有一 ...

  5. Java基础知识学习(二)

    Java语法基础 数据类型.类型转换.运算符.逻辑运算符.参考C#,基本一致 输入输出 输出 System.out.print("abc"); System.out.printf( ...

  6. java基础知识学习 内存相关

    Java 内存分配策略 静态存储区(方法区):主要存放静态数据.全局 static 数据和常量.这块内存在程序编译时就已经分配好,并且在程序整个运行期间都存在. 栈区 :当方法被执行时,方法体内的局部 ...

  7. Java基础知识学习(八)

    IO操作 5个重要的类分别是:InputStream.OutStream.Reader.Writer和File类 面向字符的输入输出流 输入流都是Reader的子类, CharArrayReader ...

  8. Java基础知识学习(七)

    线程(续) 线程同步 当两个或两个以上的线程需要共享资源,它们需要某种方法来确定资源在某一刻仅被一个线程占用.达到此目的的过程叫做同步(synchronization) 可以用两种方法同步化代码.两者 ...

  9. Java基础知识学习(六)

    多线程 先了解线程的概念 多线程需要注意的地方 优先级.线程同步.消息传递.数据共享.死锁等 Java线程类 Thread,实现接口 Runnable Thread常用方法 getName 获得线程名 ...

随机推荐

  1. Cosh.2

    没壳 直接拖 一开始  字符长度不对.   所以  输入都超过5   就没什么问题了 发现下面的跳转都是跳到eorr的 那不跳的条件呢 看来他们必须要相等.单步跟踪就会发现eax指向的是我们的Seri ...

  2. LCA---Tarjan算法

    本问题中Tarjan算法不需要设置栈和dfn,low标号,而是设置了并查集. 通过一次dfs遍历即可找出所有节点对的lca.将这样一次读取所有查询,计算一次后返回所有查询lca的算法称为离线算法 涉及 ...

  3. ListView的使用-模拟微博随便看看栏目【执行与优化】

    今天我们来讲述一下如何使用ListView来模仿微博随便看看栏目(ps:这是老师布置的作业,所以…),在前篇博客中,我们讲述了细解ListView之自定义适配器的使用,所以本篇我们不以特别详细的讲述( ...

  4. KVC与KVO

    KVC:键值编码(Key-Value-Coding),是一个非正式的Protocol,提供一种机制间接访问对象的属性,是路径访问的规范: KVO:键值观察 (Key-Value-Observe),是基 ...

  5. xcode duplicate symbol _GAD_MD5 解决方法

    添加了mobi的广告平台后,在Device状态打包时,出现此错误. duplicate symbol _GAD_MD5 in: 解决方法: Targets ->Build Setting  中设 ...

  6. hdu_5104 Primes Problem()

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5104 rimes Problem Time Limit: 2000/1000 MS (Java/Oth ...

  7. C++对象模型(五):The Semantics of Data Data语义学

    本文是<Inside the C++ Object Model>第三章的读书笔记.主要讨论C++ data member的内存布局.这里的data member 包含了class有虚函数时 ...

  8. sencha touch 监听视图切换动画&lpar;animation&rpar;

    var animation = this.getLayout().getAnimation(); //添加监听 animation.on({ scope: this, animationend: 'o ...

  9. 【总结】java 后台文件上传整理

    public Map<String,String> clientUploadAttachment(Long belongId, String fileSource, MultipartFi ...

  10. 学习Emmet

    学习Emmet 在进行Web开发时,就免不了需要编写html文件,如何快速(偷懒^-^)的进行编写html,是个大问题,上网找了一下,发现了一个好东西 ,视频教程可以看下小马技术Emmet爆速开发, ...