InternicGUIpublic class InternicGUI extends JFrame
Fields Summary |
---|
private JTextField | searchString | private JTextArea | detailView | private DefaultListModel | namesModel | private JList | names | private JButton | findButton | private ButtonGroup | searchIn | private ButtonGroup | searchFor | private JCheckBox | exactMatch | private Whois | server |
Constructors Summary |
---|
public InternicGUI(Whois whois)
super("Internic Whois");
this.server = whois;
Container pane = this.getContentPane();
detailView.setEditable(false);
// the whois server assumes a monospaced font, 72 columns across
Font f = new Font("Monospaced", Font.PLAIN, 10);
detailView.setFont(f);
names.setFont(f);
JScrollPane jsp1 = new JScrollPane(detailView);
JPanel CenterPanel = new JPanel();
CenterPanel.setLayout(new GridLayout(2, 1, 10, 10));
names.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
JScrollPane jsp = new JScrollPane(names);
CenterPanel.add(jsp);
CenterPanel.add(jsp1);
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,2,5,5));
NorthPanelBottom.add(initRecordType());
NorthPanelBottom.add(initSearchFields());
NorthPanel.add("Center", NorthPanelBottom);
JPanel SouthPanel = new JPanel();
pane.add("North", NorthPanel);
ActionListener al = new LookupNames();
findButton.addActionListener(al);
searchString.addActionListener(al);
names.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent evt) {
int index = names.locationToIndex(evt.getPoint());
try {
String details = server.getFullRecord(
getHandle(namesModel.elementAt(index).toString()));
detailView.setText(details);
}
catch (Exception ex) {}
} });
|
Methods Summary |
---|
private static java.lang.String | getHandle(java.lang.String s)
int begin = s.indexOf("(") + 1;
int end = s.indexOf(")", begin);
return s.substring(begin,end);
| 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;
| public static void | main(java.lang.String[] args)
try {
Whois server = new Whois();
InternicGUI a = new InternicGUI(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 InternicGUI");
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;
|
|