この記事の例では、単純なメモ帳 Java 実装コードについて説明します。皆さんの参考に共有してください。詳細は以下のとおりです。
完全なコードは次のとおりです。
次のようにコードをコピーします。
java.io.* をインポートします。
インポート java.awt.datatransfer.*;
インポート java.awt.event.*;
public class Main extends Frameimplements ActionListener {
プライベート静的最終ロングシリアルバージョンUID = 1L;
TextArea textArea = new TextArea();
メニューバー menuBar = new MenuBar();
メニュー fileMenu = new Menu("ファイル");
MenuItem newItem = new MenuItem("New");
MenuItem openItem = new MenuItem("Open");
MenuItem saveItem = new MenuItem("保存");
MenuItem saveAsItem = new MenuItem("名前を付けて保存");
MenuItem exitItem = new MenuItem("終了");
メニュー editMenu = new Menu("編集");
MenuItem selectItem = new MenuItem("すべて選択");
MenuItem copyItem = new MenuItem("コピー");
MenuItem CutItem = new MenuItem("カット");
MenuItem pastItem = new MenuItem("貼り付け");
文字列ファイル名 = null;
ツールキットtoolKit=Toolkit.getDefaultToolkit();
クリップボード ClipBoard=toolKit.getSystemClipboard();
private FileDialog openFileDialog = new FileDialog(this,"ファイルを開く",FileDialog.LOAD);
private FileDialog saveAsFileDialog = new FileDialog(this,"名前を付けてファイルを保存",FileDialog.SAVE);
パブリック Main(){
setTitle("Jackbase によるメモ帳プログラム");
setFont(new Font("Times New Roman",Font.PLAIN,12));
setBackground(Color.white);
setSize(400,300);
fileMenu.add(newItem);
fileMenu.add(openItem);
fileMenu.addSeparator();
fileMenu.add(saveItem);
fileMenu.add(saveAsItem);
fileMenu.addSeparator();
fileMenu.add(exitItem);
editMenu.add(selectItem);
editMenu.addSeparator();
editMenu.add(copyItem);
editMenu.add(cutItem);
editMenu.add(pasteItem);
menuBar.add(fileMenu);
menuBar.add(editMenu);
setMenuBar(メニューバー);
追加(テキストエリア);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
newItem.addActionListener(this);
openItem.addActionListener(this);
saveItem.addActionListener(this);
saveAsItem.addActionListener(this);
exitItem.addActionListener(this);
selectItem.addActionListener(this);
copyItem.addActionListener(this);
CutItem.addActionListener(this);
pastItem.addActionListener(this);
}
public void actionPerformed(ActionEvent e) { //イベントをリッスンする
オブジェクトイベントソース = e.getSource();
if(eventSource == newItem){
textArea.setText("");
}else if(eventSource == openItem){
openFileDialog.show();
ファイル名 = openFileDialog.getDirectory()+openFileDialog.getFile();
if(ファイル名 != null)
readFile(ファイル名);
}else if (eventSource == saveItem){
if(ファイル名 != null)
writeFile(ファイル名);
}else if(eventSource == saveAsItem){
saveAsFileDialog.show();
ファイル名 = saveAsFileDialog.getDirectory()+saveAsFileDialog.getFile();
if (ファイル名!= null)
writeFile(ファイル名);
}else if(eventSource == selectItem){
textArea.selectAll();
}else if(eventSource == copyItem){
文字列 text=textArea.getSelectedText();
StringSelection 選択=新しい StringSelection(テキスト);
ClipBoard.setContents(選択,null);
}else if(eventSource == CutItem){
文字列 text=textArea.getSelectedText();
StringSelection 選択=新しい StringSelection(テキスト);
ClipBoard.setContents(選択,null);
textArea.replaceRange("",textArea.getSelectionStart(),textArea.getSelectionEnd());
}else if(eventSource == pastItem){
転送可能なコンテンツ=clipBoard.getContents(this);
if(content==null) を返す;
文字列テキスト。
テキスト="";
試す{
text=(String)contents.getTransferData(DataFlavor.stringFlavor);
}catch(例外例外){
}
textArea.replaceRange(text,textArea.getSelectionStart(),textArea.getSelectionEnd());
}else if(eventSource == exitItem){
System.exit(0);
}
}
public void readFile(String fileName){ //ファイル読み込み処理
試す{
ファイル file = 新しいファイル(ファイル名);
FileReader readIn = 新しい FileReader(ファイル);
int サイズ = (int)file.length();
int charsRead = 0;
char[] コンテンツ = 新しい char[サイズ];
while(readIn.ready())
charsRead += readIn.read(content, charsRead, size - charsRead);
readIn.close();
textArea.setText(new String(content, 0, charsRead));
}
catch(IOException e){
System.out.println("ファイルを開くエラー");
}
}
public void writeFile(String fileName){ //ファイル書き込み処理
試す{
ファイル file = 新しいファイル (ファイル名);
FileWriter writeOut = 新しい FileWriter(ファイル);
writeOut.write(textArea.getText());
writeOut.close();
}
catch(IOException e){
System.out.println("ファイルの書き込みエラー");
}
}
@SuppressWarnings("非推奨")
public static void main(String[] args){
フレームフレーム = new Main() //オブジェクトを作成
Frame.show(); //オブジェクトの表示です
}
}
実行結果を次の図に示します。
この記事が皆さんの Java プログラミングに役立つことを願っています。