iT邦幫忙

0

用JAVA作一個記事本menu卡在新增字型的形式+尺寸+顏色

Tzu 2020-10-15 22:34:391074 瀏覽

各位大大晚安

事情是這樣的~
用JAVA作一個記事本基本上就是個國民題~
似乎每個人都會練習到...
但是我現在卡在edit新增一個讓使用者選字型的形式+尺寸+顏色的地方
下面是我目前研究到的程式碼~


import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;

import javax.swing.*;

import java.awt.*;
import java.awt.event.*;

public class MyFrame10151 extends JFrame {
	
	//global variables
	private JTextArea txt=null;
	
	//constructors
	public MyFrame10151(String title)  {
		
		super(title);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(1000,500);

		
		getContentPane().setBackground(Color.pink);
		
		//new Button
		
		txt=new JTextArea();
		getContentPane().add(txt);
		add(new JScrollPane(txt), BorderLayout.CENTER);
		menu();
		}
	
	
	
	//methods
	private void menu() {
		
		//menu bar
		JMenuBar mbar=new JMenuBar();
		JMenu mFile=new JMenu("File");
		mFile.setMnemonic(KeyEvent.VK_F);
		mbar.add(mFile);
		
			JMenuItem iNew=new JMenuItem("New");
			mFile.add(iNew);
                        
			iNew.setMnemonic(KeyEvent.VK_N);
			iNew.addActionListener(
					new ActionListener() {
						public void actionPerformed(ActionEvent e) {
							clear();
						}
					}							
			);
			
			JMenuItem iOpen=new JMenuItem("Open");
			mFile.add(iOpen);
			iOpen.setMnemonic(KeyEvent.VK_O);
			iNew.addActionListener(
					new ActionListener() {
						public void actionPerformed(ActionEvent e) {
							
						}
					}							
			);
			
			
			JMenuItem iSave=new JMenuItem("Save");
			mFile.add(iSave);
			iSave.setMnemonic(KeyEvent.VK_S);
			iSave.addActionListener(
					new ActionListener() {
						public void actionPerformed(ActionEvent e) {
							save();
						}
					}							
			);
			
			
			mFile.addSeparator();
		
			JMenuItem iExit=new JMenuItem("Exit");
			iExit.setMnemonic(KeyEvent.VK_X);
			iExit.addActionListener(
					new ActionListener() {
						public void actionPerformed(ActionEvent e) {
							System.exit(0);
						}
					}							
			);
		mFile.add(iExit);
		this.setJMenuBar(mbar);		
		
	}
	
	
	
	
	private void clear() {
		
		int answer=JOptionPane.showConfirmDialog(null,
				"Are you sure?", "Clear", JOptionPane.YES_NO_OPTION);
		
		System.out.println(answer);
		
		if(answer==JOptionPane.YES_OPTION) txt.setText("");
		
	}
	
	
	private void save() {
		
		JFileChooser fc=new JFileChooser();
		fc.setCurrentDirectory(new File("c:/"));
		int answer = fc.showSaveDialog(this);
		
		if(answer==JFileChooser.APPROVE_OPTION) {	
			System.out.println(fc.getSelectedFile());
			try {
				PrintWriter bw=new PrintWriter(new FileWriter(fc.getSelectedFile()));
				bw.write(txt.getText());
				bw.close();
				
				
			}catch(Exception e) {
				
			}
		}
		
	}
	
	
	

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		MyFrame10151 win1=new MyFrame10151("My NotePad");
		win1.setVisible(true);
		
		//System.out.println(win1.txt);
		

	}

}


我真的有搜尋很多~
https://www.youtube.com/watch?v=HY8jYkiBPU8
https://www.logicbig.com/tutorials/java-swing/menu-search-highlighting.html
https://docs.oracle.com/javase/tutorial/uiswing/components/menu.html

https://blog.csdn.net/Peng_Hong_fu/article/details/52682179
https://codertw.com/程式語言/308106/

https://zhidao.baidu.com/question/53881199.html?fr=iks&word=java%B5%C4GUI%B1%E0%D0%B4%D2%BB%B8%F6%BC%C7%CA%C2%B1%BE+font&ie=gbk

https://blog.csdn.net/qwsin/article/details/103440008?utm_medium=distribute.pc_relevant_download.none-task-blog-baidujs-3.nonecase&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-baidujs-3.nonecase

http://hk.uwenku.com/question/p-gafotmps-da.html
https://github.com/JustinSDK/JavaSE6Tutorial/blob/master/docs/CH19.md

但是還是不知道該如何下手
/images/emoticon/emoticon06.gif

可以提示我一下嗎....QQ

Tzu iT邦新手 1 級 ‧ 2020-10-16 21:36:17 檢舉
都沒有人回答我.......所以我自己找答案~但是發現不能刪文.難道我要自問自答?
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
theRookie
iT邦新手 1 級 ‧ 2020-10-18 22:12:32
最佳解答

可能是這陣子大家寫鐵人賽太忙了
如果初學的話建議使用這個東西
GUI的圖形自己拉,用程式碼刻畫面,太辛苦了

其他相關資訊的話關鍵字就是 eclipse windowBuilder
現在業界通常是使用intellij 或 eclipse因此還是建議幫有早日習慣的好

點我看安裝

點我看使用

Tzu iT邦新手 1 級 ‧ 2020-10-18 23:14:00 檢舉

謝謝~雖然已經用CODE寫了~但是還是可以練習看看

我要發表回答

立即登入回答