⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 textbook.java

📁 操作系统课程设计
💻 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 + -