Java模拟Windows开始菜单
- 格式:docx
- 大小:106.54 KB
- 文档页数:6
javaswing制作⼀个登陆界⾯,亲测有效⼀、介绍Swing 是⼀个为Java设计的GUI⼯具包。
Swing是JAVA基础类的⼀部分。
Swing包括了图形⽤户界⾯(GUI)器件如:⽂本框,按钮,分隔窗格和表。
Swing提供许多⽐AWT更好的屏幕显⽰元素。
它们⽤纯Java写成,所以同Java本⾝⼀样可以跨平台运⾏,这⼀点不像AWT。
它们是JFC的⼀部分。
它们⽀持可更换的⾯板和主题(各种操作系统默认的特有主题),然⽽不是真的使⽤原⽣平台提供的设备,⽽是仅仅在表⾯上模仿它们。
这意味着你可以在任意平台上使⽤JAVA⽀持的任意⾯板。
轻量级组件的缺点则是执⾏速度较慢,优点就是可以在所有平台上采⽤统⼀的⾏为。
⼆、效果三、代码package com.test.jframe;import java.awt.Color;import java.awt.EventQueue;import bel;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFormattedTextField;import javax.swing.JFrame;import javax.swing.JOptionPane;import javax.swing.JPasswordField;public class JFrameTest {private JFrame frame;private JPasswordField passwordField;private boolean isLogin = false;/*** Launch the application.*/public static void main(String[] args) {EventQueue.invokeLater(new Runnable() {public void run() {try {JFrameTest window = new JFrameTest();window.frame.setVisible(true);} catch (Exception e) {e.printStackTrace();}}});}/*** Create the application.*/public JFrameTest() {initialize();}/*** Initialize the contents of the frame.*/private void initialize() {String userName = "111";String userPwd = "111";frame = new JFrame();frame.setBounds(100, 100, 667, 453);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.getContentPane().setLayout(null);Label label = new Label("账号:");label.setAlignment(Label.CENTER);label.setBounds(116, 49, 50, 23);frame.getContentPane().add(label);Label label_1 = new Label("密码:");label_1.setAlignment(Label.CENTER);label_1.setBounds(116, 85, 50, 23);frame.getContentPane().add(label_1);Label label_2 = new Label("⽤户状态:");label_2.setBounds(433, 49, 60, 23);frame.getContentPane().add(label_2);Label label_3 = new Label("未登录");label_3.setForeground(new Color(255, 0, 0));label_3.setBounds(499, 49, 40, 23);frame.getContentPane().add(label_3);JFormattedTextField formattedTextField = new JFormattedTextField();formattedTextField.setBounds(172, 49, 166, 23);frame.getContentPane().add(formattedTextField);passwordField = new JPasswordField();passwordField.setBounds(172, 85, 166, 23);frame.getContentPane().add(passwordField);JButton button = new JButton("login");button.setBackground(new Color(255, 255, 255));button.setBounds(126, 121, 212, 23);frame.getContentPane().add(button);button.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {String getUserName = formattedTextField.getText();String getUserPwd = passwordField.getText();if (userName.equals(getUserName) && userPwd.equals(getUserPwd)) {isLogin = true;} else {isLogin = false;}if (isLogin) {JOptionPane.showMessageDialog(null, "登录成功!", "消息", JOptionPane.PLAIN_MESSAGE);label_3.setText("已登录");label_3.setForeground(Color.BLUE);} else {JOptionPane.showMessageDialog(null, "登录失败!", "消息", JOptionPane.WARNING_MESSAGE); label_3.setText("未登录");label_3.setForeground(Color.RED);}}});}}四、解决中⽂乱码问题Run as > Run Condiguration,在Arguments中增加下⾯这句话:-Dfile.encoding=gbk。
//可以在eclipse下直接运行的示例程序:package key_robot;import java.awt.*;import java.awt.event.*;import javax.swing.JOptionPane;public class key_robot {public key_robot() {}// 鼠标单击,要双击就连续调用private static void pressMouse(Robot r, int m, int delay) { r.mousePress(m);r.delay(10);r.mouseRelease(m);r.delay(delay);}// 键盘输入方法private static void pressKeys(Robot r, int[] ks, int delay) { for (int i = 0; i < ks.length; i++) {r.keyPress(ks[i]);r.delay(10);r.keyRelease(ks[i]);r.delay(delay);}}public static void main(String[] args) throws Exception { final Robot rb = new Robot();new Thread() {public void run() {rb.delay(2000); // 模拟回车rb.keyPress(KeyEvent.VK_ENTER);rb.keyRelease(KeyEvent.VK_ENTER);}}.start();JOptionPane.showMessageDialog(null,"以下程序自动执行,包括本对话框,点击运行后请不要移动鼠标和键盘.\n如果不能正常执行程序,请先关闭输入法");rb.delay(1500);// 设置开始菜单的大概位置int x = 40;int y = Toolkit.getDefaultToolkit().getScreenSize().height- 10; // 鼠标移动到开始菜单,rb.mouseMove(x, y);rb.delay(500);// 单击三次开始菜单for (int i = 0; i < 3; i++)pressMouse(rb, InputEvent.BUTTON1_MASK, 500);rb.delay(1000);// 运行CMD命令r cmd enterint[] ks = { KeyEvent.VK_R, KeyEvent.VK_C, KeyEvent.VK_M,KeyEvent.VK_D, KeyEvent.VK_ENTER, };pressKeys(rb, ks, 500);rb.mouseMove(400, 400);rb.delay(500);// 运行DIR命令dir enterks = new int[] { KeyEvent.VK_D, KeyEvent.VK_I, KeyEvent.VK_R, KeyEvent.VK_ENTER };pressKeys(rb, ks, 500);rb.delay(1000);// 运行CLS命令cls enterks = new int[] { KeyEvent.VK_C, KeyEvent.VK_L, KeyEvent.VK_S, KeyEvent.VK_ENTER };pressKeys(rb, ks, 500);rb.delay(1000);// 运行EXIT命令exit enterks = new int[] { KeyEvent.VK_E, KeyEvent.VK_X, KeyEvent.VK_I, KeyEvent.VK_T, KeyEvent.VK_ENTER };pressKeys(rb, ks, 500);rb.delay(1000);// 右键测试x = Toolkit.getDefaultToolkit().getScreenSize().width - 10;rb.mouseMove(x, y);// 如果是双键鼠标,请改用InputEvent.BUTTON2_MASK标pressMouse(rb, InputEvent.BUTTON3_MASK, 500);// 显示日期调整对话框apressKeys(rb, new int[] { KeyEvent.VK_A }, 1000);rb.delay(2000);pressKeys(rb, new int[] { KeyEvent.VK_ESCAPE }, 0);rb.delay(1000);new Thread() {public void run() {rb.delay(1000); // 回车rb.keyPress(KeyEvent.VK_ENTER);rb.keyRelease(KeyEvent.VK_ENTER);}}.start();JOptionPane.showMessageDialog(null, "演示完毕!");}}。
【JavaService】使⽤Java编写部署windows服务如果你玩windows系统,你对服务这个东西并不会陌⽣,服务可以帮我们做很多事情,在不影响⽤户正常⼯作的情况下,可以完成很多我们需要的需求。
众所周知,微软的visio studio内置的Service类可以编写windows服务,对于⼀个Java开发⼈员来说,想要编写⼀个windows服务部署到服务器⾥⾯,还要在⾃⼰的开发环境装⼀个visio studio,那太⿇烦了。
那么问题来了,我想⽤java编写⼀个windows服务,这个想法可⾏吗?答案是肯定的,可⾏!开源的JavaService帮我们解决了这⼀个问题,使⽤java也可以编写⼀个windows服务部署到windows⾥⾯。
闲话不多说,来看看如何利⽤JavaService实现Java编写部署windows服务。
⾸先需要⽤到的⼀些开发⼯具:JDKEclipseJavaService这⾥我安装的JDK是1.6版本的,Eclipse⽤于编写⼀个JAVA⼯程,做饭炒⼀个菜,我们需要准备⼀些菜品原料,以上我们的菜都买好了,接下来看看主要准备⼯作和主要步骤。
⾸先安装JDK,默认安装到C盘就可以了。
然后配置java环境变量,这⾥就不细说了,上⼀个链接给予⼤家参考,环境变量要配置正确,这个很重要。
接着编写⼀个Java⼯程这⾥我贴出我的代码⽰例出来,是⼯作的⼀个需求,⼤致看⼀些主要代码即可,我下⾯会提到的。
这⾥是⼯程结构:代码:[java]1. <span style="font-family:Microsoft YaHei;font-size:14px;">package com.ecservice;2.3. import java.io.BufferedReader;4. import java.io.File;5. import java.io.FileNotFoundException;6. import java.io.FileOutputStream;7. import java.io.IOException;8. import java.io.InputStreamReader;9. import .InetAddress;10. import workInterface;11. import .SocketException;12. import .UnknownHostException;13. import java.text.SimpleDateFormat;14. import java.util.Date;15.16. public class ECService {17. private static Thread thread = null;18. private static Service service = null;19.20. /**21. * 退出服务⽅法(该⽅法必须有参数 String [] args)22. *23. * @param args24. */25. public static void StopService(String[] args) {26. System.out.println(service.getLocalTime()+"停⽌服务");27. service.setRunFlag(false);28. }29.30. /**31. * 启动服务⽅法(该⽅法必须有参数 String [] args)32. *33. * @param args34. */35. public static void StartService(String[] args) {36. // 产⽣服务线程37. service = new Service();38. thread = new Thread(service);39. System.out.println("\r\n"+service.getLocalTime()+"-----------启动服务-----------");40.41. try {42. // 将服务线程设定为⽤户线程,以避免StartService⽅法结束后线程退出43. thread.setDaemon(false);44. if (!thread.isDaemon()) {45. System.out.println(service.getLocalTime()+"成功设定线程为⽤户线程!");46. }47. // 启动服务线程48. thread.start();49. } catch (SecurityException se) {50. System.out.println(service.getLocalTime()+"线程类型设定失败!");51. }52. }53.54. public static void main(String[] args) {55. new Service().run();56. // ECService.StartService(null);57. }58. }59.60. class Service implements Runnable {61. private boolean runFlag = true;62.63. /**64. * 设定服务线程运⾏标志值65. *66. * @param runFlag67. */68. public synchronized void setRunFlag(boolean runFlag) {69. this.runFlag = runFlag;70. }71.72. /**73. * 取得服务线程运⾏标志值74. *75. * @param void76. */77. @SuppressWarnings("unused")78. private synchronized boolean getRunFlag() {79. return runFlag;80. }81.82. @Override83. public void run() {84. System.out.println(getLocalTime()+"服务线程开始运⾏");85. // while (getRunFlag()) {86. // 获取当前计算机名和MAC87. String hostName = getHostName();88. if (hostName != null) {89. System.out.println(getLocalTime()+"计算机名获取成功!");90. // 获取本机mac地址91. String localMac = getMac();92. if (localMac != null) {93. System.out.println(getLocalTime()+"mac获取成功!");94. String mac = subMac(localMac);95. // 匹配本机计算机名与mac地址96. if (!hostName.equals(mac)) {97. System.out.println(getLocalTime()+"开始执⾏修改计算机名称。
JAVA:简单添加菜单界⾯(swing) 1package com.le.menu;23import java.awt.Color;4import java.awt.Container;5import java.awt.FlowLayout;6import java.awt.GridLayout;7import java.awt.event.ActionEvent;8import java.awt.event.ActionListener;9import java.awt.event.ItemEvent;10import java.awt.event.ItemListener;11import java.awt.event.KeyEvent;1213import javax.swing.JFrame;14import javax.swing.JLabel;15import javax.swing.JMenu;16import javax.swing.JMenuBar;17import javax.swing.JMenuItem;18import javax.swing.JPanel;19import javax.swing.JRadioButtonMenuItem;2021public class MenuManagerShow {22private MenuManagerShow() {23 init();24 }2526public static void main(String[] args) {27 MenuManagerShow menuManager = new MenuManagerShow();28 menuManager.show();29 }3031private void show() {3233 }3435class MenuItemListener implements ActionListener {36 @Override37public void actionPerformed(ActionEvent e) {38 statusLabel.setText("JMenu Item clicked:" + e.getActionCommand() + ".");39 }40 }4142/**43 * 给主窗⼝设置背景⾊44 *45 * @param mainFrame46 * 主窗⼝47 * @see分析:JFrame默认使⽤流式布局管理器(FlowLayout)将整个窗体进⾏覆盖操作,<br>48 * 设置的颜⾊被布局管理器给覆盖住了,所以⽆法看见。
关于JAVA8 Window类的使用方法作者:徐洪位来源:《电脑知识与技术》2018年第18期摘要:在进行JAVA程序设计时,窗口是常用的一个对象,窗口对象是没有边框和菜单栏的顶级窗口。
窗口的默认布局是边界布局。
一个窗口必须有一个框架、对话框或另一个定义为它的所有者的窗口。
该文对Window类的使用和设置进行了简要的介绍。
关键词:Window;Illegal Argument Exception;Graphics Configuration中图分类号:TP316 文献标识码:A 文章编号:1009-3044(2018)18-0069-021 概述在多屏幕环境中,您可以通过使用窗口(窗口、GraphicsConfiguration)创建窗口,在不同的屏幕设备上创建一个窗口。
GraphicsConfiguration对象是目标屏幕设备的GraphicsConfiguration对象之一。
在虚拟设备多屏幕环境中,桌面区域可以跨越多个物理屏幕设备,所有配置的边界都相对于虚拟设备坐标系统。
虚拟坐标系统的原点位于主物理屏幕的左上角。
根据虚拟设备中主屏幕的位置,可能会出现负坐标,如图1所示:其中Virtual device:虚拟设备;physical screen:物理屏幕;primary physical screen:主物理屏幕。
2 使用方法简介当在一个环境中调用setLocation方法时,必须将一个虚拟坐标传递给这个方法。
类似地,在窗口中调用getLocationOnScreen将返回虚拟设备的坐标。
调用GraphicsConfiguration的getBounds方法,在虚拟坐标系统中找到它的原点。
下面的代码将窗口的位置设置为(10,10)相对于相应图形配置的物理屏幕的原点。
如果没有考虑到GraphicsConfiguration的边界,窗口位置将设置为(10,10)相对于虚拟坐标系统,并且会出现在主物理屏幕上,这可能与指定图形配置的物理屏幕不同。
windows命令行窗口怎么运行Java程序
在安装了jdk的电脑上都是可以运行Java程序的,当运行测试一些小程序的时候就不必在IDE中了。
下面店铺用一个简单的HelloWorld程序看一下运行过程,教你如何在windows命令行窗口运行Java程序。
windows命令行窗口运行Java程序的方法
1.新建一个文本文件,就用windows的记事本吧。
2.打开记事本,输入一段代码。
3.保存的时候把后缀名修改为.java。
4.打开运行,在运行输入栏中输入cmd。
打开命令提示窗口。
5.先转到.java文件所在的位置。
这里是在d盘的根目录。
6.执行以下一句命令之后,可以看见在.java的文件夹里面生成了一个为.class的类文件。
7.执行以下命令之后,就可以看到结果了。
PPC各类软件安装方法介绍(扫盲贴)作者:雨夜观月日期:2009-04-241.CAB格式CAB在电脑上是一个压缩包的格式,不过你千万不要把他解压缩,只要直接和手机同步后放到手机里面就可以了(放在Stroage或是Storage Card都可以),在CAB格式的文件全部拷贝到你的PPC手机上的时候,你只须要在你的PPC手机上执行该CAB文件既可进行安装了2.EXE格式EXE格式的软件。
EXE格式的程序可以分为手机连接电脑同步安装和手机端直接安装的程序2.1 如果是手机端直接安装的只需把文件拷贝到手机里运行,根据提示安装就可以了,一般化会在手机里面直接运行,类似于绿色软件的形式2.2 如果是手机和电脑同步安装的程序需要在电脑上运行安装程序,再根据手机屏幕上的提示安装即可。
3.tsk格式这是桌面主题的文件格式,安装只需要把文件拷贝到手机,然后在PPC手机里执行既可弹出主题设置界面,选择你想用的主题既可4.免安装软件(绿色软件)安装此类的软件是最简单的,只需要把文件拷贝到手机里就可以直接运行了,推荐尽量用这种软件,因为它不会在安装过程中产生一些不必要的文件。
不过这种软件在网上下载下来的时候一般是RAR或者ZIP格式文件压缩包,这个文件是要你现在自己的电脑上解压的,之后将解压出来的文件夹拷贝到手机里就可以了。
基本上就是如上的几种,下面说一些详细的安装教程。
详细:安装软件前,先将电脑“文件夹选项”中的“隐藏已知文件类型的扩展名”的勾去掉,这样能看出后缀名,方便安装软件1、扩展名为.exe,可以在电脑运行的软件这种软件是最正规的软件,类似于电脑上的软件,跟大部分软件的安装方法近似。
这是最简单的一种安装方式,只要把手机跟电脑同步,然后运行下载到的exe可执行文件。
电脑就会提示你如何操作安装,然后会提示你按照手机的提示接着安装。
选择安装位置放在手机或“storage card”(安装后,如果是在手机上,那程序就在\Storage\Program Files里面,如果是卡上,那就是\Storage Card\Program Files里面),在完成手机的操作后,在开始菜单里的就能找到该软件的快捷方式。
1.1模拟实现Windows 资源管理器的GUI界面(第2部分)1.1.1为所构建出的主窗口添加事件(功能性的操作)处理代码1、添加窗口关闭事件WindowClosing(1)进入事件面板在windowClosing事件项目中输入事件处理的方法名称为formWindowClosing,如下图所示:(2)或者在窗口内右击,在弹出菜单中选择“Events”下的具体事件类型也就是在此组件上点击右键-->Events-->找到事件的类型就可以了。
(3)在源代码窗口方式下编程该事件private void formWindowClosing(java.awt.event.WindowEvent evt) {int returnResult = JOptionPane.showConfirmDialog(null, "你是否真的要关闭窗口吗?", "关闭主窗口", JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE);if (returnResult == JOptionPane.YES_OPTION) {this.dispose(); //不仅要关闭主窗口、而且也还要退出系统程序System.exit(0);}}(4)MyEclipse已经自动实现了事件的注册addWindowListener(new java.awt.event.WindowAdapter() {public void windowClosing(java.awt.event.WindowEvent evt) {formWindowClosing(evt);}});2、测试目前的事件响应是否正确在窗口弹出后,点击关闭窗口后,将出现下面的警告提示对话框。
如果点击该警告提示对话框中的“是”按钮,将可以正常地关闭主窗口了。
1.1模拟实现Windows 资源管理器的GUI界面(第3部分)1.1.1为主窗口添加工具条1、在窗口的北部添加一个工具条面板——选择Swing Containers内的Tool Bar组件(1)添加一个面板(Panel)组件并直接拖到窗口的北部(顶部)(2)设置面板的对象名(3)设置该面板的大小(4)改变它的布局方式(5)将布局设置为2行1列2、在该北部面板中添加两个工具条(1)拖放导航工具条组件到该面板中最好采用右击面板的对象名的方式实现,将会更简捷。
(2)改变该工具条的对象名为oneNavigatorToolBar、设置工具条的大小等属性(3)再添加另一个工具条oneAddressInfoToolBar作为地址栏工具条3、分别在这两个工具条中添加工具按钮——选择Swing Controls内的Button组件(1)在oneNavigatorToolBar工具条中添加各个工具按钮(2)分别设置这些按钮的属性(图标、tooltip文字、对象名等)可以选择“Image Within Project”方式,然后在Package栏中定位到目标图片所在的目录;最后在File栏目中选择目标图片的文件名称。
也可以采用下面的代码形式new ImageIcon(getClass().getResource("/images/mainframe/toolbar/navigator/back.jpg"))该按钮的图标将出现在按钮的界面中。
(3)如果设置为不画出按钮的边框线,从而将能够产生出Windows XP系统风格界面的工具条将按钮的“BorderPainted”属性设置为false,并取消其对钩。
(4)将组合框组件改变为可编辑状态(5)为工具条中的按钮添加鼠标单击事件事件类型与命令形式的菜单项目完全相同,也是Action类型的事件。
4、在另一个工具条中添加按钮——方法和思路同前面5、为地址栏工具条中的Label标签组件添加简化键(1)方法一:在该标签的“displayedMnemonic”成员属性中直接输入字符“D”(2)方法二:在该标签的“displayedMnemonic”成员属性中的“User Code”方式下输入字符’D’6、为工具条中的按钮添加“分隔条”从而产生出按钮相互分隔的效果1.1.2设计和实现中间的分隔面板1、在窗口中间添加一个分隔面板(1)选择Swing Containers内的Split Panel组件(2)改变该组件的对象名为centerSplitPane(3)设置大小等属性最终产生出的属性设置的代码如下:centerSplitPane.setDividerSize(5);centerSplitPane.setDividerLocation(180);centerSplitPane.setEnabled(false); //分割条不可拖动界面的设计结果如下图所示:2、在分隔面板的左面和右面分别添加滚动面板组件添加滚动面板组件的主要目的是能够为其中的树形组件和表格组件提供滚动条效果。
如何用java启动windows命令行程序这是摘自《More Java pitfalls 中文版》上的例子。
先请编译和运行下面程序:import java.util.*;import java.io.*;public class BadExecJavac2{public static void main(String args[]){try{Runtime rt = Runtime.getRuntime();Process proc = rt.exec("javac");int exitVal = proc.waitFor();System.out.println("Process exitValue: " + exitVal);} catch (Throwable t){t.printStackTrace();}}}我们知道javac命令,当不带参数运行javac 程序时,它将输出帮助说明,为什么上面程序不产生任何输出并挂起,永不完成呢?java 文档上说,由于有些本地平台为标准输入和输出流所提供的缓冲区大小有限,如果不能及时写入子进程的输入流或者读取子进程的输出流,可能导致子进程阻塞,甚至陷入死锁。
所以,上面的程序应改写为:import java.util.*;import java.io.*;public class MediocreExecJavac{public static void main(String args[]){try{Runtime rt = Runtime.getRuntime();Process proc = rt.exec("javac");InputStream stderr = proc.getErrorStream(); InputStreamReader isr = new InputStreamReader(stderr); BufferedReader br = new BufferedReader(isr);String line = null;System.out.println("");while ( (line = br.readLine()) != null)System.out.println(line);System.out.println("");int exitVal = proc.waitFor();System.out.println("Process exitValue: " + exitVal);} catch (Throwable t){t.printStackTrace();}}}下面是正确的输出:D:\java>java MediocreExecJavacUsage: javac <options>where possible options include:-g Generate all debugging info-g:none Generate no debugging info-g:{lines,vars,source} Generate only some debugging info-nowarn Generate no warnings-verbose Output messages about what the compiler is doing -deprecation Output source locations where deprecated APIs are used-classpath Specify where to find user class files-cp Specify where to find user class files-sourcepath Specify where to find input source files-bootclasspath Override location of bootstrap class files-extdirs Override location of installed extensions-endorseddirs Override location of endorsed standards path -d Specify where to place generated class files-encoding Specify character encoding used by source files -source Provide source compatibility with specified release-target Generate class files for specific VM version-version Version information-help Print a synopsis of standard options-X Print a synopsis of nonstandard options-J Pass directly to the runtime systemProcess exitValue: 2D:\java>下面是一个更一般的程序,它用两个线程同步清空标准错误流和标准输出流,并能根据你所使用的windows操作系统选择windows 命令解释器或cmd.exe,然后执行你提供的命令。
T8388 Windows Mobile 6.5系统详细使用教程!(附电子版)Windows phone是基于Microsoft Windows CE内核嵌入式系统操作系统,为您提供与微软Windows操作系统相似的视窗界面与操作方式,同时带来与Windows操作系统同样强大的系统功能,并不断以众多创新特性与增强功能,全面革新您的移动装备,为您的移动商务及娱乐生活注入不同凡响的创新体验。
刷了Windows Mobile 6.5的朋友如果你苦于没有全面的学习资料,那么这篇涵盖入门到精通的教程将是你最好的选择。
下面我们从入门级别开始讲解最新的WM6.5手机操作系统。
本文资料来源是微软Windows Phone官方网页。
一、Windows Mobile 6.5 入门教程• IE 浏览器适用范围:通过内置的IE 浏览器可以随时进行网络冲浪,浏览最新的网络咨询,同时还支持网页缩放功能,方便手机浏览。
• IE 收藏夹适用范围:在使用IE 浏览器浏览网页的时候对用户喜欢或常用的网页进行收藏。
操作步骤:1.IE 界面下点击收藏夹2.选择添加3.网页被添加成功• IE 历史记录适用范围:在使用IE 浏览器浏览网页时,手机会自动记录历史记录,下次再登陆网页时无需输入复杂的域名即可快速打开网页。
操作步骤:1.IE 界面下点击菜单2.点击网页链接即可快速•聊天式短信适用范围:聊天式短信可以更轻松的管理短信息,还可以即时看到您与某位联系人所有短信往来的历史记录(需要Windows Mobile 6.1 以上的版本)•智能搜索联系人适用范围:智能搜索联系然支持通过拼音、英文、数字,快速的筛选联系人,这样即使存储了再多的联系人也可方便查找。
操作步骤:1.进入拨号界面2.输入联系人的拼音、数字3.手机快速完成筛选• USB 连接电脑适用范围:可以将手机与电脑的USB连接模式切换为大容量存储模式,当连接时电脑就会识别您手机中的存储卡以及内置存储器,这样就可以更快速的实现文件的互相拷贝。
1.1模拟实现Windows 资源管理器的GUI界面(第1部分)1.1.1Matisse4MyEclipse(Swing Development)可视化开发工具1、在Eclipse帮助文档中有详细的关于Matisse4MyEclipse的操作帮助说明2、Matisse4MyEclipse是什么(1)Matisse4MyEclipse的主要功能说明Matisse is the code name for the well-known WYSIWYG Swing user-interface designer of NetBeans. This designer includes some of the most intuitive and advanced layout and sizing controls of any Swing visual designer today.Matisse4MyEclipse is only available to users with a Professional level MyEclipse subscription。
从上面的英文介绍中可以了解到,Matisse其实是NetBeans(Sun公司发布的一个Java开发工具)中新一代的UI设计工具,Matisse将是一个支持Swing显示布局的工具,通过Matisse 开发者可以轻松的设计基于Swing的应用,并且开发者将可以轻松的设计更加漂亮的UI。
(2)但Matisse4MyEclipse只适合专业版的MyEclipse工具因此,在破解MyEclipse工具时的帐号必须为专业版的帐号,否则Matisse工具将被禁用。
3、如何启动Matisse4MyEclipse工具只需要打开MyEclipse Swing/Matisse透视图(某种特定程序的主窗口),就可以使用该工具。
可以如下操作:或者在如下的对话框中找到MyEclipse Swing/Matisse透视图窗口在打开透视图窗口的对话框中选择MyEclipse Swing/Matisse透视图4、MyEclipse Swing/Matisse所提供的组件集及各个组件集内的工具说明(1)主要有四大类组件集1)SwingConyainers : (容器)2)SwingMenus : (菜单)3)SwingWindows : (窗口)4)SwingControls : (控件)(2)SwingConyainers 容器内的主要工具●Panel :(java.awt.Panel)Panel 是最简单的容器类。
如何把JAVA程序做成Windows服务,并开机运行怎么把jar文件做成系统服务,比较多的解决方案是使用wrapper-windows 这个软件包。
这个软件包的强大之处是能把jre环境也给打进去,这个服务可以正常运行在根本没有jre环境即就没有安装JDK的机器上。
1 下载wrapper-windows-x86-32-3.2.3版本,并解压。
里面包含 bin, conf ,doc, jdoc lib, logs, src 7个文件夹。
2 新建一个文件夹如命名为myWindowServ,(存放自己服务用的)在此文件夹下建立 lib bin 、conf 、logs、 application 5个子文件夹。
3 将 wrapper-windows\src\bin 下的App.bat.inInstallApp-NT.bat.inPauseApp-NT.bat.inResumeApp-NT.bat.inStartApp-NT.bat.inStopApp-NT.bat.inUninstallApp-NT.bat.in复制到bin目录下,并将后缀为.in的文件全部重命名,去掉.in。
例如: App.bat.in重命名为App.bat,并将wrapper-windows\bin下的wrapper.exe也复制到bin目录下。
4 将wrapper-windows\conf 下的文件复制到myWindowServ\conf目录下。
5 将wrapper-windows\log 下的文件复制到myWindowServ\logs目录下。
6 将 wrapper-windows\lib 下的文件复制到myWindowServ\lib 目录下。
7 将需要安装成服务的java程序打包成jar文件(例如上面的打包文件 myjar.jar)放到myWindowServ\application下。
8 配置新文件夹conf目录下的wrapper.conf文件,可以配置运行环境,执行程序,堆内存大小,服务名称等属性信息。
运行查找大全:开始菜单中的“运行”是通向程序的快捷途径,输入特定的命令后,即可快速的打开Windows 的大部分程序,熟练的运用它,将给我们的操作带来诸多便捷。
winver 检查Windows版本wmimgmt.msc 打开Windows管理体系结构(wmi)wupdmgr Windows更新程序wscript Windows脚本宿主设置write 写字板winmsd 系统信息wiaacmgr 扫描仪和照相机向导winchat xp自带局域网聊天mem.exe 显示内存使用情况msconfig.exe 系统配置实用程序mplayer2 简易widnows media playermspaint 画图板mstsc 远程桌面连接mplayer2 媒体播放机magnify 放大镜实用程序mmc 打开控制台mobsync 同步命令dxdiag 检查directx信息drwtsn32 系统医生devmgmt.msc 设备管理器dfrg.msc 磁盘碎片整理程序diskmgmt.msc 磁盘管理实用程序dcomcnfg 打开系统组件服务ddeshare 打开dde共享设置dvdplay dvd播放器net stop messenger 停止信使服务net start messenger 开始信使服务notepad 打开记事本nslookup 网络管理的工具向导ntbackup 系统备份和还原narrator 屏幕“讲述人”ntmsmgr.msc 移动存储管理器ntmsoprq.msc 移动存储管理员操作请求netstat -an (tc)命令检查接口syncapp 创建一个公文包sysedit 系统配置编辑器sigverif 文件签名验证程序sndrec32 录音机shrpubw 创建共享文件夹secpol.msc 本地安全策略syskey 系统加密,一旦加密就不能解开,保护Windows xp系统的双重密码services.msc 本地服务设置sndvol32 音量控制程序sfc.exe 系统文件检查器sfc /scannow windows文件保护tsshutdn 60秒倒计时关机命令tourstart xp简介(安装完成后出现的漫游xp程序)taskmgr 任务管理器eventvwr 事件查看器eudcedit 造字程序explorer 打开资源管理器packager 对象包装程序perfmon.msc 计算机性能监测程序progman 程序管理器regedit.exe 注册表rsop.msc 组策略结果集regedt32 注册表编辑器rononce -p 15秒关机regsvr32 /u *.dll 停止dll文件运行regsvr32 /u zipfldr.dll 取消zip支持cmd.exe cmd命令提示符chkdsk.exe chkdsk磁盘检查certmgr.msc 证书管理实用程序calc 启动计算器charmap 启动字符映射表cliconfg sql server 客户端网络实用程序clipbrd 剪贴板查看器conf 启动netmeetingcompmgmt.msc 计算机管理cleanmgr 垃圾整理ciadv.msc 索引服务程序osk 打开屏幕键盘odbcad32 odbc数据源管理器oobe/msoobe /a 检查xp是否激活lusrmgr.msc 本机用户和组logoff 注销命令iexpress 木马捆绑工具,系统自带nslookup ip地址侦测器fsmgmt.msc 共享文件夹管理器utilman 辅助工具管理器gpedit.msc 组策略以下为Windows操作系统的常用运行命令,执行这些命令,就能打开系统对应的相关实用程序,如果大家能基本利用,就能检查并修复系统的最基本的故障,除注销,关闭系统命令外,其它所有命令,大家不妨一试!!运行\输入CMD\输入对应的相关实用程序:. 打开C:\Documents and Settings\XXX(当前登录Windows XP的用户名).. 打开Windows XP所在的盘符下的Documents and Settings文件夹... 打开“我的电脑”选项。
package windowcomponents;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Font;import java.awt.FontMetrics;import java.awt.GradientPaint;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.Image;import java.awt.Insets;import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JMenuItem;import javax.swing.JPanel;import javax.swing.JPopupMenu;public class WindowsStartMenuSimulation {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubDemoWindow15 dw = new DemoWindow15("模拟Windows开始菜单");dw.setBounds(dw.getToolkit().getScreenSize().width / 3, dw.getToolkit().getScreenSize().height / 3,dw.getToolkit().getScreenSize().width / 3, dw.getToolkit().getScreenSize().height / 3);dw.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);dw.setVisible(true);}}class DemoWindow15 extends JFrame implements ActionListener {// 菜单项图片Image updateImage = new ImageIcon("images/update.gif").getImage();Image programImage = new ImageIcon("images/program.gif").getImage();Image documentImage = new ImageIcon("images/document.gif").getImage();Image setImage = new ImageIcon("images/set.gif").getImage();Image findImage = new ImageIcon("images/find.gif").getImage();Image helpImage = new ImageIcon("images/help.gif").getImage();Image runImage = new ImageIcon("images/run.gif").getImage();Image logoutImage = new ImageIcon("images/logout.gif").getImage();Image shutdownImage = new ImageIcon("images/shutdown.gif").getImage();// 按钮图片ImageIcon windowsImage = new ImageIcon("images/windows.gif");// “开始”按钮JButton jb = new JButton("开始", windowsImage);StartMenu sm = new StartMenu();// 布局面板JPanel jp1 = new JPanel();JPanel jp2 = new JPanel();ImageMenu1 im = null;public DemoWindow15(String title) {super(title);jb.setFont(new Font("宋体", Font.BOLD, 18));jp2.setLayout(new BorderLayout());jp2.add(jb, BorderLayout.WEST);add(jp1, BorderLayout.CENTER);add(jp2, BorderLayout.SOUTH);im = new ImageMenu1("Windows Update", updateImage); im.setFont(new Font("宋体", Font.BOLD, 22));sm.add(im);im = new ImageMenu1("程序", programImage);im.setFont(new Font("宋体", Font.BOLD, 22));sm.add(im);im = new ImageMenu1("文档", documentImage);im.setFont(new Font("宋体", Font.BOLD, 22));sm.add(im);im = new ImageMenu1("设置", setImage);im.setFont(new Font("宋体", Font.BOLD, 22));sm.add(im);im = new ImageMenu1("搜索", findImage);im.setFont(new Font("宋体", Font.BOLD, 22));sm.add(im);im = new ImageMenu1("帮助和支持", helpImage);im.setFont(new Font("宋体", Font.BOLD, 22));sm.add(im);im = new ImageMenu1("运行", runImage);im.setFont(new Font("宋体", Font.BOLD, 22));sm.add(im);im = new ImageMenu1("注销", logoutImage);im.setFont(new Font("宋体", Font.BOLD, 22));sm.add(im);im = new ImageMenu1("关机", shutdownImage);im.setFont(new Font("宋体", Font.BOLD, 22));sm.add(im);// 添加事件监听器jb.addActionListener(this);}public void actionPerformed(ActionEvent e) {// TODO Auto-generated method stub// 设置菜单可见,获得菜单的高度,便于下一步设置菜单的位置sm.setVisible(true);// 显示图片菜单,通过位置设置,显示向上弹出的效果sm.show(jp1, 0, jp1.getHeight() - sm.getHeight());}}class StartMenu extends JPopupMenu {// 显示Windows XP professional的文字图片private Image image = null;public StartMenu() {// 创建文字图片image = createImage();}public Image createImage() {String text = "Windows XP Professional";// 创建缓冲图片类变量BufferedImage bi = new BufferedImage(30, 400,BufferedImage.TYPE_INT_ARGB);// 获取缓冲图片的2D绘图类变量Graphics2D g2d = bi.createGraphics();// 绘制渐变背景GradientPaint paint = new GradientPaint(0, 0, Color.black, 100, 100,Color.blue, true);g2d.setPaint(paint);g2d.fillRect(0, 0, bi.getWidth(), bi.getHeight());// 逆时针旋转绘制角度90度AffineTransform at = new AffineTransform();at.rotate(-Math.PI / 2);g2d.setTransform(at);g2d.setColor(Color.white);g2d.setFont(new Font("宋体", Font.BOLD, 16));// 获取文字尺寸FontMetrics metrics = g2d.getFontMetrics();int width = metrics.stringWidth(text);int height = metrics.getAscent();// 居中绘制文字g2d.drawString(text, -width - 50, bi.getWidth() / 2);return bi;}public Insets getInsets() {Insets insets = (Insets) super.getInsets().clone();insets.left += image.getWidth(null);return insets;}public void paint(Graphics g) {super.paint(g);if (image != null) {Insets insets = getInsets();g.drawImage(image, insets.left - image.getWidth(null), insets.top,null);}}}// 图片菜单项类class ImageMenu1 extends JMenuItem {private Image image = null;public ImageMenu1(String title, Image image) {super(title);this.image = image;}// 设置菜单项中显示文字图片的间隔大小public Insets getInsets() {Insets insets = (Insets) super.getInsets().clone();insets.left += image.getWidth(null);return insets;}// 重载绘图函数public void paint(Graphics g) {super.paint(g);if (image != null) {// 获取间隔Insets insets = getInsets();g.drawImage(image, 0, 0, null);}}}。
package windowcomponents;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Font;import java.awt.FontMetrics;import java.awt.GradientPaint;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.Image;import java.awt.Insets;import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JMenuItem;import javax.swing.JPanel;import javax.swing.JPopupMenu;public class WindowsStartMenuSimulation {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubDemoWindow15 dw = new DemoWindow15("模拟Windows开始菜单");dw.setBounds(dw.getToolkit().getScreenSize().width / 3, dw.getToolkit().getScreenSize().height / 3,dw.getToolkit().getScreenSize().width / 3, dw.getToolkit().getScreenSize().height / 3);dw.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);dw.setVisible(true);}}class DemoWindow15 extends JFrame implements ActionListener {// 菜单项图片Image updateImage = new ImageIcon("images/update.gif").getImage();Image programImage = new ImageIcon("images/program.gif").getImage();Image documentImage = new ImageIcon("images/document.gif").getImage();Image setImage = new ImageIcon("images/set.gif").getImage();Image findImage = new ImageIcon("images/find.gif").getImage();Image helpImage = new ImageIcon("images/help.gif").getImage();Image runImage = new ImageIcon("images/run.gif").getImage();Image logoutImage = new ImageIcon("images/logout.gif").getImage();Image shutdownImage = new ImageIcon("images/shutdown.gif").getImage();// 按钮图片ImageIcon windowsImage = new ImageIcon("images/windows.gif");// “开始”按钮JButton jb = new JButton("开始", windowsImage);StartMenu sm = new StartMenu();// 布局面板JPanel jp1 = new JPanel();JPanel jp2 = new JPanel();ImageMenu1 im = null;public DemoWindow15(String title) {super(title);jb.setFont(new Font("宋体", Font.BOLD, 18));jp2.setLayout(new BorderLayout());jp2.add(jb, BorderLayout.WEST);add(jp1, BorderLayout.CENTER);add(jp2, BorderLayout.SOUTH);im = new ImageMenu1("Windows Update", updateImage); im.setFont(new Font("宋体", Font.BOLD, 22));sm.add(im);im = new ImageMenu1("程序", programImage);im.setFont(new Font("宋体", Font.BOLD, 22));sm.add(im);im = new ImageMenu1("文档", documentImage);im.setFont(new Font("宋体", Font.BOLD, 22));sm.add(im);im = new ImageMenu1("设置", setImage);im.setFont(new Font("宋体", Font.BOLD, 22));sm.add(im);im = new ImageMenu1("搜索", findImage);im.setFont(new Font("宋体", Font.BOLD, 22));sm.add(im);im = new ImageMenu1("帮助和支持", helpImage);im.setFont(new Font("宋体", Font.BOLD, 22));sm.add(im);im = new ImageMenu1("运行", runImage);im.setFont(new Font("宋体", Font.BOLD, 22));sm.add(im);im = new ImageMenu1("注销", logoutImage);im.setFont(new Font("宋体", Font.BOLD, 22));sm.add(im);im = new ImageMenu1("关机", shutdownImage);im.setFont(new Font("宋体", Font.BOLD, 22));sm.add(im);// 添加事件监听器jb.addActionListener(this);}public void actionPerformed(ActionEvent e) {// TODO Auto-generated method stub// 设置菜单可见,获得菜单的高度,便于下一步设置菜单的位置sm.setVisible(true);// 显示图片菜单,通过位置设置,显示向上弹出的效果sm.show(jp1, 0, jp1.getHeight() - sm.getHeight());}}class StartMenu extends JPopupMenu {// 显示Windows XP professional的文字图片private Image image = null;public StartMenu() {// 创建文字图片image = createImage();}public Image createImage() {String text = "Windows XP Professional";// 创建缓冲图片类变量BufferedImage bi = new BufferedImage(30, 400,BufferedImage.TYPE_INT_ARGB);// 获取缓冲图片的2D绘图类变量Graphics2D g2d = bi.createGraphics();// 绘制渐变背景GradientPaint paint = new GradientPaint(0, 0, Color.black, 100, 100,Color.blue, true);g2d.setPaint(paint);g2d.fillRect(0, 0, bi.getWidth(), bi.getHeight());// 逆时针旋转绘制角度90度AffineTransform at = new AffineTransform();at.rotate(-Math.PI / 2);g2d.setTransform(at);g2d.setColor(Color.white);g2d.setFont(new Font("宋体", Font.BOLD, 16));// 获取文字尺寸FontMetrics metrics = g2d.getFontMetrics();int width = metrics.stringWidth(text);int height = metrics.getAscent();// 居中绘制文字g2d.drawString(text, -width - 50, bi.getWidth() / 2);return bi;}public Insets getInsets() {Insets insets = (Insets) super.getInsets().clone();insets.left += image.getWidth(null);return insets;}public void paint(Graphics g) {super.paint(g);if (image != null) {Insets insets = getInsets();g.drawImage(image, insets.left - image.getWidth(null), insets.top,null);}}}// 图片菜单项类class ImageMenu1 extends JMenuItem {private Image image = null;public ImageMenu1(String title, Image image) {super(title);this.image = image;}// 设置菜单项中显示文字图片的间隔大小public Insets getInsets() {Insets insets = (Insets) super.getInsets().clone();insets.left += image.getWidth(null);return insets;}// 重载绘图函数public void paint(Graphics g) {super.paint(g);if (image != null) {// 获取间隔Insets insets = getInsets();g.drawImage(image, 0, 0, null);}}}。