📄 mymodifier1.java
字号:
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.Container;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.FileDialog;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.ItemListener;
import java.awt.event.ItemEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JRadioButton;
import javax.swing.ButtonGroup;
import javax.swing.JOptionPane;
import javax.swing.JDialog;
import javax.swing.JRootPane;
import javax.swing.JInternalFrame;
import javax.swing.border.Border;
import javax.swing.BorderFactory;
import javax.swing.JOptionPane;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.lang.Exception;
import java.util.regex.Pattern;
//import ModiFrame;
/**
* 编写者: 于长富
* 调整字幕文本时间差
* 编写日期: 2009-03-06
*/
public class MyModifier1 extends JFrame {
public static JTextArea mytextArea;
private static String strAll = "";
private String currentFilePath="";
private String currentFileName="";
private String textContent;
MenuItem menuItemNew,menuItemOpen,menuItemSave,menuItemSaveAs,menuItemModifier,menuItemAbout;
MenuBar menuBarX;
FileDialog openDlg, saveDlg;
//JScrollPane jsp=new JScrollPane();
/**
* Launch the application
* @param args
*/
public static void main(String args[]) {
try {
MyModifier1 mainframe = new MyModifier1();
mainframe.setVisible(true);
}
catch (Exception e) {
e.printStackTrace();
}
}
/**
* Create the frame
*/
public MyModifier1() {
super("Modifier");
MenuClickListener menuClickListener =new MenuClickListener();//菜单
menuBarX=new MenuBar();
Menu menuItemFile=new Menu("文件");
menuBarX.add(menuItemFile);
Menu menuItemEdit=new Menu("编辑");
menuBarX.add(menuItemEdit);
Menu menuItemHelp=new Menu("帮助");
menuBarX.add(menuItemHelp);
menuItemNew=new MenuItem("新建");
menuItemNew.addActionListener(menuClickListener);
menuItemOpen=new MenuItem("打开");
menuItemOpen.addActionListener(menuClickListener);
menuItemSave=new MenuItem("保存");
menuItemSave.addActionListener(menuClickListener);
menuItemSaveAs=new MenuItem("另存为");
menuItemSaveAs.addActionListener(menuClickListener);
menuItemFile.add(menuItemNew);
menuItemFile.add(menuItemOpen);
menuItemFile.add(menuItemSave);
menuItemFile.add(menuItemSaveAs);
menuItemModifier=new MenuItem("修改");
menuItemModifier.addActionListener(menuClickListener);
menuItemEdit.add(menuItemModifier);
menuItemAbout=new MenuItem("关于");
menuItemAbout.addActionListener(menuClickListener);
menuItemHelp.add(menuItemAbout);
setMenuBar(menuBarX);
openDlg = new FileDialog(this, "打开文件", FileDialog.LOAD);
openDlg.setVisible(false);
saveDlg = new FileDialog(this, "保存文件", FileDialog.SAVE);
saveDlg.setVisible(false);
openDlg.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e) {
openDlg.setVisible(false);
}
});
saveDlg.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
saveDlg.setVisible(false);
}
});
Container ctn=getContentPane();
//ctn.add(jsp,BorderLayout.CENTER);//加载面板
//setSize(640,480);
setBounds(280, 150, 688, 488);
setVisible(true);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
//panel.setBounds(23, 65, 399, 164);
getContentPane().add(panel);
final JScrollPane scrollPane = new JScrollPane();
panel.add(scrollPane, BorderLayout.CENTER);
mytextArea = new JTextArea();
scrollPane.setViewportView(mytextArea);
}
class MenuClickListener implements ActionListener{
public void actionPerformed(ActionEvent e){
if(e.getSource()==menuItemNew){ //Open a file
mytextArea.setText("");
currentFilePath="";
currentFileName="";
}
else if(e.getSource()==menuItemOpen){ //Open a file
openDlg.setVisible(true);
if (openDlg.getFile() != null){
openFile(openDlg.getDirectory(),openDlg.getFile());
}
}
else if(e.getSource()==menuItemSave){//Save to current file
saveFile();
// saveDlg.setVisible(true);
// saveFile(saveDlg.getDirectory(),saveDlg.getFile());
}
else if(e.getSource()==menuItemSaveAs){//Save to another file
saveDlg.setVisible(true);
saveAs(saveDlg.getDirectory(),saveDlg.getFile());
}
else if(e.getSource()==menuItemModifier){ //modify by your means
modiFile();
}
else if(e.getSource()==menuItemAbout){ //clear all data
about();
}
}
}
public void openFile(String strPath,String strName){
currentFilePath=strPath;
currentFileName=strName;
mytextArea.setText("");
String strTemp;
try {
mytextArea.setText("");
File fIn = new File(strPath,strName);
FileReader fr = new FileReader(fIn);
BufferedReader br = new BufferedReader(fr);
while( ( strTemp = br.readLine() ) != null ) {
strAll=strAll+strTemp;
strAll=strAll+"\r\n";
}
br.close();
mytextArea.setText(strAll);
mytextArea.moveCaretPosition(0);
}
catch (IOException IOe){
System.out.println("Can't read the file!");
}
}
public void saveAs(String strPath,String strName){
if(Pattern.matches("[.]*[.txt]{1}$",strName)||Pattern.matches("[.]*[.TXT]{1}$",strName));
else strName=strName+".txt";
textContent = mytextArea.getText();
try {
File fout = new File(strPath,strName);
FileWriter fw = new FileWriter(fout);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(textContent,0,textContent.length());
bw.close();
}
catch (IOException IOe){
System.out.println("Can't Write to File!");
}
}
public void saveFile(){
if(currentFileName==""){
saveDlg.setVisible(true);
saveAs(saveDlg.getDirectory(),saveDlg.getFile());
}
else{
try {
textContent = mytextArea.getText();
File fout = new File(currentFilePath,currentFileName);
FileWriter fw = new FileWriter(fout);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(textContent,0,textContent.length());
bw.close();
}
catch (Exception e){
System.out.println("Can't Write current File!");
}
}
}
public void modiFile(){
try {
// JInternalFrame internalFrame = new JInternalFrame(
// "Internal Frame "+(count++), false, true, false, false);
//
// //internalFrame.setLocation( 20,20);
// internalFrame.setSize(200,200);
// internalFrame.setVisible(true);
// //取得JInternalFrame的Content Pane,用以加入新的组件。
// Container icontentPane = internalFrame.getContentPane();
// JTextArea textArea = new JTextArea();
// JButton b = new JButton("Internal Frame Button");
// /*将JTextArea与JButton对象加入JInternalFrame中。由此呆知,JInteranlFrame加入组件
// *的方式与JFrame是一模一样。
// */
// icontentPane.add(textArea,"Center");
// icontentPane.add(b,"South");
// //将JInternalFrame加入JDesktopPane中,如此一来,即使产生很多JInternalFrame,JDesktopPane也
// //能将它们之间的关系治理得相当良好。
ModiFrame smallframe = new ModiFrame();
smallframe.setVisible(true);
//mytextArea.setText(smallframe.str);
//mytextArea.moveCaretPosition(0);
}
catch (Exception e) {
e.printStackTrace();
}
}
public void about(){
String message="This aplication program is coded by ycf who is one coder of the TopStar Group!"+"\r\n"+
"and its name is Modifier!"+"\r\n"+
"If there is any question, please contact us!"+"\r\n"+
"Thank you for using this software, good luck!"+"\r\n"+"\r\n"+
"QQ:907197525"+"\r\n"+
"Phone:024-83690256"+"\r\n"+"\r\n"+
"All right reserved(C)2009-2010 TopStar Group,TSG.";
JOptionPane optinPane=new JOptionPane(message,JOptionPane.INFORMATION_MESSAGE);
optinPane.setVisible(true);
optinPane.showMessageDialog(null, message, "关于...", JOptionPane.INFORMATION_MESSAGE);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -