十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
实现方法请具体参照《Eclipse swt/Jface核心编程》
站在用户的角度思考问题,与客户深入沟通,找到烟台网站设计与烟台网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站建设、做网站、企业官网、英文网站、手机端网站、网站推广、申请域名、网页空间、企业邮箱。业务覆盖烟台地区。
第21章 文本处理.
21.1 文本处理概述... 409
21.2 项目实战:JavaScript编辑器... 409
21.2.1 主窗口预览... 409
21.2.2 项目文件结构... 410
21.3 主窗口模块... 411
21.3.1 代码实现... 411
21.3.2 主窗口程序代码分析... 414
21.3.3 启动主窗口程序... 416
21.4 代码着色... 417
21.4.1 源代码配置类(SourceViewerConfiguration)... 417
21.4.2 基于规则的代码扫描器类(RuleBasedScanner)... 419
21.4.3 设置代码扫描规则... 420
21.4.4 提取类(Token)和文本属性类(TextAttribute)... 423
21.5 内容辅助... 423
21.5.1 配置编辑器的内容助手... 424
21.5.2 内容辅助类... 424
21.5.3 辅助建议类(CompletionProposal)... 426
21.6 文档的撤销与重复... 427
21.6.1 文档管理器对象(DefaultUndoManager)... 427
21.6.2 撤销操作的实现... 427
21.6.3 恢复操作的实现... 428
21.7 查找与替换窗口... 429
21.7.1 窗口的界面设计... 429
21.7.2 查找功能的实现... 433
21.7.3 替换功能的实现... 434
21.8 首选项的对话框... 434
21.8.1 首选项页面的代码实现... 435
21.8.2 打开首选项页面的代码... 436
21.9 文件的打开、保存与打印... 437
21.9.1 打开文件... 437
21.9.2 保存文件... 437
21.9.3 打印文件... 438
21.10 帮助对话框... 439
21.11 其他的一些工具类... 440
21.11.1 事件管理类... 440
21.11.2 资源管理类... 441
21.11.3 程序中使用的常量... 443
21.12 本章小结... 444
实现提醒功能给你思路吧。
你可以写单独写个线程监视是否有消息传回,然后刷新页面。至于怎么刷新页面其实很简单,写一个事件接口。然后UI页面实现这个接口。有消息传回的时候就刷新页面。
至于系统托盘我给你一个我无聊写的倒计时程序片段,其中有系统托盘。
/**
* 设置系统托盘图标及快捷菜单
*/
private void setIcon(){
addWindowStateListener(new WindowStateListener() {
public void windowStateChanged(WindowEvent e) {
if (getState() == 1) {
setVisible(false);
}
}
});
if (SystemTray.isSupported()) {
tray = SystemTray.getSystemTray();
}
Image image = Toolkit.getDefaultToolkit().getImage(getClass().getResource("china.gif"));
ActionListener defaultListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
if (e.getActionCommand().equals( "exit")) {
exit();
}
} catch (Exception ex) {
System.out.println("hehehe"+ex.getMessage());
}
}
};
ActionListener openListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
if (e.getActionCommand().equals("display")) {
setVisible(true);
}
} catch (Exception ex) {
System.out.println("haha"+ex.getMessage());
}
}
};
popup = new PopupMenu();
// 创建[显示]菜单及其事件
MenuItem openItem = new MenuItem("显示");
openItem.addActionListener(openListener);
openItem.setActionCommand("display");
popup.add(openItem);
// 创建[退出]菜单及其事件
MenuItem defaultItem = new MenuItem("退出");
defaultItem.addActionListener(defaultListener);
defaultItem.setActionCommand("exit");
popup.add(defaultItem);
// 右键图标
trayIcon = new TrayIcon(image, "Java倒计时", popup);
trayIcon.setImageAutoSize(true);
trayIcon.addActionListener(defaultListener);
trayIcon.addMouseListener(new MouseAdapter() {
@SuppressWarnings("static-access")
public void mouseClicked(MouseEvent e) {
// 点击系统托盘图标和鼠标左键
if (e.getSource() == trayIcon e.getButton() == e.BUTTON1) {
if (e.getClickCount() == 2)// 双击
{
setVisible(true);
}
}
}
});
try {
tray.add(trayIcon);
} catch (AWTException e1) {
//e1.printStackTrace();
System.out.println("heihei"+e1.getMessage());
}
}
打开eclipse→Windows→Preferences→Java→Editor→Content Assist;修改Auto Activation triggers for java的值为:.abc 点击apply按钮。
.继续打开JavaScript→Editor→Content Assist
修改Auto Activation triggers for javaScript的值为:.abc 点击apply按钮。
继续打开web→html Files→Editor→Content Assist
修改Prompt when these characters are inserted:的值为:.html 点击apply按钮。
设置完以上三步,点击"OK",按钮;然后打开File→Export→Genral→Preferences→Next→Browse文件到任意位置→文件保存类型epf→Finish。
5
然后用记事本或其它文本工具打开此文件 ,Ctrl+F查找 .abc 然后将其值改为 .abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW.
1、打开代码提示功能。有时候可能会出现没有代码提示的功能,这个时候我们可以在window-Preferences-Java-Editor-Content Assist-Advanced 上面的选项卡Select the proposal kinds contained in the 'default' content assist list: 中所需要提示的内容勾选上就可以了。
2、设置代码提示的快捷键。在需要代码提示的时候,可以通过快捷键实现提示功能,在这里可以根据个人的习惯设置这个键。我们可以在windows-preference-workbench-keys 下设置Content Assist的快捷键,可以先选中Content assist,然后在下面的Binding里设置新的快捷键,在when里选择生效的范围。