成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

代碼編輯器java手機 java編輯器手機版

java編程常用的軟件有哪些

想要做好Java開發(fā),沒有常用的開發(fā)工具可不行。而Java初學者往往處于對Java還一知半解的狀態(tài),對于Java開發(fā)工具的了解也不會太多,常常會為了找開發(fā)工具而浪費大量的時間。給大家介紹下Java開發(fā)工程師常用的開發(fā)工具有哪些。

十年的振安網(wǎng)站建設經驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。網(wǎng)絡營銷推廣的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調整振安建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)從事“振安網(wǎng)站設計”,“振安網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

第一個Java常用的開發(fā)工具為JDK,也叫Java軟件開發(fā)工具包,是一個編寫Java的Applet小程序和應用程序的程序開發(fā)環(huán)境, JDK中還包括了Java的開發(fā)環(huán)境,所以下載了JDK就包含了Java開發(fā)環(huán)境。而且JDK之所以被叫做Java軟件開發(fā)工具包,是因為它包含了其它Java開發(fā)工具,如:編譯工具(javac.exe)、打包工具(jar.exe)等。

第二個是JavaIDE:Eclipse,Eclipse 是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發(fā)環(huán)境。而且由于它的平等和一致性,使得其它開發(fā)語言也可以在eclipse上使用。

第三個是notepad++,notepad++是一個編譯工具,它的優(yōu)點是即使你把文件刪掉了,如果再notepad++中打開過,那么那里就會保留,所以對一些容易誤刪的人來說比較友好,notepad++可以用來替代notepad。

第四個是Visual Studio Code,它是一個運行于 Mac OS X、Windows和 Linux 之上的跨平臺源代碼編輯器。而且這個編輯器支持多種語言和格式的編寫。

以上就是比較常用的4種Java開發(fā)工具,Java的初學者在對開發(fā)工具不了解的情況下,可以根據(jù)上述介紹來選擇適合自己的開發(fā)工具,這樣可以減少自己到處找開發(fā)工具還可能找到不適合的所浪費的時間。

手機java editor怎么用

Java編輯器是一個非常簡單的Java編輯器,它可以彩色語法:函數(shù)、變量、方法、常量和支持自動完成。打開默認文件擴展。

手機上有可以安裝java開發(fā)工具嗎?

手機上可以安裝Java開發(fā)工具。

AIDE是一個Android Java集成開發(fā)環(huán)境,可以在Android系統(tǒng)內進行Android軟件和游戲的開發(fā),也可以進行Java控制臺程序的開發(fā)。它不僅僅是一個編輯器,而是支持編寫-編譯-調試運行整個周期,開發(fā)人員可以在Android手機或者平板機上創(chuàng)建新的項目,借助功能豐富的編輯器進行代碼編寫,支持實時錯誤檢查、代碼重構、代碼智能導航、生成APK,然后直接安裝進行測試。

AIDE還內置了Java、Android、javascript、web、c/c++基礎教程。當然也支持開發(fā)這些語言的項目。

AIDE可以在各大軟件商城獲取,但是要收費??梢栽诎俣華IDE吧獲取破解版和漢化版。

寫代碼軟件

常用的寫代碼軟件有以下幾個:

1、WebStorm。WebStorm是jetbrains公司旗下一款JavaScript開發(fā)工具。目前已經被廣大中國JS開發(fā)者譽為“Web前端開發(fā)神器”、“最強大的HTML5編輯器”、“最智能的JavaScriptIDE”等。

2、SublimeText。SublimeText是一個代碼編輯器也是HTML和散文先進的文本編輯器。

3、HBuilder。HBuilder是專為前端打造的開發(fā)工具,具有飛一樣的編碼、最全的語法庫和瀏覽器兼容數(shù)據(jù)、可以方便的制作手機APP、最保護眼睛的綠柔設計等特點。

java源代碼編輯器 設計用于編寫Java源代碼的編輯器,基本要求:可以完成源程序的文件打開,編輯和文件保存

一. 高亮的內容:

需要高亮的內容有:

1. 關鍵字, 如 public, int, true 等.

2. 運算符, 如 +, -, *, /等

3. 數(shù)字

4. 高亮字符串, 如 "example of string"

5. 高亮單行注釋

6. 高亮多行注釋

二. 實現(xiàn)高亮的核心方法:

StyledDocument.setCharacterAttributes(int offset, int length, AttributeSet s, boolean replace)

三. 文本編輯器選擇.

Java中提供的多行文本編輯器有: JTextComponent, JTextArea, JTextPane, JEditorPane等, 都可以使用. 但是因為語法著色中文本要使用多種風格的樣式, 所以這些文本編輯器的document要使用StyledDocument.

JTextArea使用的是PlainDocument, 此document不能進行多種格式的著色.

JTextPane, JEditorPane使用的是StyledDocument, 默認就可以使用.

為了實現(xiàn)語法著色, 可以繼承自DefaultStyledDocument, 設置其為這些文本編輯器的documet, 或者也可以直接使用JTextPane, JEditorPane來做. 為了方便, 這里就直接使用JTextPane了.

四. 何時進行著色.

當文本編輯器中有字符被插入或者刪除時, 文本的內容就發(fā)生了變化, 這時檢查, 進行著色.

為了監(jiān)視到文本的內容發(fā)生了變化, 要給document添加一個DocumentListener監(jiān)聽器, 在他的removeUpdate和insertUpdate中進行著色處理.

而changedUpdate方法在文本的屬性例如前景色, 背景色, 字體等風格改變時才會被調用.

@Override

public void changedUpdate(DocumentEvent e) {

}

@Override

public void insertUpdate(DocumentEvent e) {

try {

colouring((StyledDocument) e.getDocument(), e.getOffset(), e.getLength());

} catch (BadLocationException e1) {

e1.printStackTrace();

}

}

@Override

public void removeUpdate(DocumentEvent e) {

try {

// 因為刪除后光標緊接著影響的單詞兩邊, 所以長度就不需要了

colouring((StyledDocument) e.getDocument(), e.getOffset(), 0);

} catch (BadLocationException e1) {

e1.printStackTrace();

}

}

五. 著色范圍:

pos: 指變化前光標的位置.

len: 指變化的字符數(shù).

例如有關鍵字public, int

單詞"publicint", 在"public"和"int"中插入一個空格后變成"public int", 一個單詞變成了兩個, 這時對"public" 和 "int"進行著色.

著色范圍是public中p的位置和int中t的位置加1, 即是pos前面單詞開始的下標和pos+len開始單詞結束的下標. 所以上例中要著色的范圍是"public int".

提供了方法indexOfWordStart來取得pos前單詞開始的下標, 方法indexOfWordEnd來取得pos后單詞結束的下標.

public int indexOfWordStart(Document doc, int pos) throws BadLocationException {

// 從pos開始向前找到第一個非單詞字符.

for (; pos 0 isWordCharacter(doc, pos - 1); --pos);

return pos;

}

public int indexOfWordEnd(Document doc, int pos) throws BadLocationException {

// 從pos開始向前找到第一個非單詞字符.

for (; isWordCharacter(doc, pos); ++pos);

return pos;

}

一個字符是單詞的有效字符: 是字母, 數(shù)字, 下劃線.

public boolean isWordCharacter(Document doc, int pos) throws BadLocationException {

char ch = getCharAt(doc, pos); // 取得在文檔中pos位置處的字符

if (Character.isLetter(ch) || Character.isDigit(ch) || ch == '_') { return true; }

return false;

}

所以著色的范圍是[start, end] :

int start = indexOfWordStart(doc, pos);

int end = indexOfWordEnd(doc, pos + len);

六. 關鍵字著色.

從著色范圍的開始下標起進行判斷, 如果是以字母開或者下劃線開頭, 則說明是單詞, 那么先取得這個單詞, 如果這個單詞是關鍵字, 就進行關鍵字著色, 如果不是, 就進行普通的著色. 著色完這個單詞后, 繼續(xù)后面的著色處理. 已經著色過的字符, 就不再進行著色了.

public void colouring(StyledDocument doc, int pos, int len) throws BadLocationException {

// 取得插入或者刪除后影響到的單詞.

// 例如"public"在b后插入一個空格, 就變成了:"pub lic", 這時就有兩個單詞要處理:"pub"和"lic"

// 這時要取得的范圍是pub中p前面的位置和lic中c后面的位置

int start = indexOfWordStart(doc, pos);

int end = indexOfWordEnd(doc, pos + len);

char ch;

while (start end) {

ch = getCharAt(doc, start);

if (Character.isLetter(ch) || ch == '_') {

// 如果是以字母或者下劃線開頭, 說明是單詞

// pos為處理后的最后一個下標

start = colouringWord(doc, start);

} else {

//SwingUtilities.invokeLater(new ColouringTask(doc, pos, wordEnd - pos, normalStyle));

++start;

}

}

}

public int colouringWord(StyledDocument doc, int pos) throws BadLocationException {

int wordEnd = indexOfWordEnd(doc, pos);

String word = doc.getText(pos, wordEnd - pos); // 要進行著色的單詞

if (keywords.contains(word)) {

// 如果是關鍵字, 就進行關鍵字的著色, 否則使用普通的著色.

// 這里有一點要注意, 在insertUpdate和removeUpdate的方法調用的過程中, 不能修改doc的屬性.

// 但我們又要達到能夠修改doc的屬性, 所以把此任務放到這個方法的外面去執(zhí)行.

// 實現(xiàn)這一目的, 可以使用新線程, 但放到swing的事件隊列里去處理更輕便一點.

SwingUtilities.invokeLater(new ColouringTask(doc, pos, wordEnd - pos, keywordStyle));

} else {

SwingUtilities.invokeLater(new ColouringTask(doc, pos, wordEnd - pos, normalStyle));

}

return wordEnd;

}

因為在insertUpdate和removeUpdate方法中不能修改document的屬性, 所以著色的任務放到這兩個方法外面, 所以使用了SwingUtilities.invokeLater來實現(xiàn).

private class ColouringTask implements Runnable {

private StyledDocument doc;

private Style style;

private int pos;

private int len;

public ColouringTask(StyledDocument doc, int pos, int len, Style style) {

this.doc = doc;

this.pos = pos;

this.len = len;

this.style = style;

}

public void run() {

try {

// 這里就是對字符進行著色

doc.setCharacterAttributes(pos, len, style, true);

} catch (Exception e) {}

}

}

七: 源碼

關鍵字著色的完成代碼如下, 可以直接編譯運行. 對于數(shù)字, 運算符, 字符串等的著色處理在以后的教程中會繼續(xù)進行詳解.

import java.awt.Color;

import java.util.HashSet;

import java.util.Set;

import javax.swing.JFrame;

import javax.swing.JTextPane;

import javax.swing.SwingUtilities;

import javax.swing.event.DocumentEvent;

import javax.swing.event.DocumentListener;

import javax.swing.text.BadLocationException;

import javax.swing.text.Document;

import javax.swing.text.Style;

import javax.swing.text.StyleConstants;

import javax.swing.text.StyledDocument;

public class HighlightKeywordsDemo {

public static void main(String[] args) {

JFrame frame = new JFrame();

JTextPane editor = new JTextPane();

editor.getDocument().addDocumentListener(new SyntaxHighlighter(editor));

frame.getContentPane().add(editor);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setSize(500, 500);

frame.setVisible(true);

}

}

/**

* 當文本輸入?yún)^(qū)的有字符插入或者刪除時, 進行高亮.

*

* 要進行語法高亮, 文本輸入組件的document要是styled document才行. 所以不要用JTextArea. 可以使用JTextPane.

*

* @author Biao

*

*/

class SyntaxHighlighter implements DocumentListener {

private SetString keywords;

private Style keywordStyle;

private Style normalStyle;

public SyntaxHighlighter(JTextPane editor) {

// 準備著色使用的樣式

keywordStyle = ((StyledDocument) editor.getDocument()).addStyle("Keyword_Style", null);

normalStyle = ((StyledDocument) editor.getDocument()).addStyle("Keyword_Style", null);

StyleConstants.setForeground(keywordStyle, Color.RED);

StyleConstants.setForeground(normalStyle, Color.BLACK);

// 準備關鍵字

keywords = new HashSetString();

keywords.add("public");

keywords.add("protected");

keywords.add("private");

keywords.add("_int9");

keywords.add("float");

keywords.add("double");

}

public void colouring(StyledDocument doc, int pos, int len) throws BadLocationException {

// 取得插入或者刪除后影響到的單詞.

// 例如"public"在b后插入一個空格, 就變成了:"pub lic", 這時就有兩個單詞要處理:"pub"和"lic"

// 這時要取得的范圍是pub中p前面的位置和lic中c后面的位置

int start = indexOfWordStart(doc, pos);

int end = indexOfWordEnd(doc, pos + len);

char ch;

while (start end) {

ch = getCharAt(doc, start);

if (Character.isLetter(ch) || ch == '_') {

// 如果是以字母或者下劃線開頭, 說明是單詞

// pos為處理后的最后一個下標

start = colouringWord(doc, start);

} else {

SwingUtilities.invokeLater(new ColouringTask(doc, start, 1, normalStyle));

++start;

}

}

}

/**

* 對單詞進行著色, 并返回單詞結束的下標.

*

* @param doc

* @param pos

* @return

* @throws BadLocationException

*/

public int colouringWord(StyledDocument doc, int pos) throws BadLocationException {

int wordEnd = indexOfWordEnd(doc, pos);

String word = doc.getText(pos, wordEnd - pos);

if (keywords.contains(word)) {

// 如果是關鍵字, 就進行關鍵字的著色, 否則使用普通的著色.

// 這里有一點要注意, 在insertUpdate和removeUpdate的方法調用的過程中, 不能修改doc的屬性.

// 但我們又要達到能夠修改doc的屬性, 所以把此任務放到這個方法的外面去執(zhí)行.

// 實現(xiàn)這一目的, 可以使用新線程, 但放到swing的事件隊列里去處理更輕便一點.

SwingUtilities.invokeLater(new ColouringTask(doc, pos, wordEnd - pos, keywordStyle));

} else {

SwingUtilities.invokeLater(new ColouringTask(doc, pos, wordEnd - pos, normalStyle));

}

return wordEnd;

}

/**

* 取得在文檔中下標在pos處的字符.

*

* 如果pos為doc.getLength(), 返回的是一個文檔的結束符, 不會拋出異常. 如果pos0, 則會拋出異常.

* 所以pos的有效值是[0, doc.getLength()]

*

* @param doc

* @param pos

* @return

* @throws BadLocationException

*/

public char getCharAt(Document doc, int pos) throws BadLocationException {

return doc.getText(pos, 1).charAt(0);

}

/**

* 取得下標為pos時, 它所在的單詞開始的下標. ?±wor^d?± (^表示pos, ?±表示開始或結束的下標)

*

* @param doc

* @param pos

* @return

* @throws BadLocationException

*/

public int indexOfWordStart(Document doc, int pos) throws BadLocationException {

// 從pos開始向前找到第一個非單詞字符.

for (; pos 0 isWordCharacter(doc, pos - 1); --pos);

return pos;

}

/**

* 取得下標為pos時, 它所在的單詞結束的下標. ?±wor^d?± (^表示pos, ?±表示開始或結束的下標)

*

* @param doc

* @param pos

* @return

* @throws BadLocationException

*/

public int indexOfWordEnd(Document doc, int pos) throws BadLocationException {

// 從pos開始向前找到第一個非單詞字符.

for (; isWordCharacter(doc, pos); ++pos);

return pos;

}

/**

* 如果一個字符是字母, 數(shù)字, 下劃線, 則返回true.

*

* @param doc

* @param pos

* @return

* @throws BadLocationException

*/

public boolean isWordCharacter(Document doc, int pos) throws BadLocationException {

char ch = getCharAt(doc, pos);

if (Character.isLetter(ch) || Character.isDigit(ch) || ch == '_') { return true; }

return false;

}

@Override

public void changedUpdate(DocumentEvent e) {

}

@Override

public void insertUpdate(DocumentEvent e) {

try {

colouring((StyledDocument) e.getDocument(), e.getOffset(), e.getLength());

} catch (BadLocationException e1) {

e1.printStackTrace();

}

}

@Override

public void removeUpdate(DocumentEvent e) {

try {

// 因為刪除后光標緊接著影響的單詞兩邊, 所以長度就不需要了

colouring((StyledDocument) e.getDocument(), e.getOffset(), 0);

} catch (BadLocationException e1) {

e1.printStackTrace();

}

}

/**

* 完成著色任務

*

* @author Biao

*

*/

private class ColouringTask implements Runnable {

private StyledDocument doc;

private Style style;

private int pos;

private int len;

public ColouringTask(StyledDocument doc, int pos, int len, Style style) {

this.doc = doc;

this.pos = pos;

this.len = len;

this.style = style;

}

public void run() {

try {

// 這里就是對字符進行著色

doc.setCharacterAttributes(pos, len, style, true);

} catch (Exception e) {}

}

}

}

本文標題:代碼編輯器java手機 java編輯器手機版
轉載來源:http://jinyejixie.com/article8/hpceop.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、虛擬主機、網(wǎng)站維護、網(wǎng)站策劃、面包屑導航、手機網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務器托管
固镇县| 城步| 海南省| 德保县| 阜康市| 唐山市| 昌图县| 鄂伦春自治旗| 织金县| 建始县| 荣成市| 巨野县| 开平市| 临海市| 庆城县| 桐柏县| 油尖旺区| 昭平县| 太保市| 杭州市| 安乡县| 石柱| 新蔡县| 桂阳县| 太白县| 垣曲县| 洮南市| 余江县| 舒城县| 横峰县| 福州市| 牡丹江市| 虞城县| 修水县| 上虞市| 五常市| 珲春市| 蛟河市| 内丘县| 凯里市| 嵊州市|