#
//Frame1.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Frame1 extends JFrame {
public Frame1() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
this.setSize(new Dimension(400, 300));
this.setTitle("Frame1");
}
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
}
2.直接实现WindowListener接口
//Frame1.java
import java.awt.*;
import java.awt.event.*;
public class Frame1 extends Frame implements WindowListener {
public Frame1() {
this.setSize(new Dimension(400, 300));
this.setTitle("Frame1");
this.addWindowListener(this);
}
public void windowClosing(WindowEvent windowEvent) {
System.exit(0);
}
public void windowOpened(WindowEvent windowEvent) { }
public void windowClosed(WindowEvent windowEvent) { }
public void windowIconified(WindowEvent windowEvent) { }
public void windowDeiconified(WindowEvent windowEvent) { }
public void windowActivated(WindowEvent windowEvent) { }
public void windowDeactivated(WindowEvent windowEvent) { }
}
3.直接继承窗体适配器WindowAdapter
//Frame1.java
import java.awt.*;
import java.awt.event.*;
public class Frame1 extends WindowAdapter {
public Frame1() {
Frame f=new Frame();
f.setSize(new Dimension(400, 300));
f.setTitle("Frame1");
f.addWindowListener(this);
f.setVisible(true);
}
public static void main(String[] s){
new Frame1();
}
public void windowClosing(WindowEvent windowEvent) {
System.exit(0);
}
}
4.间接继承窗体适配器WindowAdapter
//Frame1.java
import java.awt.*;
import java.awt.event.*;
public class Frame1 extends Frame {
public Frame1() {
this.setSize(new Dimension(400, 300));
this.setTitle("Frame1");
this.addWindowListener(new winAdapter());
this.setVisible(true);
}
public static void main(String[] s){
new Frame1();
}
}
class winAdapter extends WindowAdapter{
public void windowClosing(WindowEvent windowEvent) {
System.exit(0);
}
}
5.间接实现WindowListener接口
//Frame1.java
import java.awt.*;
import java.awt.event.*;
public class Frame1 extends Frame {
public Frame1() {
this.setSize(new Dimension(400, 300));
this.setTitle("Frame1");
this.addWindowListener(new winEventHandle());
this.setVisible(true);
}
public static void main(String[] s){
new Frame1();
}
}
class winEventHandle implements WindowListener {
public void windowClosing(WindowEvent windowEvent) {
System.exit(0);
}
public void windowOpened(WindowEvent windowEvent) { }
public void windowClosed(WindowEvent windowEvent) { }
public void windowIconified(WindowEvent windowEvent) { }
public void windowDeiconified(WindowEvent windowEvent) { }
public void windowActivated(WindowEvent windowEvent) { }
public void windowDeactivated(WindowEvent windowEvent) { }
}
6.使用Inner Class
//Frame1.java
import java.awt.*;
import java.awt.event.*;
public class Frame1{
public Frame1(){
Frame f=new Frame();
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
f.setSize(new Dimension(400, 300));
f.setVisible(true);
}
public static void main(String[] s){
new Frame1();
}
}
Jframe的关闭方法:
setDefaultCloseOperation(EXIT_ON_CLOSE);
frame的关闭方法如下:
this.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent e) {
System.exit(0);
//连接MySQL的方法
import java.sql.Connection;
import java.sql.DriverManager;
public class DBConnection {
private static String DB_DRIVER = "com.mysql.jdbc.Driver";
private static String DB_URL = "jdbc:mysql://localhost:3306/test";
private static String DB_NAME = "root";
private static String DB_PASSWORD = "MySQLde密码";
public static Connection getConn(){
try {
Class.forName(DB_DRIVER);
Connection conn = DriverManager.getConnection(DB_URL, DB_NAME, DB_PASSWORD);
return conn;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
public calss DBConnection{
//建立一个静态方法,返回一个数据库的连接
//这样就可以达到对数据库进行统一管理的效果
public static Connection getConnection(){
Connection con = null;
String driver = "com.microsoft.jdbc.sqlserver.SQLSerDriver";
String severURL = "jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=数据库名";
String username = "数据库用户名";
String password = "数据库密码";
try{
Class.forName(driver);
con = DriverManager.getConnection(severURL, username, password);
}catch(Exception e){
e.printStackTace();
}
}
}
例如:一个实体类要持久化
public class EntityClass{
private Connection con;
//通过构造方法获取数据库的连接
public EntityClass{
con = DBConnection.getConnection();
}
public Connection getInfo(){
PreparedStatement st = con.preparedStatement();
String sql = "sql 语句";
ResultSet rs = st.executeQuery(sql);
.......
//关闭数据库的连接
con.close();
.......
}
}
首先强调几点:
1、不能调整系统盘。
2、被调整盘上的数据会全部丢失(可先移至不重分的盘)。
操作步骤:
1、关闭所有应用程序,打开“控制面板”,打开“管理工具”,打开“计算机管理”。
2、在左边栏中选择“存储”,再选择“磁盘管理”,在右边就会显示你计算机的磁盘分区情况,右下方则出现分区图示,这也就是我们要操作的地方。
3、右键单击要修改的磁盘分区,在弹出的菜单中选择“删除逻辑驱动器”(细心的朋友可能已发现,这里还可以修改驱动器号,如你的电脑有3个分区,光盘是D盘,你想把它改为F盘,你就在这儿下手吧),再选“确定”。
4、用以上方法删除所要修改的几个分区,被删除的分区容量会自动相加显示为未指派(用黑色进行标记,已分的即不改的显示为蓝色)。
5、然后是重新分区,在未指派的区块上,即黑色区块上单击右键,在弹出菜单中选 择“新建逻辑驱动器”——点击“下一步”——“下一步”。
6、在分区大小一栏中输入分区容量数值。(里面默认的数值为未分区的全部大小,如果你只想再分一个区,那就不要修改了,如果要新分几个区那就重新输入数值吧,但分最后一区时,要取默认数值,这个道理不用我多说了吧。)(1G=1024MB),点击“下一步”。
7、调整驱动器号,一般不用改,直接单击“下一步”。
8、选择是否格式化新的分区,一般还是选格式化,这里有三个选顶:I、是选择磁盘的文件系统,个人认为还是选FAT32好,II、第二顶不用管;III、第三顶就是给磁盘取一个自已喜欢的名字,老是“ 本地磁盘”没有新意)。还有就是最好勾选“执行快速格式化”一顶,否则格式化过程会很慢。然后“下一步”——“完成”。
9、重复5——8步,分出所要重新划分的其他分区。至此,我们实现现了不用任何其他第三方分区软件而调整了计算机的分区
MyEclipse 全部快捷键
(1)Ctrl+M切换窗口的大小
(2)Ctrl+Q跳到最后一次的编辑处
(3)F2当鼠标放在一个标记处出现Tooltip时候按F2则把鼠标移开时Tooltip还会显示即Show Tooltip Description。
F3跳到声明或定义的地方。
F5单步调试进入函数内部。
F6单步调试不进入函数内部,如果装了金山词霸2006则要把“取词开关”的快捷键改成其他的。
F7由函数内部返回到调用处。
F8一直执行到下一个断点。
(4)Ctrl+Pg~对于XML文件是切换代码和图示窗口
(5)Ctrl+Alt+I看Java文件中变量的相关信息
(6)Ctrl+PgUp对于代码窗口是打开“Show List”下拉框,在此下拉框里显示有最近曾打开的文件
(7)Ctrl+/ 在代码窗口中是这种//~注释。
Ctrl+Shift+/ 在代码窗口中是这种/*~*/注释,在JSP文件窗口中是<!--~-->。
(8)Alt+Shift+O(或点击工具栏中的Toggle Mark Occurrences按钮) 当点击某个标记时可使本页面中其他地方的此标记黄色凸显,并且窗口的右边框会出现白色的方块,点击此方块会跳到此标记处。
(9)右击窗口的左边框即加断点的地方选Show Line Numbers可以加行号。
(10)Ctrl+I格式化激活的元素Format Active Elements。
(11)Ctrl+S保存当前文件
Ctrl+Shift+S保存所有未保存的文件
(12)Ctrl+Shift+M(先把光标放在需导入包的类名上) 作用是加Import语句
Ctrl+Shift+O作用是缺少的Import语句被加入,多余的Import语句被删除
(13)Ctrl+Space提示键入内容即Content Assist,此时要将输入法中Chinese(Simplified)IME-Ime/Nonlme Toggle的快捷键(用于切换英文和其他文字)改成其他的如改成Ctrl+Shift+Z,同时在“Text Service and Input Languages”对话框中删掉Chinese(PRC)下面的其他中文输入法只保留紫光输入法,此时按Ctrl+Shift+Z将在英文和紫光中文之间切换
Ctrl+Shift+Space提示信息即Context Information
(14)Ctrl+D删除当前行
(15)双击窗口的左边框可以加断点
(16)在.jap.或.java等文件中右键选“Campare With”或“Replace With”可以找到所有操作的历史记录
(17)在菜单中选Window-Show View-Navigator可调出导航功能窗
(18)Ctrl+1 快速修复(最经典的快捷键,就不用多说了)
Ctrl+Alt+↓
复制当前行到下一行(复制增加)
Ctrl+Alt+↑
复制当前行到上一行(复制增加)
Alt+↓
当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)
Alt+↑
当前行和上面一行交互位置(同上)* ]7 H! T
Alt+←
前一个编辑的页面
Alt+→
下一个编辑的页面(当然是针对上面那条来说了)$
Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性
Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)8 ~. V+
Shift+Ctrl+Enter 在当前行插入空行(原理同上条)
Ctrl+Q 定位到最后编辑的地方
Ctrl+L 定位在某行 (对于程序超过100的人就有福音了)'
Ctrl+M 最大化当前的Edit或View (再按则反之)7 F+
Ctrl+/ 注释当前行,再按则取消注释
Ctrl+O 快速显示 OutLine) |9
Ctrl+T 快速显示当前类的继承结构;
Ctrl+W 关闭当前Editer
Ctrl+K 参照选中的Word快速定位到下一个% b'
Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)
Ctrl+/(小键盘) 折叠当前类中的所有代码.
Ctrl+×(小键盘) 展开当前类中的所有代码
Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替)
Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)*
Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)
Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)9
Ctrl+Shift+F4 关闭所有打开的Editer
Ctrl+Shift+X 把当前选中的文本全部变为小写
Ctrl+Shift+Y 把当前选中的文本全部变为小写
Ctrl+Shift+F 格式化当前代码
Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)0 T+ G
下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift开头的了)
Alt+Shift+R 重命名 (是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力)
Alt+Shift+M 抽取方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)
Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)6 S2
Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)5
Alt+Shift+F 把Class中的local变量变为field变量 (比较实用的功能)1
Alt+Shift+I 合并变量(可能这样说有点不妥Inline)
Alt+Shift+V 移动函数和变量(不怎么常用)
/*Java反射中Method类invoke方法的用法*/
import java.lang.reflect.Method;
public class InvokeTester {
public int add(int param1, int param2) {
return param1 + param2;
}
public String echo(String mesg) {
return "echo" + mesg;
}
public static void main(String[] args) throws Exception {
Class classType = InvokeTester.class;//得到对象
Object invokertester = classType.newInstance();// 创建一个实例
//得到方法
Method addMethod = classType.getMethod("add", new Class[] { int.class,
int.class });
//Method类的invoke(Object obj,Object args[])方法接收的参数必须为对象,
//如果参数为基本类型数据,必须转换为相应的包装类型的对象。invoke()方法的返回值总是对象,
//如果实际被调用的方法的返回类型是基本类型数据,那么invoke()方法会把它转换为相应的包装类型的对象,
//再将其返回
Object result = addMethod.invoke(invokertester, new Object[] {
new Integer(100), new Integer(200) });
//在jdk5.0中有了装箱 拆箱机制 new Integer(100)可以用100来代替,系统会自动在int 和integer之间转换
System.out.println(result);
Method echoMethod = classType.getMethod("echo",
new Class[] { String.class });
result = echoMethod.invoke(invokertester, new Object[] { "hello" });
System.out.println(result);
}
}
在命令行窗口下不能输入中文,只能输入英文,这是因为cmd.exe窗口启动时并没有启动conime.exe进程。事实上,这个进程容易被后门病毒利用,因此网上很多人都把它当成病毒看待,一些网上下载的系统就把这个进程停掉了,事实上它是无辜的。为了让cmd窗口启动时加载conime.exe,需要修改注册表(开始--运行--regedit.exe),逐级展开HKEY_CURRENT_USER\console,其中的loadconime的值从0改为1,然后刷新注册表,退出。那么在CMD启动时就自动运行该进程。
import java.text.SimpleDateFormat;
import java.util.Calendar;
方法一:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String ly_time = sdf.format(new java.util.Date());
System.out.println("现在时间是:"+ly_time);
结果:现在时间是:2008-11-28 14:19:49
方法二:
String ly_time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime());
System.out.println("现在时间是:"+ly_time);
结果:现在时间是:2008-11-28 14:19:49
=======================
java获取当前时间2008年04月14日 星期一 10:11//这是个获取当前时间的简单实例,如下:
//--------------------------------------------
import java.util.*;
import java.text.*;
public class NowString {
public static void main(String[] args) {
Date now = new Date();
DateFormat d = DateFormat.getDateInstance();
String str = d.format(now);
System.out.println("Today is " + str);
}
}
//--------------------------------------------
1、先导入两个类java.util.*,java.text.*
2、加简单的一句话:String date=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime());
date就是你得到的时间,显示格式可以根据("yyyy-MM-dd HH:mm:ss")的格式随意调整,如果你想取到一些更具体的一些日期行数据可以查看API的Calendar类。
3、在JSP页面上可以通过一下方法获取:
function printDate()
{
var today=new Date();
var day=today.getDate();
var month=today.getMonth()+1;
var year=today.getFullYear().toString();
var box1=document.stats.intoDate;
if((month/10)<1)
{
month=("0"+month).toString();
}
if((day/10)<1)
{
day=("0"+today.getDate()).toString();
}
box1.value=year+"-"+month+"-"+day;
}
public void time(){
int year=0;
int month=0;
int day=0;
Calendar c=Calendar.getInstance();//获得系统当前日期
year=c.get(Calendar.YEAR);
month=c.get(Calendar.MONTH)+1;//系统日期从0开始算起
day=c.get(Calendar.DAY_OF_MONTH);
System.out.println(year+""+month+" "+day);
}
public static void main(String args[]){
NewClass ne =new NewClass();
ne.time();
}
winkey+d :
这是高手最常用的第一快捷组合键。这个快捷键组合可以将桌面上的所有窗口瞬间最小化,无论是聊天的窗口还是游戏的窗口……只要再次按下这个组合键,刚才的所有窗口都回来了,而且激活的也正是你最小化之前在使用的窗口!
-
这个就是winkey
winkey+f :
不用再去移动鼠标点“开始→搜索→文件和文件夹"了,在任何状态下,只要一按winkey+f就会弹出搜索窗口。
winkey+r :
在我们的文章中,你经常会看到这样的操作提示:“点击‘开始→运行’,打开‘运行’对话框……"。其实,还有一个更简单的办法,就是按winkey + r!
alt + tab :
如果打开的窗口太多,这个组合键就非常有用了,它可以在一个窗口中显示当前打开的所有窗口的名称和图标●,选中自己希望要打开的窗口,松开这个组合键就可以了。而alt+tab+shift键则可以反向显示当前打开的窗口。
winkey+e :
当你需要打开资源管理器找文件的时候,这个快捷键会让你感觉非常“爽"!再也不用腾出一只手去摸鼠标了!
小提示:
winkey指的是键盘上刻有windows徽标的键●。winkey主要出现在104键和107键的键盘中。104键盘又称win95键盘,这种键盘在原来101键盘的左右两边、ctrl和alt键之间增加了两个windwos键和一个属性关联键。107键盘又称为win98键盘,比104键多了睡眠、唤醒、开机等电源管理键,这3个键大部分位于键盘的右上方。
再补充点.....
F1 显示当前程序或者windows的帮助内容。
F2 当你选中一个文件的话,这意味着“重命名"
F3 当你在桌面上的时候是打开“查找:所有文件" 对话框
F10或ALT 激活当前程序的菜单栏
windows键或CTRL+ESC 打开开始菜单
CTRL+ALT+DELETE 在win9x中打开关闭程序对话框
DELETE 删除被选择的选择项目,如果是文件,将被放入回收站
SHIFT+DELETE 删除被选择的选择项目,如果是文件,将被直接删除而不是
放入回收站
CTRL+N 新建一个新的文件
CTRL+O 打开“打开文件"对话框
CTRL+P 打开“打印"对话框
CTRL+S 保存当前操作的文件
CTRL+X 剪切被选择的项目到剪贴板
CTRL+INSERT 或 CTRL+C 复制被选择的项目到剪贴板
SHIFT+INSERT 或 CTRL+V 粘贴剪贴板中的内容到当前位置
ALT+BACKSPACE 或 CTRL+Z 撤销上一步的操作
ALT+SHIFT+BACKSPACE 重做上一步被撤销的操作
Windows键+D: 最小化或恢复windows窗口
Windows键+U: 打开“辅助工具管理器"
Windows键+CTRL+M 重新将恢复上一项操作前窗口的大小和位置
Windows键+E 打开资源管理器
Windows键+F 打开“查找:所有文件"对话框
Windows键+R 打开“运行"对话框
Windows键+BREAK 打开“系统属性"对话框
Windows键+CTRL+F 打开“查找:计算机"对话框
SHIFT+F10或鼠标右击 打开当前活动项目的快捷菜单
SHIFT 在放入CD的时候按下不放,可以跳过自动播放CD。在打开wo
rd的时候按下不放,可以跳过自启动的宏
ALT+F4 关闭当前应用程序
ALT+SPACEBAR 打开程序最左上角的菜单
ALT+TAB 切换当前程序
ALT+ESC 切换当前程序
ALT+ENTER 将windows下运行的MSDOS窗口在窗口和全屏幕状态间切换
PRINT SCREEN 将当前屏幕以图象方式拷贝到剪贴板
ALT+PRINT SCREEN 将当前活动程序窗口以图象方式拷贝到剪贴板
CTRL+F4 关闭当前应用程序中的当前文本(如word中)
CTRL+F6 切换到当前应用程序中的下一个文本(加shift 可以跳到前
一个窗口)
在IE中:
ALT+RIGHT ARROW 显示前一页(前进键)
ALT+LEFT ARROW 显示后一页(后退键)
CTRL+TAB 在页面上的各框架中切换(加shift反向)
F5 刷新
CTRL+F5 强行刷新 收起全文