怎麼用記事本編寫java程式
- IT科技
- 關注:9.51K次
import java.io.*;import java.awt.*;import java
java是現在非常流行的一門計算機語言,除了用特定的編譯器外,也可以用記事本編寫java程式。下面一起來看看如何記事本編寫java程式吧,希望對大家有所幫助
材料/工具
方法
首先,按下Win+R開啟執行命令框
首先在cmd裡執行java -version 看能不能出來java版本資訊,如果看不到就是jdk安
輸入CMD進入命令提示符工具
import java.awt.BorderLayout;import java.awt.Con
如圖所示,輸入javac
首先右擊滑鼠,新建一個文字文件。更改文字文件的字尾名為 .java 。注意檔名必須和類名相
選擇一個目錄,新建文字檔案
1、你配置jdk正確嗎? 也就是JAVA_HOME = C:Program Files
此處以編寫一個helloworld程式為例,將檔案命名為“helloworld”,字尾改為“.java”
很簡單的啊,在記事本里寫上相應的java程式碼,寫好儲存後將相應的檔名字尾改為****.java,然
先選中剛剛新建的文字檔案,選擇“開啟方式-記事本”
import java.awt.*;import java.awt.event.*;impo
開啟檔案之後,即可編寫程式,保證類名與檔名一致
兩種解決方法:第一種:不建包,用預設包,在CalculateDistance.java檔案的首行
開啟命令提示符。輸入cd命令(cd命令為改變目錄命令),更改目錄至java目錄。
先配置 java 環境 如果你是win7系統在我的電腦 右擊-》高階系統設定-》 環境變數-》P
用命令javac編譯java檔案
import java.io.*;import java.awt.*;import java
編譯後,java目錄新增 helloworld.class檔案。
1)確認你的JDK已安裝;2)在環境變數Path中新增你安裝的Java路徑下的bin目錄,我機器上
輸入命令java helloworld,執行程式。如果程式無錯,即可執行成功
首先在cmd裡執行java -version 看能不能出來java版本資訊,如果看不到就是jdk安
擴充套件閱讀,以下內容您可能還感興趣。
如何用JAVA程式編寫一個記事本
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.undo.CannotRedoException;
import javax.swing.undo.UndoManager;
import java.util.Date;
import java.text.SimpleDateFormat;
public class Notepad extends JFrame {
// 選單
JMenuBar menub = new JMenuBar();
// 顯示純文字的多行區域
JTextArea text = new JTextArea();
JMenu files = new JMenu("檔案(F)");
JMenu edit = new JMenu("編輯(E)");
JMenu formats = new JMenu("格式(O)");
JMenu help = new JMenu("幫助(H)");
JMenuItem newFile = new JMenuItem("新建(N)");
JMenuItem open = new JMenuItem("開啟(O)");
JMenuItem save = new JMenuItem("儲存(S)");
JMenuItem saveAs = new JMenuItem("另存為(A)");
JMenuItem exit = new JMenuItem("退出(X)");
JMenuItem undo = new JMenuItem("撤銷(U)");
JMenuItem cut = new JMenuItem("剪下(T)");
JMenuItem copy = new JMenuItem("複製(C)");
JMenuItem paste = new JMenuItem("貼上(P)");
JMenuItem selectAll = new JMenuItem("全選(A)");
JMenuItem timeDate = new JMenuItem("時間/日期(D)");
JCheckBoxMenuItem lineWrap = new JCheckBoxMenuItem("自動換行(M)");
JMenuItem fonts = new JMenuItem("字型");
JMenuItem about = new JMenuItem("關於記事本(A)");
JFrame th = this;
String name;
String openedPath = null;
boolean opened = false;
boolean reworked = false;
UndoManager undoManager = new UndoManager();
// 初始化窗體
public Notepad(String name) {
super(name);
this.name = name;
int x, y;
// 得到使用者螢幕大小
Dimension size = Toolkit.getDefaultToolkit().getScreenSize();
x = (size.width - 600) / 2;
y = (size.height - 400) / 2;
setSize(600, 400);
// 讓程式介面顯示在螢幕中央
setLocation(x, y);
// 將此視窗的最小大小設定為一個常量值。e799bee5baa6e79fa5e98193e78988e69d8331333262346537
setMinimumSize(new Dimension(250, 150));
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
// 初始化佈局
void init() {
files.setMnemonic('F');
edit.setMnemonic('E');
formats.setMnemonic('O');
help.setMnemonic('H');
newFile.setMnemonic('N');
open.setMnemonic('O');
save.setMnemonic('S');
saveAs.setMnemonic('A');
exit.setMnemonic('X');
undo.setMnemonic('U');
cut.setMnemonic('T');
copy.setMnemonic('C');
paste.setMnemonic('P');
selectAll.setMnemonic('A');
timeDate.setMnemonic('D');
lineWrap.setMnemonic('M');
about.setMnemonic('A');
// 為控制元件新增助記符
newFile.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,
InputEvent.CTRL_MASK));
open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,
InputEvent.CTRL_MASK));
save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,
InputEvent.CTRL_MASK));
exit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q,
InputEvent.CTRL_MASK));
cut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,
InputEvent.CTRL_MASK));
copy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,
InputEvent.CTRL_MASK));
paste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,
InputEvent.CTRL_MASK));
selectAll.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,
InputEvent.CTRL_MASK));
// 為控制元件新增快捷鍵
timeDate.setAccelerator(KeyStroke.getKeyStroke("F5"));
files.add(newFile);
files.add(open);
files.add(save);
files.add(saveAs);
files.addSeparator();
files.add(exit);
edit.add(undo);
edit.addSeparator();
edit.add(cut);
edit.add(copy);
edit.add(paste);
edit.addSeparator();
edit.add(selectAll);
edit.add(timeDate);
formats.add(lineWrap);
formats.add(fonts);
help.add(about);
menub.add(files);
menub.add(edit);
menub.add(formats);
menub.add(help);
setJMenuBar(menub);
getContentPane().add(new JScrollPane(text));
Listen listen = new Listen();
Listen1 listen1 = new Listen1();
// 為控制元件新增事件偵聽器
newFile.addActionListener(listen);
undo.addActionListener(listen);
open.addActionListener(listen);
save.addActionListener(listen);
saveAs.addActionListener(listen);
exit.addActionListener(listen);
cut.addActionListener(listen);
copy.addActionListener(listen);
paste.addActionListener(listen);
selectAll.addActionListener(listen);
timeDate.addActionListener(listen);
lineWrap.addActionListener(listen);
about.addActionListener(listen);
open.addActionListener(listen1);
save.addActionListener(listen1);
saveAs.addActionListener(listen1);
// 暫時沒有實現的功能 :設定字型
//undo功能沒有實現
fonts.setEnabled(false);
}
class Listen implements ActionListener {
// 實現用於一般操作的事件偵聽器
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if (source == newFile) {
text.setText("");
// 設定標題
th.setTitle(name);
openedPath = null;
opened = false;
} else if (source == exit)
setVisible(false);
else if (source == undo)
try {
//此功能沒有實現 撤銷要用棧?
// undo.setEnabled(undoManager.canUndo());
undoManager.undo();
} catch (CannotRedoException cre) {
cre.printStackTrace();
}
else if (source == selectAll)
text.selectAll();
else if (source == cut)
text.cut();
else if (source == copy)
text.copy();
else if (source == paste)
text.paste();
else if (source == lineWrap)
// 設定文字區的換行策略(獲取文字區的換行策略)
text.setLineWrap(!text.getLineWrap());
else if (source == about) {
String message = "--------\n版本:1.0\n作者:時超" +
"\n撤銷功能要用堆疊存貯操作" +
"\n還有字型格式"+
"\n暫時沒有實現" +
"\n\n感謝您的使用";
JOptionPane.showMessageDialog(th, message, "關於",
JOptionPane.PLAIN_MESSAGE);
} else if (source == timeDate) {
Date nowTime = new Date();
SimpleDateFormat times = new SimpleDateFormat(
"HH:mm yyyy-MM-dd");
text.insert(times.format(nowTime), text.getCaretPosition());
}
}
}
class Listen1 implements ActionListener {
// 實現用於對檔案進行操作的事件偵聽器
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
// 開啟檔案事件
if (source == open) {
// 顯示對話視窗 以便選擇檔案
FileDialog openFile = new FileDialog(th, "開啟檔案",
FileDialog.LOAD);
openFile.setVisible(true);
// 獲取檔案路徑
String filePath = openFile.getDirectory() + openFile.getFile();
try {
FileInputStream fis = new FileInputStream(filePath);
byte[] content = new byte[fis.available()];
fis.read(content);
text.setText(new String(content));
// 設定 TextComponent 的文字插入符的位置
text.setCaretPosition(0);
if (openFile.getFile() != null) {
th.setTitle(openFile.getFile() + name);
openedPath = filePath;
opened = true;
}
fis.close();
} catch (Exception ex) {
ex.printStackTrace();
}
opened = true;
}
// 儲存及另存為事件
else if (source == save || source == saveAs) {
String savePath = openedPath;
if (savePath == null || source == saveAs) {
// 如果 mode 的值為 LOAD,那麼檔案對話方塊將查詢要讀取的檔案,所顯示的檔案是當前目錄中的檔案
// 如果 mode 的值為 SAVE,則檔案對話方塊將查詢要寫入檔案的位置。
FileDialog saveFile = new FileDialog(th, "儲存檔案",
FileDialog.SAVE);
saveFile.setVisible(true);
savePath = saveFile.getDirectory() + saveFile.getFile();
}
try {
FileOutputStream fos = new FileOutputStream(savePath);
fos.write(text.getText().getBytes());
fos.close();
} catch (Exception ex) {
ex.printStackTrace();
}
if (source == save)
openedPath = savePath;
}
}
}
public static void main(String[] args) {
try {
// 使用當前執行緒的上下文類載入器載入給定類名稱所指定的 LookAndFeel
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
System.err.println("Couldn't use the system look and feel:" + e);
}
String name = ("--記事本 版本1.0--");
Notepad note = new Notepad(name);
note.init();
note.setVisible(true);
}
}
使用記事本編寫JAVA程式,並執行輸出結果,具體的實現步驟是什麼?
1)確認你的JDK已安裝;
2)在環境變數Path中新增你安裝的Java路徑下的bin目錄,我機器上是C:\Program Files\Java\jdk1.6.0_24\bin,和其它Path值之間需要來用分號隔開;
3)在環境變數自ClassPath中新增dt.jar和tools.jar兩個庫檔案;
4)在Command命令列視窗執行java -version命令後,如果得到了正確的Java版本號,說明你的環境變數配置正確;
5)開啟記事本,編寫一個簡單的Hello World程式,儲存成.java格式檔案,檔名和類名必需一致;
6)在Command命令列視窗執行編譯命令:百javac 檔名.java,該命令會將原始檔編譯為字尾度名class的位元組碼檔案;
7)在Command命令列視窗執行執行命令:java 檔名,OK,你應該能看到正確的結果了;
用記事本編寫Java程式生成不了class檔案,怎麼回事?
首先在cmd裡執行復java -version 看能不能出來java版本資訊,如果看不到就是jdk安裝有問題,如果能看到制說明jdk安裝是沒 有問題的
建議你把原始檔放到f:\盤根目zhidao錄,然後在cmd 裡 進入f:\ 然後在執行javac *.java 試試
用JAVA編寫記事本
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.BorderFactory;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.KeyStroke;
import javax.swing.ScrollPaneConstants;
import javax.swing.SwingConstants;
public class JNotePadUI extends JFrame {
private JMenuItem menuOpen;
private JMenuItem menuSave;
private JMenuItem menuSaveAs;
private JMenuItem menuClose;
private JMenu editMenu;
private JMenuItem menuCut;
private JMenuItem menuCopy;
private JMenuItem menuPaste;
private JMenuItem menuAbout;
private JTextArea textArea;
private JLabel stateBar;
private JFileChooser fileChooser;
private JPopupMenu popUpMenu;
public JNotePadUI() {
super("新建文字檔案");
setUpUIComponent();
setUpEventListener();
setVisible(true);
}
private void setUpUIComponent() {
setSize(640, 480);
// 選單欄
JMenuBar menuBar = new JMenuBar();
// 設定「檔案」選單
JMenu fileMenu = new JMenu("檔案");
menuOpen = new JMenuItem("開啟");
// 快捷鍵設定
menuOpen.setAccelerator(
KeyStroke.getKeyStroke(
KeyEvent.VK_O,
InputEvent.CTRL_MASK));
menuSave = new JMenuItem("儲存");
menuSave.setAccelerator(
KeyStroke.getKeyStroke(
KeyEvent.VK_S,
InputEvent.CTRL_MASK));
menuSaveAs = new JMenuItem("另存為");
menuClose = new JMenuItem("關閉");
menuClose.setAccelerator(
KeyStroke.getKeyStroke(
KeyEvent.VK_Q,
InputEvent.CTRL_MASK));
fileMenu.add(menuOpen);
fileMenu.addSeparator(); // 分隔線
fileMenu.add(menuSave);
fileMenu.add(menuSaveAs);
fileMenu.addSeparator(); // 分隔線
fileMenu.add(menuClose);
// 設定「編輯」選單
JMenu editMenu = new JMenu("編輯");
menuCut = new JMenuItem("剪下");
menuCut.setAccelerator(
KeyStroke.getKeyStroke(KeyEvent.VK_X,
InputEvent.CTRL_MASK));
menuCopy = new JMenuItem("複製");
menuCopy.setAccelerator(
KeyStroke.getKeyStroke(KeyEvent.VK_C,
InputEvent.CTRL_MASK));
menuPaste = new JMenuItem("貼上");
menuPaste.setAccelerator(
KeyStroke.getKeyStroke(KeyEvent.VK_V,
InputEvent.CTRL_MASK));
editMenu.add(menuCut);
editMenu.add(menuCopy);
editMenu.add(menuPaste);
// 設定「關於」選單
JMenu aboutMenu = new JMenu("關於");
menuAbout = new JMenuItem("關於JNotePad");
aboutMenu.add(menuAbout);
menuBar.add(fileMenu);
menuBar.add(editMenu);
menuBar.add(aboutMenu);
setJMenuBar(menuBar);
// 文字編輯區域
textArea = new JTextArea();
textArea.setFont(new Font("宋體", Font.PLAIN, 16));
textArea.setLineWrap(true);
JScrollPane panel = new JScrollPane(textArea,
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
Container contentPane = getContentPane();
contentPane.add(panel, BorderLayout.CENTER);
// 狀態列
stateBar = new JLabel("未修改");
stateBar.setHorizontalAlignment(SwingConstants.LEFT);
stateBar.setBorder(
BorderFactory.createEtchedBorder());
contentPane.add(stateBar, BorderLayout.SOUTH);
popUpMenu = editMenu.getPopupMenu();
fileChooser = new JFileChooser();
}
private void setUpEventListener() {
// 按下視窗e69da5e6ba90e799bee5baa631333238656539關閉鈕事件處理
addWindowListener(
new WindowAdapter() {
public void windowClosing(WindowEvent e) {
closeFile();
}
}
);
// 選單 - 開啟
menuOpen.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
openFile();
}
}
);
// 選單 - 儲存
menuSave.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
saveFile();
}
}
);
// 選單 - 另存為
menuSaveAs.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
saveFileAs();
}
}
);
// 選單 - 關閉檔案
menuClose.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
closeFile();
}
}
);
// 選單 - 剪下
menuCut.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
cut();
}
}
);
// 選單 - 複製
menuCopy.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
copy();
}
}
);
// 選單 - 貼上
menuPaste.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
paste();
}
}
);
// 選單 - 關於
menuAbout.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 顯示對話方塊
JOptionPane.showOptionDialog(null,
"程式名稱:\n JNotePad \n" +
"程式設計:\n \n" +
"簡介:\n 一個簡單的文字編輯器\n" +
" 可作為驗收Java的實現物件\n" +
" 歡迎網友下載研究交流\n\n" +
" /",
"關於JNotePad",
JOptionPane.DEFAULT_OPTION,
JOptionPane.INFORMATION_MESSAGE,
null, null, null);
}
}
);
// 編輯區鍵盤事件
textArea.addKeyListener(
new KeyAdapter() {
public void keyTyped(KeyEvent e) {
processTextArea();
}
}
);
// 編輯區滑鼠事件
textArea.addMouseListener(
new MouseAdapter() {
public void mouseReleased(MouseEvent e) {
if(e.getButton() == MouseEvent.BUTTON3)
popUpMenu.show(editMenu, e.getX(), e.getY());
}
public void mouseClicked(MouseEvent e) {
if(e.getButton() == MouseEvent.BUTTON1)
popUpMenu.setVisible(false);
}
}
);
}
private void openFile() {
if(isCurrentFileSaved()) { // 檔案是否為儲存狀態
open(); // 開啟
}
else {
// 顯示對話方塊
int option = JOptionPane.showConfirmDialog(
null, "檔案已修改,是否儲存?",
"儲存檔案?", JOptionPane.YES_NO_OPTION,
JOptionPane.WARNING_MESSAGE, null);
switch(option) {
// 確認檔案儲存
case JOptionPane.YES_OPTION:
saveFile(); // 儲存檔案
break;
// 放棄檔案儲存
case JOptionPane.NO_OPTION:
open();
break;
}
}
}
private boolean isCurrentFileSaved() {
if(stateBar.getText().equals("未修改")) {
return false;
}
else {
return true;
}
}
private void open() {
// fileChooser 是 JFileChooser 的例項
// 顯示檔案選取的對話方塊
int option = fileChooser.showDialog(null, null);
// 使用者按下確認鍵
if(option == JFileChooser.APPROVE_OPTION) {
try {
// 開啟選取的檔案
BufferedReader buf =
new BufferedReader(
new FileReader(
fileChooser.getSelectedFile()));
// 設定檔案標題
setTitle(fileChooser.getSelectedFile().toString());
// 清除前一次檔案
textArea.setText("");
// 設定狀態列
stateBar.setText("未修改");
// 取得系統相依的換行字元
String lineSeparator = System.getProperty("line.separator");
// 讀取檔案並附加至文字編輯區
String text;
while((text = buf.readLine()) != null) {
textArea.append(text);
textArea.append(lineSeparator);
}
buf.close();
}
catch(IOException e) {
JOptionPane.showMessageDialog(null, e.toString(),
"開啟檔案失敗", JOptionPane.ERROR_MESSAGE);
}
}
}
private void saveFile() {
// 從標題欄取得檔名稱
File file = new File(getTitle());
// 若指定的檔案不存在
if(!file.exists()) {
// 執行另存為
saveFileAs();
}
else {
try {
// 開啟指定的檔案
BufferedWriter buf =
new BufferedWriter(
new FileWriter(file));
// 將文字編輯區的文字寫入檔案
buf.write(textArea.getText());
buf.close();
// 設定狀態列為未修改
stateBar.setText("未修改");
}
catch(IOException e) {
JOptionPane.showMessageDialog(null, e.toString(),
"寫入檔案失敗", JOptionPane.ERROR_MESSAGE);
}
}
}
private void saveFileAs() {
// 顯示檔案對話方塊
int option = fileChooser.showSaveDialog(null);
// 如果確認選取檔案
if(option == JFileChooser.APPROVE_OPTION) {
// 取得選擇的檔案
File file = fileChooser.getSelectedFile();
// 在標題欄上設定檔名稱
setTitle(file.toString());
try {
// 建立檔案
file.createNewFile();
// 進行檔案儲存
saveFile();
}
catch(IOException e) {
JOptionPane.showMessageDialog(null, e.toString(),
"無法建立新檔案", JOptionPane.ERROR_MESSAGE);
}
}
}
private void closeFile() {
// 是否已儲存檔案
if(isCurrentFileSaved()) {
// 釋放視窗資源,而後關閉程式
dispose();
}
else {
int option = JOptionPane.showConfirmDialog(
null, "檔案已修改,是否儲存?",
"儲存檔案?", JOptionPane.YES_NO_OPTION,
JOptionPane.WARNING_MESSAGE, null);
switch(option) {
case JOptionPane.YES_OPTION:
saveFile();
break;
case JOptionPane.NO_OPTION:
dispose();
}
}
}
private void cut() {
textArea.cut();
stateBar.setText("已修改");
popUpMenu.setVisible(false);
}
private void copy() {
textArea.copy();
popUpMenu.setVisible(false);
}
private void paste() {
textArea.paste();
stateBar.setText("已修改");
popUpMenu.setVisible(false);
}
private void processTextArea() {
stateBar.setText("已修改");
}
public static void main(String[] args) {
new JNotePadUI();
}
}
如何用記事本編寫java程式
首先右擊滑鼠,新建一個文字文件。
更改文字文件的字尾名為 .java 。注意檔名必須和類名相同。
如果你的電腦沒有顯示字尾名的話需要對電覆腦進行一定的設定
開啟計算機——組織——資料夾選項——查制看——將隱藏資料夾選項取消勾選即可。
建議將這個選項取消勾選,有很多的惡意程式會侵入我們的電腦,取消勾選可以很好的檢視病百毒等檔案的型別。
右擊建好的文件,選擇編輯即可進行java的編寫。
在編寫的時候我們有一定的格式,java語言的格式是為了我們日後更改程式方便而規定的,我們一定要遵循這種格式編寫。
測試執行java程式
開啟執行命令,也可以直接在開選單中度輸入CMD呼叫命令視窗知。
你的檔案儲存在哪裡就將你的檔案目錄輸入到命令提示符視窗中,例如我的道是D盤根目錄,所以我輸入“d:”。
編譯java檔案,生成class檔案。
在命令提示符中輸入“javac 檔名.java”,我的檔名為A,所以輸入javac A.java然後回車,等待編譯。
執行檔案。
繼續輸入“java 檔名”然後回車就可以執行我們寫好的檔案了。
- 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/dianzi/44oxkg.html