作って、ばらして、パソコン三昧!気づけば部屋は、「ガラクタ」?だらけ...

作って、ばらして、パソコン三昧!気づけば部屋は、「ガラクタ」?だらけ...

WinGrepFrame.java



import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.lang.System;
import java.io.StringBufferInputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.File;
import java.io.IOException;

public class WinGrepFrame extends JFrame {
JPanel contentPane;
JMenuBar jMenuBar1 = new JMenuBar();
JMenu jMenuFile = new JMenu();
JMenuItem jMenuFileOpen = new JMenuItem();
JMenuItem jMenuFileSave = new JMenuItem();
JMenuItem jMenuFileExit = new JMenuItem();
JMenu jMenuFilter = new JMenu();
JMenuItem jMenuFilterNone = new JMenuItem();
JMenuItem jMenuFilterGrep = new JMenuItem();
JMenu jMenuHelp = new JMenu();
JMenuItem jMenuHelpAbout = new JMenuItem();
JToolBar jToolBar = new JToolBar();
// JButton jButton1 = new JButton();
// JButton jButton2 = new JButton();
// JButton jButton3 = new JButton();
JScrollPane mainArea = new JScrollPane();
JScrollPane subArea = new JScrollPane();
JTextArea textArea = new JTextArea(20, 80);
JTextArea matchTextArea = new JTextArea(20, 80);
JTextField filename = new JTextField("");
ImageIcon image1;
ImageIcon image2;
ImageIcon image3;
BorderLayout borderLayout1 = new BorderLayout();
BorderLayout borderLayout2 = new BorderLayout();
FileDialog openFile = new FileDialog(this, "Open File", FileDialog.LOAD);
FileDialog saveFile = new FileDialog(this, "Save File", FileDialog.SAVE);
String delimiter[] = new String[5];
int nDelimiter = 5;

//Construct the frame
public WinGrepFrame() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}

//Component initialization
private void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(borderLayout1);
this.setSize(new Dimension(600, 800));
this.setTitle("Frame Title");
jMenuFile.setText("File");
jMenuFileOpen.setText("Open");
jMenuFileOpen.addActionListener(new WinGrepFrame_jMenuFileOpen_ActionAdapter(this));
jMenuFileSave.setText("Save");
jMenuFileSave.addActionListener(new WinGrepFrame_jMenuFileSave_ActionAdapter(this));
jMenuFileExit.setText("Exit");
jMenuFileExit.addActionListener(new WinGrepFrame_jMenuFileExit_ActionAdapter(this));
jMenuFilter.setText("Filter");
jMenuFilterNone.setText("None");
jMenuFilterNone.addActionListener(new WinGrepFrame_jMenuFilterNone_ActionAdapter(this));
jMenuFilterGrep.setText("Grep");
jMenuFilterGrep.addActionListener(new WinGrepFrame_jMenuFilterGrep_ActionAdapter(this));
jMenuHelp.setText("Help");
jMenuHelpAbout.setText("About");
jMenuHelpAbout.addActionListener(new WinGrepFrame_jMenuHelpAbout_ActionAdapter(this));
jMenuFile.add(jMenuFileOpen);
jMenuFile.add(jMenuFileSave);
jMenuFile.add(jMenuFileExit);
jMenuFilter.add(jMenuFilterNone);
jMenuFilter.add(jMenuFilterGrep);
jMenuHelp.add(jMenuHelpAbout);
jMenuBar1.add(jMenuFile);
jMenuBar1.add(jMenuFilter);
jMenuBar1.add(jMenuHelp);
jToolBar.add(filename);
this.setJMenuBar(jMenuBar1);
contentPane.add(jToolBar, borderLayout1.NORTH);
contentPane.add(mainArea, borderLayout1.CENTER);
mainArea.getViewport().add(textArea);
contentPane.add(subArea, borderLayout1.SOUTH);
subArea.getViewport().add(matchTextArea);
}

//File | Open action performed
public void jMenuFileOpen_actionPerformed(ActionEvent e) throws IOException{
String inFilename;
openFile.show();
try{
inFilename = openFile.getDirectory()+openFile.getFile();
this.filename.setText(inFilename);
FileInputStream inFile = new FileInputStream(inFilename);
DataInputStream inStream = new DataInputStream(inFile);
textArea.setText("");
String line;
while((line=inStream.readLine())!=null)
textArea.append(line+"\n");
inStream.close();
inFile.close();
}catch(IOException x){
this.filename.setText("Error reading "+ this.filename.getText());
}
}

//File | Save action performed
public void jMenuFileSave_actionPerformed(ActionEvent e) throws IOException{
String outFilename;
saveFile.show();
try{
outFilename = saveFile.getDirectory()+saveFile.getFile();
this.filename.setText(outFilename);
FileOutputStream outFile = new FileOutputStream(outFilename);
DataOutputStream outStream = new DataOutputStream(outFile);
outStream.writeBytes(matchTextArea.getText());
outStream.close();
}catch(IOException x){
this.filename.setText("Error writing "+ this.filename.getText());
}
}

//File | Exit action performed
public void jMenuFileExit_actionPerformed(ActionEvent e) {
System.exit(0);
}

//Filter | None action performed
public void jMenuFilterNone_actionPerformed(ActionEvent e) {
matchTextArea.setText(textArea.getText());
}

//Filter | Grep action performed
public void jMenuFilterGrep_actionPerformed(ActionEvent e) throws IOException{
String phrase =
JOptionPane.showInputDialog(this, "Enter phrase to grep");
StringBufferInputStream inString = new StringBufferInputStream(textArea.getText());
DataInputStream inStream = new DataInputStream(inString);
String line;
int idx;
matchTextArea.setText("");
while((line=inStream.readLine())!=null){
if((idx=line.indexOf(phrase))<0){
;
}
else{
matchTextArea.append(line+"\n");
}
}
}

//Help | About action performed
public void jMenuHelpAbout_actionPerformed(ActionEvent e) {
}

//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
jMenuFileExit_actionPerformed(null);
}
}
}

class WinGrepFrame_jMenuFileOpen_ActionAdapter implements ActionListener {
WinGrepFrame adaptee;

WinGrepFrame_jMenuFileOpen_ActionAdapter(WinGrepFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
try{
adaptee.jMenuFileOpen_actionPerformed(e);
} catch (IOException x){
adaptee.textArea.append("cannot open the file\n");
}
}
}

class WinGrepFrame_jMenuFileSave_ActionAdapter implements ActionListener {
WinGrepFrame adaptee;

WinGrepFrame_jMenuFileSave_ActionAdapter(WinGrepFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
try{
adaptee.jMenuFileSave_actionPerformed(e);
} catch (IOException x){
adaptee.textArea.append("cannot open the file\n");
}
}
}

class WinGrepFrame_jMenuFileExit_ActionAdapter implements ActionListener {
WinGrepFrame adaptee;

WinGrepFrame_jMenuFileExit_ActionAdapter(WinGrepFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuFileExit_actionPerformed(e);
}
}

class WinGrepFrame_jMenuFilterNone_ActionAdapter implements ActionListener {
WinGrepFrame adaptee;

WinGrepFrame_jMenuFilterNone_ActionAdapter(WinGrepFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuFilterNone_actionPerformed(e);
}
}

class WinGrepFrame_jMenuFilterGrep_ActionAdapter implements ActionListener {
WinGrepFrame adaptee;

WinGrepFrame_jMenuFilterGrep_ActionAdapter(WinGrepFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
try{
adaptee.jMenuFilterGrep_actionPerformed(e);
} catch (IOException x){
adaptee.textArea.append("Cannot open stream\n");
}
}
}

class WinGrepFrame_jMenuHelpAbout_ActionAdapter implements ActionListener {
WinGrepFrame adaptee;

WinGrepFrame_jMenuHelpAbout_ActionAdapter(WinGrepFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuHelpAbout_actionPerformed(e);
}
}


© Rakuten Group, Inc.
X
Mobilize your Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: