- 最後登錄
- 2023-5-16
- 在線時間
- 0 小時
- 註冊時間
- 2007-4-30
- 閱讀權限
- 30
- 精華
- 0
- UID
- 1198674
- 帖子
- 480
- 積分
- 1729 點
- 潛水值
- 23907 米
| 如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。 本帖最後由 kai0923 於 2009-11-4 06:07 PM 編輯
- import java.awt.*;
- import java.awt.event.*;
- import java.io.*;
- import javax.swing.*;
- public class JNotePad extends JFrame {
- private JMenuItem menuOpen;
- private JMenuItem mi12;
- private JMenuItem mi24;
- private JMenuItem mi32;
- private JTextArea textArea;
- private JFileChooser fileChooser ;
- public JNotePad() {
- super("測試版");
- setUpUIComponent();
- setUpEventListener();
- setVisible(true);
- }
- private void setUpUIComponent() {
- setSize(640, 480);
- // 選單列
- JMenuBar menuBar = new JMenuBar();
- // 設置「檔案」選單
- JMenu fileMenu = new JMenu("檔案");
- menuOpen = new JMenuItem("開啟檔案");
- menuBar.add(fileMenu);
- fileMenu.add(menuOpen);
-
- //文字大小
- JMenu mnFontSize = new JMenu("字體大小");
- mi12 = new JMenuItem("12");
- mi24 = new JMenuItem("24");
- mi32 = new JMenuItem("32");
- menuBar.add(mnFontSize);
- mnFontSize.add(mi12);
- mnFontSize.add(mi24);
- mnFontSize.add(mi32);
-
- //選單列
- setJMenuBar(menuBar);
- //文字區
- textArea =new JTextArea();
- textArea.setFont(new Font("細明體", Font.PLAIN ,20));
- textArea.setLineWrap(true);//自動換行
- // textArea.setRows();
- textArea.setWrapStyleWord(true); // 不斷字
- textArea.setEditable(false);//有無編輯能力
- // textArea.setComponentOrientation(java.awt.ComponentOrientation.RIGHT_TO_LEFT);
- JScrollPane panel =new JScrollPane (textArea,ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
- ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
- //面版
- Container contentPane =getContentPane();
- contentPane.add(panel, BorderLayout.CENTER);
- fileChooser = new JFileChooser();
- }
- private void setUpEventListener() {
- // 按下視窗關閉鈕事件處理
- addWindowListener(
- new WindowAdapter() {
- public void windowClosing(WindowEvent e) {
- closeFile();
- }
- }
- );
- // 選單 - 開啟舊檔
- menuOpen.addActionListener(
- new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- openFile();
- }
- }
- );
- //文字大小
- mi12.addActionListener (new ActionListener(){
- public void actionPerformed(ActionEvent e){
- mi12 ();
- //取得選項所指定的大小
- }
- }
- );
- mi24.addActionListener (new ActionListener(){
- public void actionPerformed(ActionEvent e){
- mi24 ();
- //取得選項所指定的大小
- }
- }
- );
- mi32.addActionListener (new ActionListener(){
- public void actionPerformed(ActionEvent e){
- mi32 ();
- //取得選項所指定的大小
- }
- }
- );
- }
- private void openFile() {
- // fileChooser 是 JFileChooser 的實例
- // 顯示檔案選取的對話方塊
- int option = fileChooser.showDialog(null, null);
- // 使用者按下確認鍵
- if(option == JFileChooser.APPROVE_OPTION) {
- try {
- // 開啟選取的檔案
- BufferedReader buf =
- new BufferedReader(
- new FileReader(
- fileChooser.getSelectedFile()));
- // 設定文件標題
- setTitle(fileChooser.getSelectedFile().toString());
- // 清除前一次文件
- textArea.setText("");
- // 讀取檔案並附加至文字編輯區
- //String lineSeparator =System.getProperty("line.separator");
- String text="",line;
- while((line = buf.readLine()) != null) {
- text+=line+"\n";
- textArea.setSelectionStart(10);
- System.out.println(textArea.getSelectionStart());
- textArea.setText(text);
- //textArea.append(lineSeparator);
- }
- buf.close();
-
- }
- catch(IOException e) {
- JOptionPane.showMessageDialog(null, e.toString(),
- "開啟檔案失敗", JOptionPane.ERROR_MESSAGE);
- }
- }
-
- }
- private void closeFile() {}
- private void mi12() {
- textArea.setFont(new Font("細明體", Font.PLAIN ,12));
- }
- private void mi24() {
- textArea.setFont(new Font("細明體", Font.PLAIN ,24));
- }
- private void mi32() {
- textArea.setFont(new Font("細明體", Font.PLAIN ,32));
- }
- public static void main(String[] args) {
- new JNotePad();
- }
- }
複製代碼
參考看看!... |
|