WhoisGUIpublic class WhoisGUI extends JFrame
Fields Summary |
---|
private JTextField | searchString | private JTextArea | names | private JButton | findButton | private ButtonGroup | searchIn | private ButtonGroup | searchFor | private JCheckBox | exactMatch | private JTextField | chosenServer | private Whois | server |
Constructors Summary |
---|
public WhoisGUI(Whois whois)
super("Whois");
this.server = whois;
Container pane = this.getContentPane();
// whois.internic.net assumes a monospaced font, 72 columns across
Font f = new Font("Monospaced", Font.PLAIN, 12);
names.setFont(f);
names.setEditable(false);
JPanel centerPanel = new JPanel();
centerPanel.setLayout(new GridLayout(1, 1, 10, 10));
JScrollPane jsp = new JScrollPane(names);
centerPanel.add(jsp);
pane.add("Center", centerPanel);
// You don't want the buttons in the south and north
// to fill the entire sections so add Panels there
// and use FlowLayouts in the Panel
JPanel northPanel = new JPanel();
JPanel northPanelTop = new JPanel();
northPanelTop.setLayout(new FlowLayout(FlowLayout.LEFT));
northPanelTop.add(new JLabel("Whois: "));
northPanelTop.add("North", searchString);
northPanelTop.add(exactMatch);
northPanelTop.add(findButton);
northPanel.setLayout(new BorderLayout(2,1));
northPanel.add("North", northPanelTop);
JPanel northPanelBottom = new JPanel();
northPanelBottom.setLayout(new GridLayout(1,3,5,5));
northPanelBottom.add(initRecordType());
northPanelBottom.add(initSearchFields());
northPanelBottom.add(initServerChoice());
northPanel.add("Center", northPanelBottom);
pane.add("North", northPanel);
ActionListener al = new LookupNames();
findButton.addActionListener(al);
searchString.addActionListener(al);
|
Methods Summary |
---|
private javax.swing.JPanel | initRecordType()
JPanel p = new JPanel();
p.setLayout(new GridLayout(6, 2, 5, 2));
p.add(new JLabel("Search for:"));
p.add(new JLabel(""));
JRadioButton any = new JRadioButton("Any", true);
any.setActionCommand("Any");
searchFor.add(any);
p.add(any);
p.add(this.makeRadioButton("Network"));
p.add(this.makeRadioButton("Person"));
p.add(this.makeRadioButton("Host"));
p.add(this.makeRadioButton("Domain"));
p.add(this.makeRadioButton("Organization"));
p.add(this.makeRadioButton("Group"));
p.add(this.makeRadioButton("Gateway"));
p.add(this.makeRadioButton("ASN"));
return p;
| private javax.swing.JPanel | initSearchFields()
JPanel p = new JPanel();
p.setLayout(new GridLayout(6, 1, 5, 2));
p.add(new JLabel("Search In: "));
JRadioButton all = new JRadioButton("All", true);
all.setActionCommand("All");
searchIn.add(all);
p.add(all);
p.add(this.makeSearchInRadioButton("Name"));
p.add(this.makeSearchInRadioButton("Mailbox"));
p.add(this.makeSearchInRadioButton("Handle"));
return p;
| private javax.swing.JPanel | initServerChoice()
JPanel p = new JPanel();
p.setLayout(new GridLayout(6, 1, 5, 2));
p.add(new JLabel("Search At: "));
chosenServer.setText(server.getHost().getHostName());
p.add(chosenServer);
chosenServer.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent evt) {
try {
InetAddress newHost
= InetAddress.getByName(chosenServer.getText());
Whois newServer = new Whois(newHost);
server = newServer;
}
catch (Exception e) {
// should use an error dialog here, but that
// doesn't teach much about networking
chosenServer.setText(server.getHost().getHostName());
}
}
} );
return p;
| public static void | main(java.lang.String[] args)
try {
Whois server = new Whois();
WhoisGUI a = new WhoisGUI(server);
a.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
a.pack();
a.show();
}
catch (UnknownHostException e) {
System.err.println("Error: Could not locate default host "
+ Whois.DEFAULT_HOST);
System.err.println("Check to make sure you're connected to the"
+ " Internet and that DNS is funtioning");
System.err.println("Usage: java WhoisGUI");
return;
}
| private javax.swing.JRadioButton | makeRadioButton(java.lang.String label)
JRadioButton button = new JRadioButton(label, false);
button.setActionCommand(label);
searchFor.add(button);
return button;
| private javax.swing.JRadioButton | makeSearchInRadioButton(java.lang.String label)
JRadioButton button = new JRadioButton(label, false);
button.setActionCommand(label);
searchIn.add(button);
return button;
|
|