實(shí)現(xiàn)方法請(qǐng)具體參照《Eclipse swt/Jface核心編程》

建網(wǎng)站原本是網(wǎng)站策劃師、網(wǎng)絡(luò)程序員、網(wǎng)頁(yè)設(shè)計(jì)師等,應(yīng)用各種網(wǎng)絡(luò)程序開(kāi)發(fā)技術(shù)和網(wǎng)頁(yè)設(shè)計(jì)技術(shù)配合操作的協(xié)同工作。創(chuàng)新互聯(lián)建站專(zhuān)業(yè)提供成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站制作(企業(yè)站、響應(yīng)式網(wǎng)站建設(shè)、電商門(mén)戶網(wǎng)站)等服務(wù),從網(wǎng)站深度策劃、搜索引擎友好度優(yōu)化到用戶體驗(yàn)的提升,我們力求做到極致!
第21章 文本處理.
21.1 文本處理概述... 409
21.2 項(xiàng)目實(shí)戰(zhàn):JavaScript編輯器... 409
21.2.1 主窗口預(yù)覽... 409
21.2.2 項(xiàng)目文件結(jié)構(gòu)... 410
21.3 主窗口模塊... 411
21.3.1 代碼實(shí)現(xiàn)... 411
21.3.2 主窗口程序代碼分析... 414
21.3.3 啟動(dòng)主窗口程序... 416
21.4 代碼著色... 417
21.4.1 源代碼配置類(lèi)(SourceViewerConfiguration)... 417
21.4.2 基于規(guī)則的代碼掃描器類(lèi)(RuleBasedScanner)... 419
21.4.3 設(shè)置代碼掃描規(guī)則... 420
21.4.4 提取類(lèi)(Token)和文本屬性類(lèi)(TextAttribute)... 423
21.5 內(nèi)容輔助... 423
21.5.1 配置編輯器的內(nèi)容助手... 424
21.5.2 內(nèi)容輔舉閉助類(lèi)... 424
21.5.3 輔助建議類(lèi)(CompletionProposal)... 426
21.6 文鏈棚檔的撤銷(xiāo)與重復(fù)... 427
21.6.1 文檔管理器對(duì)象(DefaultUndoManager)... 427
21.6.2 撤銷(xiāo)操作的實(shí)現(xiàn)... 427
21.6.3 恢復(fù)操作的實(shí)現(xiàn)... 428
21.7 查找與替換窗口... 429
21.7.1 窗口的界面設(shè)計(jì)... 429
21.7.2 查找功能的實(shí)現(xiàn)... 433
21.7.3 替換功能的實(shí)現(xiàn)... 434
21.8 首選項(xiàng)的對(duì)話框... 434
21.8.1 首選項(xiàng)頁(yè)面的代碼實(shí)現(xiàn)... 435
21.8.2 打開(kāi)首選項(xiàng)頁(yè)面的代碼... 436
21.9 文件的打開(kāi)、保存與打印... 437
21.9.1 打開(kāi)文件... 437
21.9.2 保存文件... 437
21.9.3 打印文件... 438
21.10 幫助對(duì)話框... 439
21.11 其正喚裂他的一些工具類(lèi)... 440
21.11.1 事件管理類(lèi)... 440
21.11.2 資源管理類(lèi)... 441
21.11.3 程序中使用的常量... 443
21.12 本章小結(jié)... 444
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.util.*; //Date needed
import java.io.PrintWriter;
public class NotePad extends JFrame
{
JTextArea jta;
class newl implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
jta.setText("");
}
}
class openl implements ActionListener
{ public void actionPerformed(ActionEvent e)
{
JFileChooser jf=new JFileChooser();
jf.showOpenDialog(NotePad.this);
}
}
//保存文件的監(jiān)聽(tīng)
class savel implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
JFileChooser jf = new JFileChooser();
jf.showSaveDialog(NotePad.this);
}
}
//打印的監(jiān)聽(tīng) ?
class printl implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
// PrintWriter p = new PrintWriter(NotePad.this);
}
}
//退出記事本的監(jiān)聽(tīng)
class exitl implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);//退出
}
}
//拷貝的監(jiān)聽(tīng)
class copyl implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
jta.copy();
}
}
//粘貼的監(jiān)聽(tīng)
class pastel implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
jta.paste();
}
}
//剪切的監(jiān)聽(tīng)
class cutl implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
jta.cut();
}
}
//查找的監(jiān)聽(tīng)
//添加日期的監(jiān)聽(tīng)
class datel implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
Date d=new Date();
jta.append(d.toString());
}
}
//構(gòu)造函數(shù)
public NotePad()
{
jta=new JTextArea("",24,40);
JScrollPane jsp=new JScrollPane(jta);
JMenuBar jmb=new JMenuBar();
JMenu mFile=new JMenu("File");
JMenu mEdit=new JMenu("Edit");
JMenuItem mNew=new JMenuItem("New",KeyEvent.VK_N);
mNew.addActionListener(new newl());
mFile.add(mNew);
JMenuItem mOpen=new JMenuItem("Open",KeyEvent.VK_O);
mOpen.addActionListener(new openl());
mFile.add(mOpen);
JMenuItem mSave=new JMenuItem("Save");
mSave.addActionListener(new savel());
mFile.add(mSave);
mFile.addSeparator(); //添加分割線
JMenuItem mPrint = new JMenuItem("Print");
mPrint.addActionListener(new printl());
mFile.add(mPrint);
mFile.addSeparator(); //添加分割線
JMenuItem mExit=new JMenuItem("Exit");
mExit.addActionListener(new exitl());
mFile.add(mExit);
mFile.setMnemonic(KeyEvent.VK_F);
//編輯菜單的子菜單的處理
JMenuItem jmi;
jmi=new JMenuItem("Copy");
jmi.addActionListener(new copyl());
mEdit.add(jmi);
jmi=new JMenuItem("Cut");
jmi.addActionListener(new cutl());
mEdit.add(jmi);
jmi=new JMenuItem("Paste");
jmi.addActionListener(new pastel());
mEdit.add(jmi);
mEdit.addSeparator(); //添加分割線
jmi=new JMenuItem("Find");
mEdit.add(jmi);
jmi=new JMenuItem("FindNext");
mEdit.add(jmi);
mEdit.addSeparator();
jmi=new JMenuItem("Select All");
mEdit.add(jmi);
jmi=new JMenuItem("Date/Time");
jmi.addActionListener(new datel());
mEdit.add(jmi);
jmb.add(mFile);
jmb.add(mEdit);
this.setJMenuBar(jmb);
this.getContentPane().add(jsp);
this.setSize(200,200);
this.setVisible(true);
}
//主函數(shù),程序入口點(diǎn)
public static void main(String s[])
{
new NotePad();
}
}
你 安裝JDK的時(shí)候 有沒(méi)選擇安裝runtime environment 如果沒(méi)有在裝一個(gè) ,不大 十幾兆判中殲培嘩,然后設(shè)置下掘沖環(huán)境變量。
在Java開(kāi)發(fā)中,使用 Alt+/ 快捷鍵可以在編輯器中調(diào)用代碼提示(代碼自動(dòng)補(bǔ)全)功能,提高編碼效率。若快捷鍵不起作用,可以嘗試以下幾種方法,以Windows系統(tǒng)為例:
1. 檢查快捷鍵是否和其他旁哪程序產(chǎn)生沖突,可以更改快捷鍵或渣如禁用其他程序的快捷鍵。
2. 檢查Java開(kāi)發(fā)IDE(例如Eclipse、IntelliJ IDEA等)中的設(shè)置,確認(rèn)是否啟用了代碼自動(dòng)補(bǔ)全功能。
3. 檢查輸入法設(shè)置,可能因?yàn)檩斎敕ㄔ斐煽旖萱I失效,可以嘗試切換輸入法或者暫時(shí)關(guān)閉輸入法的快捷鍵。
4. 在Java開(kāi)發(fā)IDE中查看快捷鍵設(shè)置,確認(rèn) Alt+/ 是否被如啟啟設(shè)置為代碼提示的快捷鍵。如果沒(méi)有設(shè)置,可以手動(dòng)將快捷鍵與代碼提示功能綁定。
總之,在Java開(kāi)發(fā)中快捷鍵使用順暢可以提高開(kāi)發(fā)效率,調(diào)整快捷鍵可以根據(jù)個(gè)人習(xí)慣和使用習(xí)慣進(jìn)行調(diào)整。
文章題目:java編輯器代碼提示 java文本編輯器代碼
文章鏈接:http://www.chinadenli.net/article20/ddpedjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、做網(wǎng)站、網(wǎng)站建設(shè)、域名注冊(cè)、云服務(wù)器、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容