51CTO博客开发
【IT168 技术】用户界面设计和开发近年来有了一些改变,有人可能会说 Java 平台并不能保持。1997 年发布的 Swing 至今仍然一个标准的工具包,可以在 JVM 上构建用户界面。好的一点是,它是一个较为熟悉的标准,易于操作。不好的是,它缺乏将普通 UI 设计变丰富的特性。 在本期的 5 件事 系列 文章中,我将向您介绍 4 个免费开源组件,您可以用来现代化您的 Swing GU
package com.kkoolerter;import java.io.IOException;public class OpenIE { public static void main(String[] args) throws IOException { String url =
环境变量配置文件 在Ubuntu中有如下几个文件可以设置环境变量 1、/etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。 2、/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。 3、~/.bash_profile:
package com.kkoolerter;public class Caesar { public static void main(String[] args) { String str = "hello";
1、transient关键字只能修饰变量,而不能修饰方法和类。注意,本地变量是不能被transient关键字修饰的。2、被transient关键字修饰的变量不再能被序列化,一个静态变量不管是否被transient修饰,均不能被序列化。3、一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。也可以认为在将持久化的对象反序列化后,被transient修饰
通过使用java.util.Timer类和TimerTask类可以实现一个简单的计时器功能。 Timer类是一种线程设施,用于安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行。 与每个 Timer 对象相对应的是单个后台线程,用于顺序地执行所有计时器任务。计时器任务应该迅速完成。如果完成某个计时器任务的时间太长,那么它会“独占”计时器的任务 执行线程。因此,这就可能延
通过使用正则表达式实现提取文本中汉字的个数。package com.kkoolerter;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Main { public static void main(String[] args) { &nb
我们知道在Java中有两种方式可以实现Java的多线程,一种是通过继续Thread类并重写run()方法;另一种是通过实现Runnable接口。废话少说,先跑下面的例子先:package com.kkoolerter.thread;public class ThreadTest { public static void ma
SequenceInputStream 表示其他输入流的逻辑串联。它从输入流的有序集合开始,并从第一个输入流开始读取,直到到达文件末尾,接着从第二个输入流读取,依次类推,直到到达包含的最后一个输入流的文件末尾为止。下面实现的例子是先读取本地文件流再读取一个网络流,然后输出;先读取一个网络流再读取一个本地文件流,然后再输出。package com.kkoolerter;import java.io.
package com.kkoolerter.system;public class SystemTest { public static void main(String[] args) { System.out.println("操作系统名称:"+System.getProperty(
一、与领导保持适当的距离 不想天真的想着走“群众路线”而远离领导,和同事打成一片。有人以为只要认真做事,就能在公司立足。可是领导可能会觉得你“表现平平”而炒你鱿鱼。也不可 频频在领导眼前晃悠:开会抢坐他旁边,隔三岔五主动汇报工作……这时会受到同事们的鄙视,给领导的感觉也是太爱出风头。所以离得太远,会被忽略;离得太 近,会被伤着。要保持恰当的一个度,让
通过使用CyclicBarrier类来实现并发抓取网络图片:CyclicBarrier是一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier。
package com.kkoolerter;import java.io.File;import java.io.FileOutputStream;import java.io.FilePermission;import java.io.OutputStream;public class FilePermissionTest { /**
服务端:(各接口参考客户端)package com.kkoolerter.service;import java.io.Serializable;import java.rmi.RemoteException;import java.rmi.server.UnicastRemoteObject;import java.util.Vector;public class ChatService ext
客户端接口:package com.kkoolerter.service;import java.rmi.Remote;import java.rmi.RemoteException;public interface IChatClient extends Remote { public String getUserName()throws RemoteExce
--定义链表储存结构list = nil;list = {next = next,value = v};local l = list;--初始化一个链表for i = 1,10 do l.value = i; l = {next = l,value=i};end;--输出链表local list_out = l;while list_out do
XMLEncoder 类是 ObjectOutputStream 的互补替换,可用于生成 JavaBean 的文本表示形式,所使用方式与用 ObjectOutputStream 创建 Serializable 对象的二进制表示形式的方式相同。尽管两者的 API 类似,但 XMLEncoder 类仅设计用于将 JavaBean 的图形归档为其公共属性的文本表示形式。与 Java 源文件类似,以这种方
Statement 对象表示基本语句,其中将单个方法应用于某一目标和一组参数,以返回结果,比如 "a.setFoo(b)"。注意,此示例使用名称来指示目标及其参数,statement 对象不需要名称空间,可以使用值本身构造。statement 对象将指定方法与其环境相关联,作为值的简单集合:目标和参数值数组。其构造函数如下:Statement(Object target,
1、首先设置EhCache,建立配置文件ehcache.XML,默认的位置在class-path,可以放到你的src目录下:?xml version=1.0 encoding=UTF-8?ehcache ... - Discuz! Board 1、首先设置EhCache,建立配置文件ehcache.XML,默认的位置在class-path,可以放到你的src目录下:<?xml versio
/* * tree.h * * Created on: 2010-11-12 * Author: Jenson */#ifndef TREE_H_#define TREE_H_typedef int item_type;typedef struct _treenode_ *bt
btree bt_create(char* str) { btree tmp[MAX_SIZE]; btree p = NULL; btree tree; int top = -1; int k, j = 0; 
int bt_node_count(btree tree) { int num1, num2; if (tree == NULL) { return 0; } else { &nbs
int bt_leaf_count(btree tree) { int num1, num2; if (tree == NULL) { return 0; } else if (tree->lchild == N
int bt_height(btree tree) { int leftdep, rightdep; if (tree == NULL) { return 0; } else { &
void bt_level_num(btree tree, int a[], int h) { if (tree == NULL) { h = 0; } else { a[h] +
void bt_all_path(btree tree, item_type a[], int len) { int i; if (tree != NULL) { if (tree->lchild == NULL && tree-&
int bt_copy(btree desc,btree src){ if(src != NULL){ desc = (btree)malloc(sizeof(struct _treenode_)); if(desc
void bt_traverse_l(btree tree) { btree tmp[MAX_SIZE], p; int level[MAX_SIZE][2]; int top = -1; int n, i, width = 4;
第一种:前序遍历void bt_pre_order_traverse(btree tree) { if (tree != NULL) { printf("%c->", tree->data); bt_pr
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号