📄 index_surpace.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class Index_surpace extends JFrame
{
JPanel contentPane=(JPanel)this.getContentPane();
JScrollPane scrollpane;
JMenu menu1=new JMenu("文件");
JMenu menu2=new JMenu("关于");
JMenuItem item1=new JMenuItem("打开待检索文件");
JMenuItem item2=new JMenuItem("分析结果另存为");
JMenuItem item3=new JMenuItem("退出");
JMenuItem item4=new JMenuItem("关于本作品");
JMenuBar menubar=new JMenuBar();
JTextField jTextField1=new JTextField(20); //创建两个文本输入框
JTextField jTextField2=new JTextField(20);
JTextArea jTextArea=new JTextArea(9,27); //创建文本输入区
JLabel jLabel1=new JLabel("输入文件名:"); //设置两个标签
JLabel jLabel2=new JLabel("结果存放在:");
JButton button1=new JButton("拼写检索"); //设置两个功能按钮
JButton button2=new JButton("重新输入");
Font font=new Font("宋体",Font.PLAIN,13); //创建字体对象
Font fon=new Font("宋体",Font.PLAIN,12);
public Index_surpace() //构造图形界面
{
button1.setPreferredSize(new Dimension(95,30)); //设置按钮大小
button2.setPreferredSize(new Dimension(95,30));
jLabel1.setFont(font); //设置字体
jLabel2.setFont(font);
menubar.setBackground(new Color(236,233,216));
menubar.setBorder(BorderFactory.createEtchedBorder());
menu1.setBackground(new Color(236,233,216));
menu2.setBackground(new Color(236,233,216));
menu1.setFont(fon);
menu2.setFont(fon);
menu1.setToolTipText("文件菜单");
menu2.setToolTipText("关于版权");
item1.setBackground(new Color(236,233,216));
item2.setBackground(new Color(236,233,216));
item3.setBackground(new Color(236,233,216));
item4.setBackground(new Color(236,233,216));
item1.setFont(fon);
item2.setFont(fon);
item3.setFont(fon);
item4.setFont(fon);
button1.setFocusable(false);
button1.setFont(font);
button1.setForeground(Color.red);
button1.setBackground(new Color(236,233,216));
button1.setBorder(BorderFactory.createRaisedBevelBorder());
button2.setFocusable(false);
button2.setFont(font);
button2.setBackground(new Color(236,233,216));
button2.setBorder(BorderFactory.createRaisedBevelBorder());
jTextField1.setBorder(BorderFactory.createLoweredBevelBorder());
jTextField2.setBorder(BorderFactory.createLoweredBevelBorder());
jTextArea.setBorder(BorderFactory.createLoweredBevelBorder());
jTextArea.setEditable(false); //设置文本输入区为输出区
jTextArea.setBackground(Color.white); //设置颜色
menu1.add(item1);
menu1.add(item2);
menu1.add(item3);
menu2.add(item4);
menubar.add(menu1);
menubar.add(menu2);
setJMenuBar(menubar);
contentPane.setBackground(new Color(236,233,216));
contentPane.setLayout(new FlowLayout()); //采用流式布局
contentPane.add(jLabel1);
contentPane.add(jTextField1);
contentPane.add(jLabel2);
contentPane.add(jTextField2);
contentPane.add(button1);
contentPane.add(button2);
contentPane.add(scrollpane=new JScrollPane(jTextArea)); //把文本输入区添加到可滚动窗格
scrollpane.setBackground(new Color(236,233,216));
ActionListener action=new ActionListener() //为按键添加事件监听器
{
public void actionPerformed(ActionEvent e)
{
button_actionPerformed(e);
}
};
button1.addActionListener(action);
button2.addActionListener(action);
item1.addActionListener(action);
item2.addActionListener(action);
item3.addActionListener(action);
item4.addActionListener(action);
setLocation(300,200);
setSize(new Dimension(340,340));
setTitle("拼写检索");
setResizable(false); //计算器面板设成大小不能改变
show();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭计算器面板就结束程序
}
public void button_actionPerformed(ActionEvent e)
{
String s=e.getActionCommand(); //取当前按键值
try
{
if(s.equals("拼写检索"))
{
jTextArea.setText("");
if(jTextField1.getText().equals(""))
jTextArea.setText("请输入待检查拼写错误的文件名!"+"\n");
if(jTextField2.getText().equals(""))
jTextArea.setText(jTextArea.getText()+"请输入结果应存放的文件名!"+"\n");
else
{
File f4=new File(jTextField1.getText()); //读取文本输入框1的内容
if(!f4.exists()) //若文件不存在或为目录、不可读则输出提示信息
jTextArea.setText("此文件不存在!"+"\n");
else if(!f4.isFile())
jTextArea.setText("目录!请输入文件名!"+"\n");
else if(!f4.canRead())
jTextArea.setText("文件不可读!"+"\n");
else
{
File b=new File(jTextField2.getText());
if(b.isDirectory())
jTextArea.setText("结果不可以存放于目录!请输入文件名\n");
else //若是文件且可读则创建ForSearch对象
{
ForSearch a = new ForSearch(jTextField1.getText(),jTextField2.getText());
FileInputStream bf=new FileInputStream(b); //创建文件输入流
BufferedReader br=new BufferedReader(new InputStreamReader(bf));//以文件输入流建立缓冲区
String line="";//初始字符串line为空串
while((line=br.readLine())!=null) //若串不为空则输出
jTextArea.append(line+"\n\r");
}
}
}
}
if(s.equals("重新输入")) //按下重新输入按钮,清空所有输入输出区
{
jTextField1.setText("");
jTextField1.requestFocus(true);
jTextField2.setText("");
jTextArea.setText("");
}
if(s.equals("打开待检索文件")) //浏览磁盘
{
FileDialog dialog1=new FileDialog(this);
dialog1.setVisible(true);
String input=dialog1.getDirectory()+dialog1.getFile();
jTextField1.setText(input);
}
if(s.equals("分析结果另存为")) //浏览磁盘
{
FileDialog dialog2=new FileDialog(this);
dialog2.setVisible(true);
String input=dialog2.getDirectory()+dialog2.getFile();
jTextField2.setText(input);
}
if(s.equals("退出"))
System.exit(0);
if(s.equals("关于本作品"))
{
JDialog dialog=new JDialog(this,"版权",true);
JLabel jLabel3=new JLabel("Copyright 2004-2005 @ FPY CO.LTD ");
JLabel jLabel4=new JLabel("All Rights Reserved");
JLabel jLabel5=new JLabel("作者:冯绍欣 潘素芬 余彪");
jLabel3.setFont(font);
jLabel4.setFont(font);
jLabel5.setFont(font);
dialog.getContentPane().setLayout(new FlowLayout());
dialog.getContentPane().add(jLabel3);
dialog.getContentPane().add(jLabel4);
dialog.getContentPane().add(jLabel5);
dialog.getContentPane().setBackground(new Color(236,233,216));
dialog.setSize(300,105);
dialog.setLocation(320,300);
dialog.setResizable(false);
dialog.show();
}
}
catch(IOException b){;}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -