package com.ora.rmibook.chapter3.applications;
import com.ora.rmibook.chapter3.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.io.*;
public class SimpleClientFrame extends JFrame {
private JTextArea _messageBox;
private JButton _chooseFileButton;
private JButton _printFileButton;
private JFileChooser _fileChooser;
public SimpleClientFrame() {
buildGUI();
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
addWindowListener(new ExitOnClose());
setSize(250, 200);
}
private void buildGUI() {
JPanel mainPanel = new JPanel(new BorderLayout());
_messageBox = new JTextArea();
mainPanel.add(new JScrollPane(_messageBox), BorderLayout.CENTER);
createButtons();
JPanel buttonHolder = new JPanel(new GridLayout(1, 2));
buttonHolder.add(_chooseFileButton);
buttonHolder.add(_printFileButton);
mainPanel.add(buttonHolder, BorderLayout.SOUTH);
getContentPane().add(mainPanel);
}
private void createButtons() {
_chooseFileButton = new JButton("Choose File");
_chooseFileButton.addActionListener(new FindFile());
_printFileButton = new JButton("Print File");
_printFileButton.addActionListener(new PrintFile());
}
private class ExitOnClose extends WindowAdapter {
public void windowClosed(WindowEvent event) {
System.exit(0);
}
}
private class FindFile implements ActionListener {
public void actionPerformed(ActionEvent event) {
if (null == _fileChooser) {
_fileChooser = new JFileChooser();
}
if (JFileChooser.APPROVE_OPTION == _fileChooser.showOpenDialog(SimpleClientFrame.this)) {
_messageBox.setText((_fileChooser.getSelectedFile()).getAbsolutePath());
}
}
}
private class PrintFile implements ActionListener {
public void actionPerformed(ActionEvent event) {
try {
ClientNetworkWrapper clientNetworkWrapper = new ClientNetworkWrapper();
FileInputStream document = new FileInputStream(_fileChooser.getSelectedFile());
clientNetworkWrapper.sendDocumentToPrinter(document);
} catch (Exception exception) {
_messageBox.setText("Exception attempting to print " + (_fileChooser.getSelectedFile()).getAbsolutePath() +
"\n\t Error was: " + exception.toString());
}
}
}
}
|