中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何用JAVA寫文本編輯器

發布時間:2021-11-16 09:03:14 來源:億速云 閱讀:177 作者:iii 欄目:開發技術

本篇內容主要講解“如何用JAVA寫文本編輯器”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何用JAVA寫文本編輯器”吧!

前言

這里用swing ,awt寫的。

我們大概要做成一個電腦的記事本那樣的一個編輯器。可以調整字體,字號,顏色。能夠打開、保存文件,新建窗口,點擊退出,還有一個關于介紹的窗口。整體看起來功能不是很多,只要一部分一部分的去完成就很好辦了。

思路分析:

一、首先我們的目標模型就是電腦的記事本,打開編輯器可以看到結構:

1、標題顯示在窗口的title。

2、下面一行是一個工具欄,里面有文件、編輯、格式、查看、幫助。這里我們就選文件、格式、幫助來做,大致的情況都差不多。

3、再下面就是一個屏占比超高的 TextArea了,他還有個特點是有滾動條。

二、文件菜單欄:這里有新建窗口,打開文件,保存文件,還有一個退出按鈕。其中的難點主要在打開和保存文件上,為什么呢。因為我們點開打開和保存兩個按鈕,都會跳出一個文件選擇的Dialog。這東西是不是要自己畫,如果要自己畫,那就相當麻煩了,要對磁盤進行遍歷,然后貼到窗口中什么的。所幸我們有封裝好的工具JFileChooser。

三、格式菜單:彈出一個窗口,有文字的各種形式的屬性選擇,中間一個展示用的文本區域,下面兩個按鈕,確定即保存格式,修改主窗口的屬性。取消則關閉窗口,不改變屬性。

四、幫助菜單:這個是最簡單的,因為只有一個彈窗,用于顯示文本,所以我們打算從這里開始做。

OK,對每個部分分析了一下感覺清晰了很多。接下來我們來第一步,把主窗口畫出來。

具體實現

畫主窗口,并把菜單欄按照各自的關系建好:這里用到JMenuBar,JMenu、JMenuItem。顧名思義一個是菜單欄,一個是菜單,一個事菜單項。下面看代碼:

public class test5 extends JFrame{
 
	private JMenuBar menuBar;
	//菜單欄
	private JMenu menu_File,menu_Edit,menu_Help,menu_Format;
	//菜單欄內的菜單
	private JMenuItem item_new,item_open,item_save,item_exit;
	//對于file菜單的子項
	private JMenuItem item_undo,item_cut,item_copy,item_stick,item_delete;
	//對于edit菜單的子項
	private JMenuItem item_about;
	//對于help菜單的子項
	private JMenuItem item_word_format;
	
	
	public test5() {
		initMenuBar();
		
		this.setJMenuBar(menuBar);
		this.setSize(800,600);
		this.setTitle("自定義文本編輯器");
		this.setVisible(true);
		this.setLocationRelativeTo(null);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	
	/**
	 * 對menubar進行初始化,這里有一些小的快捷方式的設置
	 * 大家可以考慮對所有的組件都設置一下
	 * 兩種形式:
	 * menu_File.setMnemonic('f'); 對menu
	 * item_word_format.setAccelerator(KeyStroke.getKeyStroke('F',java.awt.Event.CTRL_MASK,false)); 對item
	 */
	public void initMenuBar() {
		menuBar = new JMenuBar();
		menu_File = new JMenu("文件(F)");
		menu_File.setMnemonic('f');//f+alt打開
		item_new = new JMenuItem("新建");
		item_open = new JMenuItem("打開");
		item_save = new JMenuItem("保存");
		item_exit = new JMenuItem("退出");
		menu_File.add(item_new);
		menu_File.add(item_open);
		menu_File.add(item_save);
		menu_File.add(item_exit);
		//File 菜單
		
		menu_Edit = new JMenu("編輯(E)");
		menu_Edit.setMnemonic('e');
		item_undo = new JMenuItem("撤銷");
		item_cut = new JMenuItem("剪切");
		item_copy = new JMenuItem("復制");
		item_stick = new JMenuItem("粘貼");
		item_delete = new JMenuItem("刪除");
		menu_Edit.add(item_undo);
		menu_Edit.add(item_cut);
		menu_Edit.add(item_copy);
		menu_Edit.add(item_stick);
		menu_Edit.add(item_delete);
		//Edit 菜單
		
		menu_Help = new JMenu("幫助(H)");
		menu_Help.setMnemonic('h');
		item_about = new JMenuItem("關于");
		menu_Help.add(item_about);
		//Help 菜單
		
		menu_Format = new JMenu("格式(O)");
		menu_Format.setMnemonic('o');
		item_word_format = new JMenuItem("字體(F)");
		item_word_format.setAccelerator(KeyStroke.getKeyStroke('F',java.awt.Event.CTRL_MASK,false));//給item添加快捷鍵
		menu_Format.add(item_word_format);
		menuBar.add(menu_File);
		menuBar.add(menu_Edit);
		menuBar.add(menu_Format);
		menuBar.add(menu_Help);
	}
	
	public static void main(String[] args) {
		test5 t5 = new test5();
	}
}

接下來就是菜單欄下面的文本編輯區域了,這里只需要用一個JTextArea就可以了,別忘了還有滾動條(JScrollPane):

public class test5 extends JFrame{
 
	...

 ...

 
	private static JTextArea edit_text_area;
	//private JTextArea edit_text_area;
	
	//編輯區域
	private JScrollPane scroll_bar;
	//可滾動的pane 里面添加edit_text_area就可以變為一個可以滾動的文本框,JScrollPane是一個pane,同時可以設置方向
	
	public test5() {
		initMenuBar();
		initEditArea();
		
		this.setJMenuBar(menuBar);
		this.setSize(800,600);
		
		this.add(scroll_bar);
		
		this.setTitle("自定義文本編輯器");
		this.setVisible(true);
		this.setLocationRelativeTo(null);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	
	
	/**
	 * 初始化編輯區域
	 * 用scrollpane裝textarea
	 * 同時對pane設置方向
	 */
	public void initEditArea() {
		edit_text_area = new JTextArea();
		scroll_bar = new JScrollPane(edit_text_area);
		scroll_bar.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
	}
	
	
	public void initMenuBar() {
		...
	}
	
	
	
	public static void main(String[] args) {
		test5 t5 = new test5();
	}
	
	
 
}

到此,相信大家對“如何用JAVA寫文本編輯器”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

全州县| 临城县| 云南省| 方城县| 东源县| 信阳市| 怀远县| 上犹县| 衡水市| 嘉义县| 六盘水市| 夏津县| 盐山县| 平安县| 蒙阴县| 宾川县| 如东县| 封开县| 汽车| 佳木斯市| 嵩明县| 屏山县| 吉木萨尔县| 吕梁市| 清水河县| 昆山市| 大石桥市| 抚远县| 隆尧县| 辛集市| 子长县| 北流市| 阜康市| 富蕴县| 闵行区| 邮箱| 本溪市| 遂昌县| 林西县| 老河口市| 河北区|