100 lines
2.7 KiB
Java
100 lines
2.7 KiB
Java
|
Socket Applet
|
||
|
|
||
|
import java.applet.*;
|
||
|
import java.awt.*;
|
||
|
import java.awt.event.*;
|
||
|
import java.io.*;
|
||
|
import java.net.*;
|
||
|
|
||
|
public class SocketApplet extends Applet {
|
||
|
TextField nameTF, passTF, domainTF;
|
||
|
Image im;
|
||
|
Button sendButton;
|
||
|
/** Where the Applet came from */
|
||
|
URL whence;
|
||
|
|
||
|
//+
|
||
|
/** Initialize the GUI nicely. */
|
||
|
public void init() {
|
||
|
Label aLabel;
|
||
|
|
||
|
setLayout(new GridBagLayout());
|
||
|
int LOGO_COL = 1;
|
||
|
int LABEL_COL = 2;
|
||
|
int TEXT_COL = 3;
|
||
|
int BUTTON_COL = 1;
|
||
|
GridBagConstraints gbc = new GridBagConstraints();
|
||
|
gbc.weightx = 100.0; gbc.weighty = 100.0;
|
||
|
|
||
|
gbc.gridx = LABEL_COL; gbc.gridy = 0;
|
||
|
gbc.anchor = GridBagConstraints.EAST;
|
||
|
add(aLabel = new Label("Name:", Label.CENTER), gbc);
|
||
|
gbc.anchor = GridBagConstraints.CENTER;
|
||
|
gbc.gridx = TEXT_COL; gbc.gridy = 0;
|
||
|
add(nameTF=new TextField(10), gbc);
|
||
|
|
||
|
gbc.gridx = LABEL_COL; gbc.gridy = 1;
|
||
|
gbc.anchor = GridBagConstraints.EAST;
|
||
|
add(aLabel = new Label("Password:", Label.CENTER), gbc);
|
||
|
gbc.anchor = GridBagConstraints.CENTER;
|
||
|
gbc.gridx = TEXT_COL; gbc.gridy = 1;
|
||
|
add(passTF=new TextField(10), gbc);
|
||
|
passTF.setEchoChar('*');
|
||
|
|
||
|
gbc.gridx = LABEL_COL; gbc.gridy = 2;
|
||
|
gbc.anchor = GridBagConstraints.EAST;
|
||
|
add(aLabel = new Label("Domain:", Label.CENTER), gbc);
|
||
|
gbc.anchor = GridBagConstraints.CENTER;
|
||
|
gbc.gridx = TEXT_COL; gbc.gridy = 2;
|
||
|
add(domainTF=new TextField(10), gbc);
|
||
|
sendButton = new Button("Send data");
|
||
|
gbc.gridx = BUTTON_COL; gbc.gridy = 3;
|
||
|
gbc.gridwidth = 3;
|
||
|
add(sendButton, gbc);
|
||
|
|
||
|
whence = getCodeBase();
|
||
|
|
||
|
// Now the action begins...
|
||
|
sendButton.addActionListener(new ActionListener() {
|
||
|
public void actionPerformed(ActionEvent evt) {
|
||
|
String name = nameTF.getText();
|
||
|
if (name.length() == 0) {
|
||
|
showStatus("Name required");
|
||
|
return;
|
||
|
}
|
||
|
String domain = domainTF.getText();
|
||
|
if (domain.length() == 0) {
|
||
|
showStatus("Domain required");
|
||
|
return;
|
||
|
}
|
||
|
showStatus("Connecting to host " + whence.getHost() +
|
||
|
" as " + nameTF.getText());
|
||
|
|
||
|
try {
|
||
|
Socket s = new Socket(getCodeBase().getHost(),
|
||
|
SocketServer.PORT);
|
||
|
PrintWriter pf = new PrintWriter(s.getOutputStream(), true);
|
||
|
// send login name
|
||
|
pf.println(nameTF.getText());
|
||
|
// passwd
|
||
|
pf.println(passTF.getText());
|
||
|
// and domain
|
||
|
pf.println(domainTF.getText());
|
||
|
|
||
|
BufferedReader is = new BufferedReader(
|
||
|
new InputStreamReader(s.getInputStream()));
|
||
|
String response = is.readLine();
|
||
|
showStatus(response);
|
||
|
} catch (IOException e) {
|
||
|
showStatus("ERROR: " + e.getMessage());
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
//-
|
||
|
}
|
||
|
/*
|
||
|
<APPLET CODE="SocketApplet" width=300 height=120>
|
||
|
</APPLET>
|
||
|
*/
|