مقدمه: این آموزش در مورد ایجاد یک برنامه Notepad ساده در جاوا است. این برنامه قابلیت ذخیره و باز کردن فایلها را دارد و همچنین دارای عملکردهای بستن و جدید است. مراحل ایجاد: مرحله 1: ابتدا میخواهیم دو کلاس ایجاد کنیم؛ Main و Grid. در کلاس Main خود، یک JFrame داریم (که پنجره برنامه است). این JFrame به کلاس Grid ما منتقل میشود که حاوی کد Notepad است.
import javax.swing.JFrame;
public class Main {
public static void main(String args[]){
JFrame frame = new Grid();
frame.setTitle("Notepad");
frame.setVisible(true);
frame.setSize(1280, 720);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(true);
frame.setLocationRelativeTo(null);
}
}
ما یک پنجره/JFrame با عنوان "Notepad" ایجاد میکنیم، اندازه آن را به ۱۲۸۰x۷۲۰ تنظیم میکنیم و آن را برابر با کلاس Grid میکنیم. مرحله 2: حال که JFrame خود را داریم (آن را اجرا کنید تا اطمینان حاصل شود که یک پنجره خالی ۱۲۸۰x۷۲۰ مشاهده میشود)، میخواهیم چند متغیر برای تعویض بین عملکردهای ذخیره و باز کردن و سازنده اصلی خود ایجاد کنیم.
int fileToOpen;
int fileToSave;
JFileChooser fileOpen;
JFileChooser fileSave;
مرحله 3: ابتدا شیءهای خود را در داخل سازنده Grid ایجاد کنید. ما یک TextArea داریم که محتوای فایل را در خود نگه میدارد و یک MenuBar حاوی MenuItems (مانند "ذخیره") است. سپس MenuBar را ایجاد کرده و MenuItem فایل خود را به MenuBar متصل میکنیم، سپس گزینههای بیشتری را در داخل MenuItem فایل خود ایجاد و آنها را به MenuItem فایل اصلی متصل میکنیم.
Grid(){
MenuBar menuBar = new MenuBar();
MenuItem menutem = new MenuItem();
final JTextArea textArea = new JTextArea();
setMenuBar(menuBar);
Menu file = new Menu("File");
menuBar.add(file);
MenuItem newOption = new MenuItem("New");
MenuItem open = new MenuItem("Open");
MenuItem save = new MenuItem("Save");
MenuItem close = new MenuItem("Exit");
file.add(newOption);
file.add(open);
file.add(save);
file.add(close);
getContentPane().add(textArea);
newOption.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
textArea.setText("");
}
});
open.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
openFile();
if (fileToOpen == JFileChooser.APPROVE_OPTION){
textArea.setText("");
try{
Scanner scan = new Scanner(new FileReader(fileOpen.getSelectedFile().getPath()));
while (scan.hasNext())
textArea.append(scan.nextLine());
} catch (Exception ex){
System.out.println(ex.getMessage());
}
}
}
});
save.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
saveFile();
if (fileToSave == JFileChooser.APPROVE_OPTION){
try {
BufferedWriter out = new BufferedWriter(new FileWriter(fileSave.getSelectedFile().getPath()));
out.write(textArea.getText());
out.close();
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
}
});
close.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.exit(0);
}
});
}
برای هر گزینه، یک ActionListener ایجاد میکنیم و کد مناسب را برای هر کدام ارائه میدهیم. مرحله 4: آخرین چیزهایی که به آنها نیاز داریم، توابع باز و ذخیره فایل خود هستند...
public void openFile(){
JFileChooser open = new JFileChooser();
int option = open.showOpenDialog(this);
fileToOpen = option;
fileOpen = open;
}
public void saveFile(){
JFileChooser save = new JFileChooser();
int option = save.showOpenDialog(this);
fileToSave = option;
fileSave = save;
}
پروژه تکمیل شد! همین است! کد کامل و دانلود فایلهای پروژه در زیر آمده است. با تشکر از شما برای خواندن! Main:
import javax.swing.JFrame;
public class Main {
public static void main(String args[]){
JFrame frame = new Grid();
frame.setTitle("Notepad");
frame.setVisible(true);
frame.setSize(1280, 720);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(true);
frame.setLocationRelativeTo(null);
}
}
Grid:
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Scanner;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JTextArea;
public class Grid extends JFrame{
int fileToOpen;
int fileToSave;
JFileChooser fileOpen;
JFileChooser fileSave;
Grid(){
MenuBar menuBar = new MenuBar