📄 textbook.java
字号:
import java.awt.*;
import javax.swing.*;
import com.borland.jbcl.layout.XYLayout;
import com.borland.jbcl.layout.*;
import javax.swing.BorderFactory;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.File;
public class Textbook extends JFrame
{
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JTextArea jTextArea1 = new JTextArea();
XYLayout xYLayout1 = new XYLayout();
String file_url = "";
JScrollPane jScrollPane1 = new JScrollPane();
public Textbook(String url)
{
this.file_url = url;
this.setSize(400, 300);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = this.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
this.setLocation((screenSize.width - frameSize.width) / 2,
(screenSize.height - frameSize.height) / 2);
try {
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
this.validate();
this.setVisible(true);
}
private void jbInit() throws Exception
{
getContentPane().setLayout(xYLayout1);
jButton1.setText(" 保 存");
jButton1.addActionListener(new Textbook_jButton1_actionAdapter(this));
jButton2.setText(" 退 出");
jButton2.addActionListener(new Textbook_jButton2_actionAdapter(this));
jTextArea1.setBorder(BorderFactory.createLoweredBevelBorder());
this.getContentPane().setBackground(new Color(255, 255, 220));
this.setResizable(false);
this.getContentPane().add(jButton2, new XYConstraints(212, 15, -1, 28));
this.getContentPane().add(jButton1, new XYConstraints(110, 15, -1, 28));
this.getContentPane().add(jScrollPane1,
new XYConstraints(12, 60, 367, 195));
jScrollPane1.getViewport().add(jTextArea1);
FileReader openfile = new FileReader(file_url);
BufferedReader buf = new BufferedReader(openfile);
String temp;
while ((temp = buf.readLine()) != null)
{
jTextArea1.append(temp);
jTextArea1.append("\n");
}
buf.close();
File file = new File(file_url);
this.setTitle(file.getName());
if(!file.canWrite())
{
jButton1.setEnabled(false);
JOptionPane.showMessageDialog(null, "此文件为只读文件,不能进行修改", "",
JOptionPane.INFORMATION_MESSAGE);
}
}
public void jButton1_actionPerformed(ActionEvent e)
{
File f = new File(file_url);
try
{
BufferedWriter buf = new BufferedWriter(new FileWriter(f));
buf.write(jTextArea1.getText());
buf.close();
}
catch (IOException error)
{
JOptionPane.showMessageDialog(null, "ForName :" + error.getMessage(),
"操作失败", JOptionPane.ERROR_MESSAGE);
}
JOptionPane.showMessageDialog(null, "已成功保存","", JOptionPane.INFORMATION_MESSAGE);
}
public void jButton2_actionPerformed(ActionEvent e)
{
this.dispose();
}
}
class Textbook_jButton2_actionAdapter implements ActionListener {
private Textbook adaptee;
Textbook_jButton2_actionAdapter(Textbook adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton2_actionPerformed(e);
}
}
class Textbook_jButton1_actionAdapter implements ActionListener {
private Textbook adaptee;
Textbook_jButton1_actionAdapter(Textbook adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton1_actionPerformed(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -