java編輯器,java編輯器會將java程序轉換為

本文目錄一覽:

java必須用文本編輯器編寫源文件對嗎?

對的

1、編寫源文件

使用一個文本編輯器(如Edit或記事本)編寫源文件,不可使用非文本編輯器(如我word編輯器)。

將編寫好的源文件保存起來,源文件的擴展名必須是.java。

2、編譯源文件

使用Java編譯器(javac.exe)編譯源文件,得到位元組碼文件。

3、運行程序

使用Java SE 平台中的Java解釋器(java.exe)來解釋執行位元組碼文件。

java編輯器有什麼作用?

編輯器,記事本都能搞定,作用嗎很簡單,就是編輯代碼,然後保存

用Java製作屬性編輯器

作者長期從事網管軟體的開發工作 網路設備的配置管理模塊 需要對網路設備的大量參數進行配置工作 設計 開發配置管理模塊的界面成為整個網管系統的難點 尤其是用Java語言開發時 需要編製大量的界面布局 事件處理等代碼 網管軟體開發的主要工作量就集中在此 製作一個類似於Delphi JBuilder等可視化開發工具的對象查看器的參數配置控制項用於項目的優點是顯而易見的 界面顯得很專業 容易做到使整個系統的風格趨於一致 使用靈活 代碼量大大減小 ……最終的使用效果如下圖所示   作者本人把它稱為屬性編輯器 它的主要特徵是 是一個兩列多行的表格 第一列用來顯示屬性名稱 第二列用來顯示和編輯屬性值 屬性值的顯示和編輯可以有多種方式 如文本框輸入 下拉框選擇 組合框選擇 自定義的彈出式對話框等 當屬性被編輯後 可以向感興趣的對象發出通知 下面就屬性編輯器的設計思路和編製過程進行具體的解釋說明 設計思路根據屬性編輯器的主要界面特徵 選擇JTable作為編輯器的基類 JTable是Swing中最複雜的組件之一 它主要被用來顯示數據行和數據列 它可以為每個數據單元分別提供繪製器和編輯器 是典型的MVC(模型Model 視圖View 控制Control)模式的實現者 設計屬性編輯器為一個兩列的JTable 每一行數據的第一列存放不重複的字元串 作為屬性的名稱 第二列保存Object對象 根據其具體數據類型 設置其單元繪製器和單元編輯器 一般單元繪製器用系統默認的JLabel即可 而單元編輯器則必須提供定製的控制項 如對字元串型數據 用JTextField或者JComboBox 對布爾型數據 用JCheckBox 對特殊類型 可以提供JDialog 對話框的主要界面可以由使用本屬性編輯器的程序員自行定製 屬性編輯器還要提供相關介面 如屬性值是否只讀 屬性值變化時必須通知監聽者 等等 屬性編輯器的具體設計 請參見下圖 限於篇幅 該圖只簡單列舉了幾個主要的類之間的關係和一些重要的變數和方法 屬性編輯器的製作過程屬性編輯器是從JTable上繼承下來的 必須給它定義一個DefaultTableModel的子類 用來作為屬性編輯器的數據模型 存放屬性名和屬性值 因為它只在屬性編輯器內部使用 所以可以定義為屬性編輯器的內部類 public class PropertyEditor extends JTable {protected class PropertyEditorModel extends DefaultTableModel{public PropertyEditorModel() {super( ); // 只有兩個列}public String getColumnName(int col) {return ; // 不需要列標題}public boolean isCellEditable(int row int col) {if(col == )return false; // 第一列是屬性名 不可編輯else// 屬性值是否可編輯要看用戶指定的情況return ((Boolean)propertyEditable get(this getValueAt(row ))) booleanValue();}}}要實現定製的單元繪製器和編輯器 必須覆蓋JTable的getCellEditor和getCellRenderer方法 那些已經做好的繪製器 編輯器和該屬性值是否允許編輯都可以根據屬性名保存在Hashtable里 需要的時候根據屬性名取出來 /*** 每一個屬性項都對應一個單元編輯器 用Hashtable來保存這些編輯器*/protected Hashtable propertyEditors = new Hashtable( );/*** 每一個屬性項都對應一個單元渲染器*/protected Hashtable propertyRenderers = new Hashtable( );/*** 屬性是否可編輯*/protected Hashtable propertyEditable = new Hashtable( );/*** 獲取指定單元格的編輯器* @param row 行* @param col 列*/public TableCellEditor getCellEditor(int row int col) {TableCellEditor editor = null;if(col == ) { // 屬性值列才需要編輯器 這個判斷條件不要也可 效率會低一點 editor = (TableCellEditor)propertyEditors get(this getValueAt(row ));}if(editor == null) { // 沒找到編輯器 則用系統默認的 editor = super getCellEditor(row col);}return editor;}/*** 獲取指定單元格的渲染器*/public TableCellRenderer getCellRenderer(int row int col) {TableCellRenderer renderer = null;if(col == ) {renderer = (TableCellRenderer)propertyRenderers get(this getValueAt(row ));}if(renderer == null) {renderer = super getCellRenderer(row col);}// 給表格元素提供Hint提示if(renderer instanceof JComponent) {Object v = this getModel() getValueAt(row col);if(v == null) { // 屬性值有可能為空 則取屬性名 屬性名必不為空 v = this getModel() getValueAt(row );}((JComponent)renderer) setToolTipText(v toString());}return renderer;}如何確定哪個屬性用哪一種編輯器呢?可以根據用戶程序員傳入的參數來確定 對傳入的整數型數據 則用LongCellEditor 字元串型的當然用StringCellEditor了 其它依次類推 以整數型來舉例 /*** 在屬性表中增加整數屬性 允許為空值 編輯器和渲染器為long型編輯器和渲染器 * 當屬性值為空值時 必須寫成 * addProperty( pName (Long)null)* @param propertyName 屬性名* @param longNumObj 屬性初始值*/public void addProperty(String propertyName Long longNumObj) {if(propertyName == null) throw new RuntimeException( Coding error : property name can NOT be null ! );Object[] row = new Object[ ];row[ ] = propertyName;row[ ] = longNumObj;appendRow(row); // 往表格增加行propertyEditors put(propertyName longEditor); // 添加整型編輯器propertyRenderers put(propertyName longRenderer); // 添加整型繪製器propertyEditable put(propertyName new Boolean(true)); // 設置該屬性允許編輯}給屬性編輯器加上get和set介面 /*** 根據屬性名得到屬性值* @param propertyName 屬性名*/public Object getPropertyValue(String propertyName) {Object retValue = null;for(int i = ; i ptm.getRowCount(); i++) {if(ptm.getValueAt(i, 0).equals(propertyName)) {retValue = ptm.getValueAt(i, 1);break;}}return retValue;}/*** 設置屬性值* @param propertyName 屬性名* @param newValue 新的屬性值*/public void setPropertyValue(String propertyName, Object newValue) {for(int i = 0; i ptm.getRowCount(); i++) {if(ptm.getValueAt(i, 0).equals(propertyName)) {ptm.setValueAt(newValue, i, 1);break;}}}好了,屬性值編輯器的大框架已經完成了,下面以整數型的單元編輯器為例,簡單說明單元編輯器的製作方法,雙精度型和字元串型的和它類似,最複雜的用戶自定義對話框型的,留待讀者自己看源代碼吧(反正源代碼裡面有詳細的注釋的J)。tW.WinGWit.cOm/*** 創建並初始化long型數據的編輯器和渲染器*/private void createLongEditorRenderer() {final JTextField longTextField = new JTextField(“0”, 5); // 用文本輸入框做輸入控制項longTextField.setHorizontalAlignment(JTextField.LEFT);longEditor = new DefaultCellEditor(longTextField) {private Object previousValue = null; public Object getCellEditorValue() {if(longTextField.getText().equals(“”) lishixinzhi/Article/program/Java/JSP/201311/19202

java文本編輯器FileEditor

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.io.*;

public class f1 extends Frame implements ActionListener

{

private MenuBar menubar=new MenuBar();

private Menu filemenu=new Menu(“文件”);

private Menu editmenu=new Menu(“編輯”);

private Menu formmenu=new Menu(“格式”);

private MenuItem[] itemf=new MenuItem[4];

private MenuItem[] iteme=new MenuItem[6];

private MenuItem[] items=new MenuItem[2];

private TextArea tf=new TextArea();

public int a=0,b=0,c=0,style=Font.PLAIN,size=15;

public String s1=”red:”+a+” “+”green:”+b+” “+”blue”+c,

s2=”宋體”;

public

Java的編輯器用哪個比較好?

1、初學者:

初學者建議用JCreator,編譯,運行比較簡單,大部分代碼多是需要手敲的。不過可以熟悉各個類,和使用。

2、J2EE,J2ME開發:

一般都使用Eclipse或MyEclipse,這兩個提供了豐富的插件和友好的編輯界面,能耗也比較低,速度比較快。

3、J2SE開發:

建議使用NetBeans,Eclipse也是可以的,不過要加一個VE插件,不過這個VE插件我用起來覺得也不如NetBeans的好用。另外NetBeans提供了比較不錯的打包功能,Eclipse還是要加插件才可以。

4、其它工具:

其它還有Jdeveloper,Jbuilder,IntelJ等等,常用的就這麼幾種。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/185538.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-26 12:19
下一篇 2024-11-26 12:24

相關推薦

  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python程序文件的拓展

    Python是一門功能豐富、易於學習、可讀性高的編程語言。Python程序文件通常以.py為文件拓展名,被廣泛應用於各種領域,包括Web開發、機器學習、科學計算等。為了更好地發揮P…

    編程 2025-04-29
  • Python購物車程序

    Python購物車程序是一款基於Python編程語言開發的程序,可以實現購物車的相關功能,包括商品的添加、購買、刪除、統計等。 一、添加商品 添加商品是購物車程序的基礎功能之一,用…

    編程 2025-04-29
  • 爬蟲是一種程序

    爬蟲是一種程序,用於自動獲取互聯網上的信息。本文將從如下多個方面對爬蟲的意義、運行方式、應用場景和技術要點等進行詳細的闡述。 一、爬蟲的意義 1、獲取信息:爬蟲可以自動獲取互聯網上…

    編程 2025-04-29
  • Vb運行程序的三種方法

    VB是一種非常實用的編程工具,它可以被用於開發各種不同的應用程序,從簡單的計算器到更複雜的商業軟體。在VB中,有許多不同的方法可以運行程序,包括編譯器、發布程序以及命令行。在本文中…

    編程 2025-04-29
  • 使用FFmpeg在Java中將MP3 URL轉換為PCM

    本文介紹了使用FFmpeg在Java中將MP3 URL轉換為PCM的具體步驟,以及相應代碼示例。 一、準備工作 在使用FFmpeg之前,需要先安裝FFmpeg,可以在官網(http…

    編程 2025-04-29
  • Python一元二次方程求解程序

    本文將詳細闡述Python一元二次方程求解程序的相關知識,為讀者提供全面的程序設計思路和操作方法。 一、方程求解 首先,我們需要了解一元二次方程的求解方法。一元二次方程可以寫作: …

    編程 2025-04-29
  • 如何使用GPU加速運行Python程序——以CSDN為中心

    GPU的強大性能是眾所周知的。而隨著深度學習和機器學習的發展,越來越多的Python開發者將GPU應用於深度學習模型的訓練過程中,提高了模型訓練效率。在本文中,我們將介紹如何使用G…

    編程 2025-04-29
  • Polyphone音頻編輯器基礎入門教程

    Polyphone是一款免費的音頻編輯器,可用於編輯.sf2和.sfz格式的音色庫。本文將詳細介紹Polyphone的基礎操作及使用方法。 一、安裝和簡介 首先,我們需要下載並安裝…

    編程 2025-04-29

發表回復

登錄後才能評論