/Users/petercappello/NetBeansProjects/56-2014/56-2014-lab4/src/Controller.java |
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
@author
public class Controller extends JPanel
{
private final JPanel controlPanel = new JPanel();
private final JLabel printerLabel = new JLabel( "Printer:" );
private final JTextField printerTextField = new JTextField( );
private final JCheckBox printToFileCheckBox = new JCheckBox( "Print to File" );
private final JCheckBox twoSidedCheckBox = new JCheckBox( "2-Sided" );
private final JRadioButton selectionRadioButton = new JRadioButton( "Selection" );
private final JRadioButton allRadioButton = new JRadioButton( "All" );
private final JLabel printQualityLabel = new JLabel( "Print Quality:" );
private final JComboBox printQualityComboBox = new JComboBox( new String[] { "High", "Low" } );
private final JButton okButton = new JButton( "OK" );
private final JButton cancelButton = new JButton( "Cancel" );
private final JButton setupButton = new JButton( "Setup" );
private final JButton helpButton = new JButton( "Help" );
private final JPanel consolePanel = new JPanel();
private final JLabel consoleLabel = new JLabel( " Console:" );
private final JTextArea consoleTextArea = new JTextArea();
private final JScrollPane consoleTextAreaScrollPane = new JScrollPane( consoleTextArea );
Controller()
{ controlPanel.setLayout( new GridLayout( 4, 3 ) );
printerLabel.setHorizontalAlignment( SwingConstants.RIGHT );
controlPanel.add( printerLabel );
controlPanel.add( printerTextField );
controlPanel.add( okButton );
controlPanel.add( printToFileCheckBox );
controlPanel.add( selectionRadioButton );
controlPanel.add( cancelButton );
controlPanel.add( twoSidedCheckBox );
controlPanel.add( allRadioButton );
controlPanel.add( setupButton );
printQualityLabel.setHorizontalAlignment( SwingConstants.RIGHT );
controlPanel.add( printQualityLabel );
controlPanel.add( printQualityComboBox );
controlPanel.add( helpButton );
consolePanel.setLayout( new BorderLayout() );
consoleLabel.setVerticalAlignment( SwingConstants.TOP );
consolePanel.add( consoleLabel, BorderLayout.WEST );
consolePanel.add( consoleTextAreaScrollPane, BorderLayout.CENTER );
consoleTextArea.setEnabled( false );
consoleTextAreaScrollPane.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS );
consoleTextAreaScrollPane.setPreferredSize( new Dimension( 250, 50 ) );
setLayout( new BorderLayout() );
add( controlPanel, BorderLayout.CENTER );
add( consolePanel, BorderLayout.SOUTH );
ButtonGroup radioButtonGroup = new ButtonGroup();
radioButtonGroup.add( selectionRadioButton );
radioButtonGroup.add( allRadioButton );
addListenersToGuiComponents();
}
Associate each Swing component that has associated Event objects
with a method that handles that component's Events.
private void addListenersToGuiComponents()
{
printerTextField.addActionListener( new ActionListener()
{
@Override
public void actionPerformed( ActionEvent actionEvent )
{
printerTextFieldActionPerformed( actionEvent ); }
});
okButton.addActionListener( new ActionListener()
{
@Override
public void actionPerformed( ActionEvent actionEvent )
{
okButtonActionPerformed( actionEvent ); }
});
printToFileCheckBox.addActionListener( new ActionListener()
{
@Override
public void actionPerformed( ActionEvent actionEvent )
{
printToFileCheckBoxActionPerformed( actionEvent ); }
});
selectionRadioButton.addActionListener( new ActionListener()
{
@Override
public void actionPerformed( ActionEvent actionEvent )
{
selectionRadioButtonActionPerformed( actionEvent ); }
});
cancelButton.addActionListener( new ActionListener()
{
@Override
public void actionPerformed( ActionEvent actionEvent )
{
cancelButtonActionPerformed( actionEvent ); }
});
twoSidedCheckBox.addActionListener( new ActionListener()
{
@Override
public void actionPerformed( ActionEvent actionEvent )
{
twoSidedCheckBoxActionPerformed( actionEvent ); }
});
allRadioButton.addActionListener( new ActionListener()
{
@Override
public void actionPerformed( ActionEvent actionEvent )
{
allRadioButtonActionPerformed( actionEvent ); }
});
setupButton.addActionListener( new ActionListener()
{
@Override
public void actionPerformed( ActionEvent actionEvent )
{
setupButtonActionPerformed( actionEvent ); }
});
printQualityComboBox.addActionListener( new ActionListener()
{
@Override
public void actionPerformed( ActionEvent actionEvent )
{
printQualityComboBoxActionPerformed( actionEvent ); }
});
helpButton.addActionListener( new ActionListener()
{
@Override
public void actionPerformed( ActionEvent actionEvent )
{
helpButtonActionPerformed( actionEvent ); }
});
}
void printerTextFieldActionPerformed( ActionEvent actionEvent )
{
consoleTextArea.append( "\nPrinterTextField: " + printerTextField.getText() );
}
void okButtonActionPerformed( ActionEvent actionEvent )
{
consoleTextArea.append( "\nokButton: " + okButton.getText() );
}
void printToFileCheckBoxActionPerformed( ActionEvent actionEvent )
{
consoleTextArea.append( "\nprintToFileCheckBox: " + printToFileCheckBox.getText() );
}
void selectionRadioButtonActionPerformed( ActionEvent actionEvent )
{
consoleTextArea.append( "\nselectionRadioButton: " + selectionRadioButton.getText() );
}
void cancelButtonActionPerformed( ActionEvent actionEvent )
{
consoleTextArea.append( "\ncancelButton: " + cancelButton.getText() );
}
void twoSidedCheckBoxActionPerformed( ActionEvent actionEvent )
{
consoleTextArea.append( "\ntwoSidedCheckBox: " + twoSidedCheckBox.getText() );
}
void allRadioButtonActionPerformed( ActionEvent actionEvent )
{
consoleTextArea.append( "\nallRadioButton: " + allRadioButton.getText() );
}
void setupButtonActionPerformed( ActionEvent actionEvent )
{
consoleTextArea.append( "\nsetupButton: " + setupButton.getText() );
}
void printQualityComboBoxActionPerformed( ActionEvent actionEvent )
{
consoleTextArea.append( "\nprintQualityComboBox: " + printQualityComboBox.getSelectedItem() );
}
void helpButtonActionPerformed( ActionEvent actionEvent )
{
consoleTextArea.append( "\nhelpButton: " + helpButton.getText() );
}
}