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 + -
显示快捷键?