demoreader.java

来自「精通NetBeans光盘源代码,很好很好的资料」· Java 代码 · 共 208 行

JAVA
208
字号
/*
 * DemoReader.java
 *
 * Created on 2006年3月29日, 下午3:37
 */

package org.netbeans.swing.dialog;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import javax.swing.JOptionPane;
import javax.swing.filechooser.FileFilter;

/**
 *
 * @author  boyingking
 */
public class DemoReader extends javax.swing.JFrame {
    
    /** Creates new form DemoReader */
    public DemoReader() {
        initComponents();
        this.initFileChooser();
    }
      public void initFileChooser()
        {
            //获取原来已经有的过滤器
            FileFilter[] fileFilter= fileChooser.getChoosableFileFilters();
            int fSize=fileFilter.length;
            for(int i=0;i<fSize;i++)//删除原来方法内已经有的过滤器
            {
                fileChooser.removeChoosableFileFilter(fileFilter[i]);
            }
            fileChooser.addChoosableFileFilter(new TxtFliter());//添加Java过滤器
             fileChooser.addChoosableFileFilter(new JavaFliter());//添加Txt过滤器
        }       

    private javax.swing.JFileChooser fileChooser = new javax.swing.JFileChooser();
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
    private void initComponents() {
        jPanelNorth = new javax.swing.JPanel();
        jLabelFilePath = new javax.swing.JLabel();
        jTextFieldFilePath = new javax.swing.JTextField();
        jButtonOpen = new javax.swing.JButton();
        jScrollPaneCenter = new javax.swing.JScrollPane();
        jTextAreaContent = new javax.swing.JTextArea();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("\u6587\u672c\u9605\u8bfb\u5668");
        jLabelFilePath.setText("\u6587\u4ef6\u8def\u5f84\uff1a");

        jTextFieldFilePath.setEditable(false);

        jButtonOpen.setText("\u6253\u5f00");
        jButtonOpen.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonOpenActionPerformed(evt);
            }
        });

        org.jdesktop.layout.GroupLayout jPanelNorthLayout = new org.jdesktop.layout.GroupLayout(jPanelNorth);
        jPanelNorth.setLayout(jPanelNorthLayout);
        jPanelNorthLayout.setHorizontalGroup(
            jPanelNorthLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanelNorthLayout.createSequentialGroup()
                .add(jLabelFilePath, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 72, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(jTextFieldFilePath, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 317, Short.MAX_VALUE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(jButtonOpen, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 72, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
        );
        jPanelNorthLayout.setVerticalGroup(
            jPanelNorthLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanelNorthLayout.createSequentialGroup()
                .add(31, 31, 31)
                .add(jPanelNorthLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(jLabelFilePath, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 23, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(jButtonOpen)
                    .add(jTextFieldFilePath, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(47, Short.MAX_VALUE))
        );
        getContentPane().add(jPanelNorth, java.awt.BorderLayout.NORTH);

        jScrollPaneCenter.setBorder(javax.swing.BorderFactory.createTitledBorder("\u663e\u793a\u6587\u672c\u5185\u5bb9"));
        jTextAreaContent.setColumns(20);
        jTextAreaContent.setEditable(false);
        jTextAreaContent.setLineWrap(true);
        jTextAreaContent.setRows(5);
        jTextAreaContent.setWrapStyleWord(true);
        jScrollPaneCenter.setViewportView(jTextAreaContent);

        getContentPane().add(jScrollPaneCenter, java.awt.BorderLayout.CENTER);

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jButtonOpenActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonOpenActionPerformed
// TODO add your handling code here:
        fileChooser.showOpenDialog(this);
        File selectFile=fileChooser.getSelectedFile();
        if(selectFile==null)
        {
            JOptionPane.showMessageDialog(this,"你没有选择要打开的文件!","提示:",JOptionPane.INFORMATION_MESSAGE);
         return; 
        }
        else
        {
            int choose=JOptionPane.showConfirmDialog(this,"你确定要打开该文件吗","请确认", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
            if(choose==JOptionPane.NO_OPTION)
            {
                JOptionPane.showMessageDialog(this,"你取消了打开文件!","提示:",JOptionPane.INFORMATION_MESSAGE);
                return;
            }else
            {
                try
                {
                 int size=(int)selectFile.length();
                 byte[] tempArray=new byte[size];
                 FileInputStream fin=new FileInputStream(selectFile);
                 fin.read(tempArray);
                 String tempString=new String(tempArray);
                 this.jTextAreaContent.setText(tempString);                     
                }
                catch(IOException e)
                {
                    e.printStackTrace();
                }
            }
            
        }
    }//GEN-LAST:event_jButtonOpenActionPerformed
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new DemoReader().setVisible(true);
            }
        });
    }
    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButtonOpen;
    private javax.swing.JLabel jLabelFilePath;
    private javax.swing.JPanel jPanelNorth;
    private javax.swing.JScrollPane jScrollPaneCenter;
    private javax.swing.JTextArea jTextAreaContent;
    private javax.swing.JTextField jTextFieldFilePath;
    // End of variables declaration//GEN-END:variables
}

    class TxtFliter extends FileFilter
    {
        boolean flag;
        public boolean accept(File file)
        { 
             if(file.getName().toLowerCase().endsWith(".txt")) 
             {
                 flag=true;
             }
             else if(file.isDirectory())
             {
                 flag=true;
             }
            else
             {
                 flag=false;
             }
            return  flag;
         }
            public String getDescription(){//该方法返回文件类型的说明信息
            return "TXT文件";
        }
}
    class JavaFliter extends FileFilter
    {
        boolean flag;
        public boolean accept(File file)
        { 
           if(file.getName().toLowerCase().endsWith(".java"))
           {
               flag=true;
           }
           else if(file.isDirectory())
          {
               flag=true;
          }          
          else
          {
              flag=false;
          }
            return  flag;
         }
         public String getDescription(){//该方法返回文件类型的说明信息
         return "Java文件";
    }
}    





⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?