Ну щось ледве подібне на текстовий редактор в мене вийшло(перша програма написана мною та не списана з посібників)... функціонал скупий та забагований, але мені потрібна ваша оцінка коду(щоб не звик погано писати код)
під спойлером код:
▼Прихований текст
package txtedit;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class TXTEdit extends JPanel {
JTextArea area0;
JFileChooser file;
public void go()
{
//створюємо фрейм
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
//ініціалізація текстового поля
area0 = new JTextArea(15, 50);
area0.setWrapStyleWord(true);
area0.setLineWrap(true);
area0.setEditable(true);
//реалізація меню
JMenuBar menuBar = new JMenuBar();
JMenu fileMenu = new JMenu("File");
fileMenu.add(new JMenuItem("Open")).addActionListener(new ActionChooserListener());
fileMenu.add(new JMenuItem("Save")).addActionListener(new ActionSaveListener());
//додавання меню до фрейму
menuBar.add(fileMenu);
frame.setJMenuBar(menuBar);
//поле
panel.add(new JScrollPane(area0));
//налаштовуємо фрейм
frame.add(BorderLayout.CENTER, panel);
//останні налаштування
frame.setSize(600, 350);
frame.setResizable(false);
frame.setVisible(true);
}//close method go()
//слухач для відкриття файлу
class ActionChooserListener implements ActionListener
{
public void actionPerformed(ActionEvent ev)
{
//ініціалізація буферу
BufferedReader reader = null;
//відкриваємо вікно для вибору файлу
file = new JFileChooser();
int ret = file.showDialog(null, "Выберите файл");
if (ret == JFileChooser.APPROVE_OPTION)
{
//чистимо поле
area0.setText(null);
try {
//організовуємо вивод файла
File f = file.getSelectedFile();
FileReader rFile = new FileReader(f);
reader = new BufferedReader(rFile);
//ініціалізація змінної
String str = null;
//вивод самого файла на єкран
while((str = reader.readLine()) != null)
{
area0.append(str + "\n");
}
} catch (IOException e) {
//допишу колись
}
finally
{
try {
reader.close();
} catch (IOException e) {
//також допишу
}
}
}
}
}//close inner class ActionChooserListener
//сдухач для зберігання файлу
class ActionSaveListener implements ActionListener
{
public void actionPerformed(ActionEvent ev)
{
//ініціалізація змінної
BufferedWriter writer = null;
try {
//створюємо замінні для зберігання файлу
File f = file.getSelectedFile();
FileWriter fw = new FileWriter(f);
writer = new BufferedWriter(fw);
//ініціалізація змінної
String s = null;
do {
//зберішаємо текст
s = area0.getText();
writer.write(s);
} while(s != null);
writer.close();
} catch (IOException e) {
//допишу
}
}
}//close inner class ActionSaveListener
public static void main(String[] args) {
new TXTEdit().go();
}//close method main();
}
П.С. код оцінюйте більш-менш критично, та пишіть як би краще було б реалізувати цей дефектний код...
/* доречі, щоб програма розуміла кирилицю, потрібно змінити кодування перед виводом файла? чи є ще якісь варіанти?
також, як отримати шлях котрий був вибраний користувачем використовуючи JFileChooser метод: showSaveDialog() ???
*/
Post's attachmentsTXTEdit.jar 6.58 kb, 387 downloads since 2015-03-22