Professional Documents
Culture Documents
Programs. 2
Programs. 2
*;
public class SampleServer extends JFrame { // ext area !or displa"ing contents private J ext#rea jta $ new J ext#rea%&;
public SampleServer%& { // *lace text area on t+e !rame set,a"out%new -order,a"out%&&; add%new JScroll*ane%jta&. -order,a"out./01 02&;
set itle%3Server3&; setSi4e%566. 766&; set8e!ault/lose9peration%JFrame.0:; <91</,9S0&; set=isible%true&; // ;t is necessar" to s+ow t+e !rame +ere>
tr" {
// /reate a server soc?et ServerSoc?et serverSoc?et$new ServerSoc?et%@666&; jta.append%3Server started at 3 A new 8ate%& A BCnB&;
// /reate data input and output streams 8ata;nputStream inputFrom/lient$new 8ata;nputStream%soc?et.get;nputStream%&&; 8ata9utputStream output o/lient$new 8ata9utputStream%soc?et.get9utputStream%&&;
double radius $inputFrom/lient.read8ouble%&; // /ompute area double area $ radius * radius * Eat+.*;;
jta.append%32adius received !rom client: 3 A radius A BCnB&; jta.append%3#rea !ound: 3 A area A BCnB&;
) ) catc+%;90xception ex& { S"stem.err.println%ex&; ) ) ) /lient:import java.io.*; import java.net.*; import java.awt.*; import java.awt.event.*; import javax.swing.*;
public class Sample/lient extends JFrame { // ext !ield !or receiving radius private J extField jt! $ new J extField%&;
new Sample/lient%&; )
public Sample/lient%& { // *anel p to +old t+e label and text !ield J*anel p $ new J*anel%&; p.set,a"out%new -order,a"out%&&; p.add%new J,abel%30nter radius3&. -order,a"out.F0S &; p.add%jt!. -order,a"out./01 02&; jt!.setGori4ontal#lignment%J extField.2;HG &;
jt!.add#ction,istener%new extField,istener%&&;
set itle%3/lient3&; setSi4e%566. 766&; set8e!ault/lose9peration%JFrame.0:; <91</,9S0&; set=isible%true&; // ;t is necessar" to s+ow t+e !rame +ere>
// Soc?et soc?et $ new Soc?et%3I76.J5K.J6K.773. @666&; // Soc?et soc?et $ new Soc?et%3liang.armstrong.edu3. @666&; // /reate an input stream to receive data !rom t+e server
!romServer$new 8ata;nputStream%soc?et.get;nputStream%&&;
private class extField,istener implements #ction,istener { L9verride public void action*er!ormed%#ction0vent e& { tr" { // Het t+e radius !rom t+e text !ield double radius $ 8ouble.parse8ouble%jt!.get ext%&.trim%&&;
// 8ispla" to t+e text area jta.append%32adius is 3 A radius A 3Cn3&; jta.append%3#rea received !rom t+e server is 3 A area A BCnB&; ) catc+ %;90xception ex& { S"stem.err.println%ex&; ) ) ) )