2009年12月10日
#
import javax.microedition.rms.InvalidRecordIDException;
import javax.microedition.rms.RecordStore;
import javax.microedition.rms.RecordStoreException;
import javax.microedition.rms.RecordStoreFullException;
import javax.microedition.rms.RecordStoreNotFoundException;
import javax.microedition.rms.RecordStoreNotOpenException;
public class RecordStoreUtil {
public RecordStore openARecondStore(String rsname){
RecordStore rs=null;
if(rsname.length()>32) return null;
try{
rs=RecordStore.openRecordStore(rsname,true);
}catch(RecordStoreFullException notFoundException){
}catch(RecordStoreNotFoundException notFoundException){
}catch(RecordStoreException notFoundException){
}finally{
return rs;
}
}
public RecordStore openARecordStoreExisted(String rsname){
RecordStore rs=null;
if(rsname.length()>32)return null;
try{
rs=RecordStore.openRecordStore(rsname,false);
}catch(RecordStoreFullException notFoundException){
}catch(RecordStoreNotFoundException notFoundException){
}catch(RecordStoreException notFoundException){
}finally{
return rs;
}
}
//删除
public static boolean delRecordStore(String rsname){
//
if(rsname.length()>32)return false;
//
try{
RecordStore.deleteRecordStore(rsname);
}catch(Exception e){
return false;
}
return true;
}
//添加
public static int writeString(RecordStore rs,String myString){
byte[] b=myString.getBytes();
int id=-1;
try{
id=rs.addRecord(b, 0, b.length);
}catch(Exception e){
//
}
return id;
}
//获取
public static String getString(RecordStore rs,int id){
try {
byte[] b = rs.getRecord(id);
return (new String(b));
} catch (RecordStoreNotOpenException ex) {
ex.printStackTrace();
} catch (InvalidRecordIDException ex) {
ex.printStackTrace();
} catch (RecordStoreException ex) {
ex.printStackTrace();
}
return null;
}
//修改
public static void setString(RecordStore rs,int id,String newString){
byte[] b=newString.getBytes();
try {
rs.setRecord(id, b, 0, b.length);
} catch (Exception ex) {
}
}
//添加证书数据记录
public static int writeInt(RecordStore rs,int myInt){
int id=-1;
String myString=(new Integer(myInt)).toString();
id=writeString(rs,myString);
return id;
}
//获取
public static int getInt(RecordStore rs,int id){
int result=Integer.MAX_VALUE;
String s=getString(rs,id);
try{
result=Integer.parseInt(s);
}catch(Exception e){
}
return result;
}
//修改
public static void setInt(RecordStore rs,int newInt){
String myString=(new Integer(newInt)).toString();
}
}
2009年12月7日
#
XP.CMD命令大全
有关某个命令的详细信息,请键入 HELP 命令名
ASSOC 显示或修改文件扩展名关联。
AT 计划在计算机上运行的命令和程序。
ATTRIB 显示或更改文件属性。
BREAK 设置或清除扩展式 CTRL+C 检查。
CACLS 显示或修改文件的访问控制列表(ACLs)。
CALL 从另一个批处理程序调用这一个。
CD 显示当前目录的名称或将其更改。
CHCP 显示或设置活动代码页数。
CHDIR 显示当前目录的名称或将其更改。
CHKDSK 检查磁盘并显示状态报告。
CHKNTFS 显示或修改启动时间磁盘检查。
CLS 清除屏幕。
CMD 打开另一个 Windows 命令解释程序窗口。
COLOR 设置默认控制台前景和背景颜色。
COMP 比较两个或两套文件的内容。
COMPACT 显示或更改 NTFS 分区上文件的压缩。
CONVERT 将 FAT 卷转换成 NTFS。您不能转换
当前驱动器。
COPY 将至少一个文件复制到另一个位置。
DATE 显示或设置日期。
DEL 删除至少一个文件。
DIR 显示一个目录中的文件和子目录。
DISKCOMP 比较两个软盘的内容。
DISKCOPY 将一个软盘的内容复制到另一个软盘。
DOSKEY 编辑命令行、调用 Windows 命令并创建宏。
ECHO 显示消息,或将命令回显打开或关上。
ENDLOCAL 结束批文件中环境更改的本地化。
ERASE 删除至少一个文件。
EXIT 退出 CMD.EXE 程序(命令解释程序)。
FC 比较两个或两套文件,并显示
不同处。
FIND 在文件中搜索文字字符串。
FINDSTR 在文件中搜索字符串。
FOR 为一套文件中的每个文件运行一个指定的命令。
FORMAT 格式化磁盘,以便跟 Windows 使用。
FTYPE 显示或修改用于文件扩展名关联的文件类型。
GOTO 将 Windows 命令解释程序指向批处理程序
中某个标明的行。
GRAFTABL 启用 Windows 来以图像模式显示
扩展字符集。
HELP 提供 Windows 命令的帮助信息。
IF 执行批处理程序中的条件性处理。
LABEL 创建、更改或删除磁盘的卷标。
MD 创建目录。
MKDIR 创建目录。
MODE 配置系统设备。
MORE 一次显示一个结果屏幕。
MOVE 将文件从一个目录移到另一个目录。
PATH 显示或设置可执行文件的搜索路径。
PAUSE 暂停批文件的处理并显示消息。
POPD 还原 PUSHD 保存的当前目录的上一个值。
PRINT 打印文本文件。
PROMPT 更改 Windows 命令提示符。
PUSHD 保存当前目录,然后对其进行更改。
RD 删除目录。
RECOVER 从有问题的磁盘恢复可读信息。
REM 记录批文件或 CONFIG.SYS 中的注释。
REN 重命名文件。
RENAME 重命名文件。
REPLACE 替换文件。
RMDIR 删除目录。
SET 显示、设置或删除 Windows 环境变量。
SETLOCAL 开始批文件中环境更改的本地化。
SHIFT 更换批文件中可替换参数的位置。
SORT 对输入进行分类。
START 启动另一个窗口来运行指定的程序或命令。
SUBST 将路径跟一个驱动器号关联。
TIME 显示或设置系统时间。
TITLE 设置 CMD.EXE 会话的窗口标题。
TREE 以图形模式显示驱动器或路径的目录结构。
TYPE 显示文本文件的内容。
VER 显示 Windows 版本。
VERIFY 告诉 Windows 是否验证文件是否已正确
写入磁盘。
VOL 显示磁盘卷标和序列号。
XCOPY 复制文件和目录树。
appwiz.cpl------------添加删除程序
control userpasswords2--------用户帐户设置
cleanmgr-------垃圾整理
CMD--------------命令提示符可以当作是 Windows 的一个附件,Ping,Convert 这些不能在图形环境下 使用的功能要借助它来完成。
cmd------jview察看Java虚拟机版本。
command.com------调用的则是系统内置的 NTVDM,一个 DOS虚拟机。它完全是一个类似 Virtual PC 的 虚拟环境,和系统本身联系不大。当我们在命令提示符下运行 DOS 程序时,实际上也 是自动转移到 NTVDM虚拟机下,和 CMD 本身没什么关系。
calc-----------启动计算器
chkdsk.exe-----Chkdsk磁盘检查
compmgmt.msc---计算机管理
conf-----------启动 netmeeting
control userpasswords2-----User Account 权限设置
devmgmt.msc--- 设备管理器
diskmgmt.msc---磁盘管理实用程序
dfrg.msc-------磁盘碎片整理程序
drwtsn32------ 系统医生
dvdplay--------启动Media Player
dxdiag-----------DirectX Diagnostic Tool
gpedit.msc-------组策略编辑器
gpupdate /target:computer /force 强制刷新组策略
eventvwr.exe-----事件查看器
explorer-------打开资源管理器
logoff---------注销命令
lusrmgr.msc----本机用户和组
msinfo32---------系统信息
msconfig---------系统配置实用程序
net start (servicename)----启动该服务
net stop (servicename)-----停止该服务
notepad--------打开记事本
nusrmgr.cpl-------同control userpasswords,打开用户帐户控制面板
Nslookup-------IP地址侦测器
oobe/msoobe /a----检查XP是否激活
perfmon.msc----计算机性能监测程序
progman--------程序管理器
regedit----------注册表编辑器
regedt32-------注册表编辑器
regsvr32 /u *.dll----停止dll文件运行
route print------查看路由表
rononce -p ----15秒关机
rsop.msc-------组策略结果集
rundll32.exe rundll32.exe %Systemroot%System32shimgvw.dll,ImageView_Fullscreen----启动一个空白的Windows 图片和传真查看器
secpol.msc--------本地安全策略
services.msc---本地服务设置
sfc /scannow-----启动系统文件检查器
sndrec32-------录音机
taskmgr-----任务管理器(适用于2000/xp/2003)
tsshutdn-------60秒倒计时关机命令
winchat--------XP自带局域网聊天
winmsd---------系统信息
winver-----显示About Windows 窗口
wupdmgr-----------Windows Update
一、连接mysql。
格式: mysql -h主机地址 -u用户名 -p用户密码
1、连接到本机上的MYSQL。
首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码.
如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql>
2、连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
mysql -h110.110.110.110 -u root -p 123;(注:u与root之间可以不用加空格,其它也一样)
3、退出MYSQL命令: exit (回车)
二、修改密码。
格式:mysqladmin -u用户名 -p旧密码 password 新密码
1、给root加个密码ab12。首先在DOS下进入目录mysql\bin,然后键入以下命令
mysqladmin -u root -password ab12
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
2、再将root的密码改为djg345。
mysqladmin -u root -p ab12 password djg345
三、增加新用户。
(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用root用户连入MYSQL,然后键入以下命令:
grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
但增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见2。
2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),
这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";
如果你不想test2有密码,可以再打一个命令将密码消掉。
grant select,insert,update,delete on mydb.* to test2@localhost identified by "";
四、显示命令
mysql> select version(); 查看MySQL的版本号
mysql> select current_date(); 查看MySQL的当前日期
mysql> select version(),current_date(); 同时查看MySQL的版本号和当前日期
mysql> show databases; 显示当前存在的数据库
mysql> USE mysql 选择使用数据库(USE和QUIT命令不需要分号结束)
Database changed
mysql> select database(); 显示当前选择的数据库
mysql> show tables; 显示当前数据库中存在的表
mysql> select * from db; 显示表(db)的内容
mysql> describe mytable; 显示表的结构
1、显示当前数据库服务器中的数据库列表:
mysql> SHOW DATABASES;
注意:mysql库里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
2、显示数据库中的数据表:
mysql> USE 库名;
mysql> SHOW TABLES;
3、显示数据表的结构:
mysql> DESCRIBE 表名;
4、建立数据库:
mysql> CREATE DATABASE 库名;
5、建立数据表:
mysql> USE 库名;
mysql> CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1));
6、删除数据库:
mysql> DROP DATABASE 库名;
7、删除数据表:
mysql> DROP TABLE 表名;
8、将表中记录清空:
mysql> DELETE FROM 表名;
9、显示表中的记录:
mysql> SELECT * FROM 表名;
10、往表中插入记录:
mysql> INSERT INTO 表名 VALUES ("hyq","M");
11、更新表中数据:
mysql-> UPDATE 表名 SET 字段名1='a',字段名2='b' WHERE 字段名3='c';
12、用文本方式将数据装入数据表中:
mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE 表名;
13、导入.sql文件命令:
mysql> USE 数据库名;
mysql> SOURCE d:/mysql.sql;
14、命令行修改root密码:
mysql> UPDATE mysql.user SET password=PASSWORD('新密码') WHERE User='root';
mysql> FLUSH PRIVILEGES;
注意用此种方法修改密码时别忘了 password=password('新密码') 如果直接用 password='新密码',下次登录时会出现问题以至于登录不进去,因为此密码没用经过password()函数处理,这样写入到user表中的密码系统不能识别就会显示用户名和密码错误的信息。
如果在修改密码的过程中出现问题以至于没有一个用户可以进入mysql则可以用以下的方法重新修改用户名和密码:
bin>mysqld --skip-grant-tables;然后再在 另外一个bin>mysql 便可直接进入mysql ,进入后便修改相关数据。
15、显示use的数据库名:
mysql> SELECT DATABASE();
16、显示当前的user:
mysql> SELECT USER();
五、一个建库和建表以及插入数据的实例
drop database if exists school; //如果存在SCHOOL则删除
create database school; //建立库SCHOOL
use school; //打开库SCHOOL
create table teacher //建立表TEACHER
(
id int(3) auto_increment not null primary key,
name char(10) not null,
address varchar(50) default '深圳',
year date
); //建表结束
//以下为插入字段
insert into teacher values('','allen','大连一中','1976-10-10');
insert into teacher values('','jack','大连二中','1975-12-23');
如果你在mysql提示符键入上面的命令也可以,但不方便调试。
(1)你可以将以上命令原样写入一个文本文件中,假设为school.sql,然后复制到c:\\下,并在DOS状态进入目录,然后键入以下命令:
mysql -uroot -p密码 < c:\\school.sql
如果成功,空出一行无任何显示;如有错误,会有提示。(以上命令已经调试,你只要将//的注释去掉即可使用)。
(2)或者进入命令行后使用 mysql> source c:\\school.sql; 也可以将school.sql文件导入数据库中。
六、将文本数据转到数据库中
1、文本数据应符合的格式:字段数据之间用tab键隔开,null值用来代替.例:
3 rose 大连二中 1976-10-10
4 mike 大连一中 1975-12-23
假设你把这两组数据存为school.txt文件,放在c盘根目录下。
2、数据传入命令 load data local infile "c:\\school.txt" into table 表名;
注意:你最好将文件复制到目录下,并且要先用use命令打表所在的库。
七、备份数据库:(命令在DOS的目录下执行)
1.导出整个数据库
导出文件默认是存在mysql\bin目录下
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u user_name -p123456 database_name > outfile_name.sql
2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u user_name -p database_name table_name > outfile_name.sql
3.导出一个数据库结构
mysqldump -u user_name -p -d --add-drop-table database_name > outfile_name.sql
-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
4.带语言参数导出
mysqldump -uroot -p --default-character-set=latin1 --set-charset=gbk --skip-opt database_name > outfile_name.sql
2009年12月3日
#
// RowLayoutTest .java
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.RowData;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class RowLayoutTest {
/**
* @param args
*/
public static void main(String[] args) {
Display display=new Display();
Shell shell=new Shell();
shell.setText("标题");
shell.setSize(400,300);
//RowLayout布局就是是组件按行排列
//shell.setLayout(new RowLayout());
//组件
new Button(shell,SWT.NONE).setText("kkk");
new Button(shell, SWT.NONE).setText("确定");
new Button(shell,SWT.NONE).setText("kk1");
new Button(shell, SWT.NONE).setText("确1");
new Button(shell,SWT.NONE).setText("kk2");
new Button(shell, SWT.NONE).setText("确2");
new Button(shell,SWT.NONE).setText("kkk");
new Button(shell, SWT.NONE).setText("确定");
new Button(shell,SWT.NONE).setText("kk1");
new Button(shell, SWT.NONE).setText("确1");
new Button(shell,SWT.NONE).setText("kk2");
new Button(shell, SWT.NONE).setText("确2");
new Button(shell,SWT.NONE).setText("kkk");
new Button(shell, SWT.NONE).setText("确定");
new Button(shell,SWT.NONE).setText("kk1");
new Button(shell, SWT.NONE).setText("确1");
new Button(shell,SWT.NONE).setText("kk2");
new Button(shell, SWT.NONE).setText("确2");
RowLayout layout = new RowLayout( /*SWT.VERTICAL垂直排列*/ );
layout.marginWidth = 20;
layout.marginHeight = 10;
layout.spacing = 15;
//垂直排列
//layout.type = SWT.VERTICAL;
//设置布局管理器上的组件大小相同
//layout.pack = false;
// 设置布局管理器上的组件根据容器空间可以拉伸
layout.justify = true;
//不自动换行
// layout.wrap = false;
new Button(shell, SWT.NONE).setText("确定");
Button b = new Button(shell, SWT.NONE);
b.setText("取消");
// 使用RowData布局数据类来控制按钮,使按钮改为50像素宽,30像素长
RowData rowData = new RowData(50, 30);
// 把组件隐藏不占位,相当于组件不存在
//rowData.exclude = true;
rowData.width = 100;
//把组件隐藏,但位置还占着
//b.setVisible(false);
b.setLayoutData(rowData);
new Button(shell, SWT.NONE).setText("帮助");
shell.setLayout(layout);
shell.open();
while(!shell.isDisposed()){
if(!display.readAndDispatch()){
display.sleep();
}
}
display.dispose();
}
}
//GridLayoutTest
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class GridLayoutTest {
/**
* @param args
*/
/**
* @param args
*/
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell();
shell.setText("标题");
shell.setSize(400, 300);
//GridLayout为网格布局
//4代表把这个布局分成几列
//false代表是否等距分隔空间
shell.setLayout(new GridLayout(4, true));
// 组建
new Button(shell, SWT.NONE).setText("kkk");
new Button(shell, SWT.NONE).setText("确定");
new Button(shell, SWT.NONE).setText("kk1");
new Button(shell, SWT.NONE).setText("确1");
new Button(shell,SWT.NONE).setText("kk2");
new Button(shell, SWT.NONE).setText("确2");
new Button(shell, SWT.NONE).setText("kkk");
new Button(shell, SWT.NONE).setText("确定");
new Button(shell, SWT.NONE).setText("kk1");
new Button(shell, SWT.NONE).setText("确1");
new Button(shell,SWT.NONE).setText("kk2");
new Button(shell, SWT.NONE).setText("确2");
// 定义一个GridData对象,让帮助按钮占用n列的空间
Button helpButton = new Button(shell, SWT.NONE);
//GridData.FILL_VERTICAL是按钮垂直放置
GridData gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL/*这个是水平对齐式填充*//* GridData.FILL_HORIZONTAL 这个是水平抢占式填充*//* GridData.FILL_VERTICAL*/);
gridData.horizontalSpan = 3;//该句使按钮占用两列空间
//gridData.grabExcessHorizontalSpace=true;
//gridData.verticalSpan = 2;
//gridData.grabExcessVerticalSpace=true;
helpButton.setLayoutData(gridData);
helpButton.setText("帮助");
new Button(shell, SWT.NONE).setText("kk1");
new Button(shell, SWT.NONE).setText("确1");
new Button(shell,SWT.NONE).setText("kk2");
new Button(shell, SWT.NONE).setText("确2");
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
}
//FillLayoutTest
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class FillLayoutTest {
public static void main(String[] args) {
Display display=new Display();
Shell shell=new Shell();
shell.setText("标题");
shell.setSize(400,300);
//布局FillLayout就是使组建占满整个容器 默认为横着排 SWT.VERTICAL是组建垂直排
// shell.setLayout(new FillLayout(SWT.VERTICAL));
shell.setLayout(new FillLayout());
//组建
new Button(shell,SWT.NONE).setText("kkk");
new Button(shell, SWT.NONE).setText("确定");
new Button(shell,SWT.NONE).setText("kk1");
// new Button(shell, SWT.NONE).setText("确1");
// new Button(shell,SWT.NONE).setText("kk2");
// new Button(shell, SWT.NONE).setText("确2");
shell.open();
while(!shell.isDisposed()){
if(!display.readAndDispatch()){
display.sleep();
}
}
display.dispose();
}
}
2009年12月2日
#
右键单击web工程名,在出现的右键菜单栏中会有一行“MyEclipse”,选择这个,在出现的栏中再选择“Add Struts Capabilities”,出现对话框,点击OK了。
2009年12月1日
#
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class GraphicsTest extends MIDlet{
private Display display;
public GraphicsTest() {
display=Display.getDisplay(this);
}
protected void destroyApp(boolean unconditional) {
}
protected void pauseApp() {
}
protected void startApp(){
MyCanvas mc=new MyCanvas();
display.setCurrent(mc);
}
}
class MyCanvas extends Canvas {
public void paint(Graphics g){
int width=getWidth();
int height=getHeight();
String a[]={"静夜思","李白","床前明月光","疑是地上霜","举头望明月","低头思故乡"};
g.setColor(0);
g.fillRect(0, 0, width, height);
g.setColor(0Xffff00);
Font font=g.getFont();
font=Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_UNDERLINED,Font.SIZE_LARGE);
g.setFont(font);
for(int i=0;i<a.length;i++){
g.drawString(a[i], 0, i*20,Graphics.LEFT|Graphics.BASELINE );
}
}
}
//--------------------------------------------------------------------------------------------
利用移动原点坐标动起来之后的静夜思
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class GraphicsTest extends MIDlet{
private Display display;
public GraphicsTest() {
display=Display.getDisplay(this);
}
protected void destroyApp(boolean unconditional) {
}
protected void pauseApp() {
}
protected void startApp(){
MyCanvas mc=new MyCanvas();
display.setCurrent(mc);
}
}
class MyCanvas extends Canvas {
int aa=300;
MyCanvas(){
Walk w = new Walk();
w.start();
}
public void paint(Graphics g){
int width=getWidth();
int height=getHeight();
String a[]={"静夜思","李白","床前明月光","疑是地上霜","举头望明月","低头思故乡"};
g.setColor(0);
g.fillRect(0, 0, width, height);
g.setColor(0Xffff00);
g.translate(80,aa);
Font font=g.getFont();
font=Font.getFont(Font.FACE_PROPORTIONAL,Font.FACE_SYSTEM,Font.SIZE_LARGE);
g.setFont(font);
for(int i=0;i<a.length;i++){
g.drawString(a[i], 0, i*20,20);
}
}
class Walk extends Thread{
public void run(){
while(aa>80){
aa--;
repaint();
try{
sleep(50);
}catch(Exception ee){}
}
}
}
}
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class GraphicsTest extends MIDlet{
private Display display;
public GraphicsTest() {
display=Display.getDisplay(this);
}
protected void destroyApp(boolean unconditional) {
}
protected void pauseApp() {
}
protected void startApp(){
MyCanvas mc=new MyCanvas();
display.setCurrent(mc);
}
}
class MyCanvas extends Canvas {
public void paint(Graphics g){
int width=getWidth();
int height=getHeight();
g.setColor(0);
g.fillRect(0, 0, width, height);
int a=width/5;
int b=height/5;
g.setColor(0Xffff00);
for(int i=1;i<=4;i++){
g.drawLine(a,0 ,a,height);
g.drawLine( 0,b, width,b);
a=a+width/5;
b=b+height/5;
} g.drawArc(0, 0, width, height, 0, 360);
}
}
在用[MyEclipse] 写代码很容易卡死机,尤其是在对JSP文件的<%%>之间写代码的时候,只要一弹出智能提示就立刻卡死,程序失去响应,我以为是MyEclipse版本的问题,结果换了6.0版-》6.5版-》7.0版全都一样,难道是我机子的问题?可是还原系统后用还是一样的结果。
在网上找了很久才知道,是MyEclipse在智能提示的时候自动访问网络上sun公司的最新API文档,只要关闭掉网络连接就可以了。我试了试断开网络然后在用MyEclipse写代码,结果还真的搞定了。可是,我总不能因为个这就不上网了吧,终于,找到了两全其美的解决方法。
在自己创建的工程名上右键,选择Properties》在打开的窗口中点击Java Build Path》单击Libraries选项卡,找到
JRE System Libraries->charsets.jar->Javadoc location
选中Javadoc location,再选择右边的Remove,更改成Javadoc location: (None),点击OK。
接下来在写代码的时候就不会再卡死了。
MyEclipse 6.5编写jsp代码时联想输入无响应解决方法
很头疼的一个问题,在jsp页面输入“.”之后,MyEclipse往往会出现无响应,要等上好几分钟才能恢复正常,找了很多方法,下面这个方法是最有效的,其实很简单:
Window-->java-->Installed JREs-->选中你的版本-->Edit-->选中jar包-->Javadoc Location 那里有个path
把path下面的地址去掉就OK了!
原因就是在引用javax.servelet.jar这个包中的javadoc location 位置设置的sun官方网站。这样每次提示的时候都要去sun官方网站去找doc所以导致MyEclipse会无响应,当禁用网卡或者拔掉网线的时候,就不会出现这种情况http://java.sun.com/j2se/1.5.0/docs/api/
总之把所有关于
java.sun.com的东西都关掉就ok了应该是有5个
2009年11月28日
#
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class test_swt {
public static void main(String[] args) {
Display display=new Display();
final Shell shell=new Shell();
shell.setSize(600,300);
shell.setText("标题");
shell.layout();
//打开主窗口
shell.open();
//创建其他组件
Button button = new Button(shell, SWT.NONE);
//设定按钮上的字体
button.setText("确定");
//设置按钮文字的提示性语句
button.setToolTipText("按钮提示性语句");
//设定按钮在主窗口上的位置
button.setBounds(300, 120, 60, 30);
button.addSelectionListener(new SelectionAdapter(){//添加按钮监听(使用内部类方法)
public void widgetSelected(SelectionEvent e){
MessageDialog.openInformation(shell, "弹出窗口标题", "弹出窗口的内容");
}
});
//如果shell主窗口没有关闭,则一直循环
while(!shell.isDisposed()){
//如果Display不忙,就让Display处于休眠状态
if(!display.readAndDispatch()){
display.sleep();
}
}
//释放Display的资源
display.dispose();
}
}
2009年11月26日
#
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class SimpleCanvas extends MIDlet{
private Display display;
public SimpleCanvas() {
display=Display.getDisplay(this);
}
protected void destroyApp(boolean unconditional) {
}
protected void pauseApp() {
}
protected void startApp(){
MyCanvas mc=new MyCanvas();
display.setCurrent(mc);
}
}
class MyCanvas extends Canvas {
public void paint(Graphics g){
g.setColor(0,0,0);
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(255, 255,255);
g.drawString("你好,测试", 100, 100, 0);
}
}