Chat Transcript, Sunday June 29
=> [wachsmut] joins at Sat Jun 21 15:56:31 1997 from 140.233.10.18
=> [dave] joins at Sun Jun 22 17:10:08 1997 from 151.198.127.2
=> [dave] leaves at Sun Jun 22 17:10:17 1997
=> [David] joins at Sun Jun 22 19:47:42 1997 from 151.198.127.1
![]() | wachsmut=> Hi David ... early today? |
![]() | David=> yes, hello, how are you |
![]() | wachsmut=> sorry ... I am fine, thanks, what's up on your end ? |
![]() | David=> Sunday..getting ready for Monday |
![]() | wachsmut=> I see ... if I'd asked on Monday, I think I know what you would say ... |
![]() | David=> ha ha |
![]() | wachsmut=> trying ... |
![]() | wachsmut=> hope some more people will join soon ... what time do you have ? |
![]() | David=> 7:59 |
![]() | David=> 8:00 |
![]() | wachsmut=> okay, there's still hope then - but getting close ! |
![]() | David=> Did you get my email about the chat program |
![]() | wachsmut=> yes, sorry I did not reply sooner ... |
![]() | wachsmut=> sure, you can have the program ... |
![]() | wachsmut=> both, the client and the server package, if you like. |
![]() | David=> I don't have access to work email from home..can you believe it |
![]() | wachsmut=> I still have to modify it slightly, but you're welcome to use it. |
![]() | wachsmut=> Actually, at Seton Hall they only very recently established this |
=> [Rob] joins at Sun Jun 22 20:00:47 1997 from 128.122.175.201
![]() | wachsmut=> web mail ... before that, no access to email from home ! |
![]() | wachsmut=> Hi Rob .... |
![]() | David=> hi Rob |
![]() | Rob=> hi all! |
![]() | wachsmut=> Thanks for your questions ... hope I answered them .... |
![]() | wachsmut=> and "all" is relative, in this case ! |
![]() | Rob=> Yes... you just made one mistake in your responses.... |
![]() | wachsmut=> AGAIN .... |
![]() | Rob=> You said that I was right "as usual"... |
![]() | wachsmut=> oh, I see .... just trying to be nice ! |
![]() | Rob=> This, according to my wife, is INCORRECT! |
![]() | wachsmut=> Well, wives don't always have to be nice ! |
![]() | Rob=> she usually is..... |
![]() | wachsmut=> just kidding .... |
=> [Don] joins at Sun Jun 22 20:02:24 1997 from 206.173.45.59
![]() | David=> be carefull |
![]() | Rob=> anyway, yes, thanks for your answers.... |
![]() | wachsmut=> Alright, it's now 8:03 on my watch .... |
![]() | wachsmut=> and, just on cue, there's Don ... |
![]() | David=> hi Don |
![]() | Don=> hello |
![]() | wachsmut=> Let's wait until 8:05 and then we start "for real" .... |
![]() | wachsmut=> 8:04 now ... and ticking ... |
![]() | wachsmut=> 8:05 - here we go ....... |
![]() | wachsmut=> First, thanks for coming (...) today I am actually in Middlebury, |
![]() | wachsmut=> Vermont, taking "Mobile computing" literally. |
![]() | wachsmut=> I did find a computer, though, so ... here we are ! |
![]() | wachsmut=> I did put up one more lecture on "try-catch", |
![]() | Rob=> Should be nice there. |
![]() | wachsmut=> including a "NumberField" ... that would make another nice |
![]() | wachsmut=> portfolio piece, suitably modified. |
![]() | David=> did not review it yet |
![]() | wachsmut=> that's okay .... |
![]() | wachsmut=> Then I started a sequence of notes on "Networking", |
![]() | David=> cool |
![]() | wachsmut=> and that's what we want to kind of summarize in advance today. |
![]() | wachsmut=> First, though, as usual, are they any questions ? |
=> [Jenn] joins at Sun Jun 22 20:05:33 1997 from 199.174.171.228
![]() | Don=> I dont know if it really needs |
![]() | Don=> to be discussed here, but ZI am having |
![]() | wachsmut=> (hi jenn, ...) |
![]() | Don=> trouble telnetting my portfolio pieces over. |
![]() | Don=> I keep getting something like 'host not available' |
![]() | Jenn=> hi |
![]() | wachsmut=> I see ... actually, the correct terminology would be: |
![]() | Don=> or something like that |
![]() | wachsmut=> ftp'ing the stuff over. |
![]() | wachsmut=> That's okay, we'll discuss that during our second-last meeting |
![]() | Don=> yeah that's whaT I mean |
![]() | wachsmut=> on Wed..... which is when you need to start getting your |
![]() | wachsmut=> portfolio ready. I'll have a brief handout for that, too, so |
![]() | wachsmut=> maybe that helps. |
![]() | Don=> okay. thanks |
![]() | wachsmut=> If you like, though, send me an email, and I'll give you some |
![]() | wachsmut=> advanced instructions..... |
![]() | Don=> i'll wait until thenm and go from there |
![]() | wachsmut=> Great .... anything else ? |
![]() | Don=> not from here |
![]() | wachsmut=> anywhere else ? |
![]() | Rob=> Am I correct in saying that the Dimension preferredSize is used .. |
![]() | Rob=> only for applications, not for applets? |
![]() | wachsmut=> (is this a lawyer talking) |
![]() | wachsmut=> Actually, |
![]() | wachsmut=> public dimension preferredSize is used for anything that |
![]() | wachsmut=> extends Component (I think). It is used |
![]() | wachsmut=> by a layout manager to ask for the preferred size of the component, |
![]() | wachsmut=> so that it can be laid out properly. |
![]() | wachsmut=> You *only* need to override that, if |
![]() | wachsmut=> you design your own reusable classes, and your class |
![]() | wachsmut=> extends something that does not, by default, have a proper |
![]() | wachsmut=> preferredSize method. |
![]() | wachsmut=> For example: |
![]() | wachsmut=> NumberField extends TextField |
![]() | wachsmut=> - TextField does have a nice preferredSize method already, no |
![]() | wachsmut=> need to override it. |
![]() | wachsmut=> - ColorSelector extends Canvas |
![]() | wachsmut=> that does need a 'preferredSize' method so that |
![]() | wachsmut=> it can be laid out correctly. |
![]() | wachsmut=> Does that help ? |
![]() | Rob=> It seems to me that that the size of an applet will be decided itself will be.... |
![]() | Rob=> decided by the html file that refers to the applet... however, I guess if the |
![]() | Rob=> applet is composed of (among other things) a canvas, then we should use |
![]() | Rob=> preferred size for the canvas?.... |
![]() | wachsmut=> Well, yes, but not always. |
![]() | wachsmut=> If, for example, you add a canvas into a BorderLayout, and in the Center |
![]() | wachsmut=> of it, it will automatically get all remaining space. |
![]() | wachsmut=> But if you enter a Canvas in a borderLayout in the "North", then |
![]() | wachsmut=> without a 'preferredSize' method it may not show up at all - since |
![]() | wachsmut=> the default dimesions are height = width = 0 ... possibly. |
![]() | wachsmut=> If you write 'larger' applets or programs, you will find that |
![]() | wachsmut=> much of your code - and headaches - have to be devoted to |
![]() | wachsmut=> sizing things correctly. preferredSize is just one of the things to |
![]() | wachsmut=> worry about. |
![]() | wachsmut=> And, by the way, since an applet is not added to anything by |
![]() | wachsmut=> by a layout manager, an applet does not need that method. |
![]() | wachsmut=> But, the thing *added to* an applet may need it. |
![]() | Rob=> does a frame need it? |
![]() | wachsmut=> Anything else ? Say "no" if you're okay for now, please.... |
![]() | wachsmut=> |
![]() | wachsmut=> Sorry, Rob .... |
![]() | wachsmut=> thinking .... |
![]() | Rob=> no problem... carry on. |
![]() | wachsmut=> I don't know ..... |
![]() | wachsmut=> actually, no. |
![]() | wachsmut=> a Frame is not added via a layout manager, so no, it does not need |
![]() | wachsmut=> it. |
![]() | Rob=> that makes sense |
![]() | wachsmut=> Anyone else ? |
![]() | Don=> no |
![]() | Jenn=> no |
![]() | wachsmut=> David ? |
![]() | wachsmut=> there's no game on today, so ..... hope everyone is "listening" |
![]() | wachsmut=> carefully -:) |
![]() | David=> |
![]() | wachsmut=> Anyway, here's what we want to do today: |
![]() | wachsmut=> I have preparred a small applet that |
![]() | David=> something funky going on |
![]() | wachsmut=> starts our "Networking" lectures .... |
![]() | David=> never mind |
![]() | wachsmut=> I'll bring it up on your screens, please follow the instructions, then |
![]() | wachsmut=> come back here and say "Done", or "Thanks" or "Whatever" ..... |
![]() | wachsmut=> alright, here we go: |
![]() | David=> ok |
![]() | David=> back |
![]() | wachsmut=> Alright, I hope you're back, and it worked so far .... |
![]() | Jenn=> done... |
![]() | wachsmut=> great, David. |
![]() | Rob=> back |
![]() | Don=> back |
![]() | wachsmut=> Perfect .... |
![]() | wachsmut=> That applet shows how to display - within an applet - something |
![]() | wachsmut=> to the status line of your web browser. |
![]() | wachsmut=> We will add a few things later to that applet, for now, |
![]() | wachsmut=> please compile it, create an HTML document with an APPLET |
![]() | wachsmut=> tag that sets Width=300 and height=300. Then |
![]() | wachsmut=> open that HTML file in Netscape (not appletviewer), and click on the |
![]() | wachsmut=> button. I give you 7 minutes for that ..... |
![]() | wachsmut=> alright, go for it (if you have questions, I'll be here).... |
![]() | wachsmut=> By the way, open another Web browser first, so that you |
![]() | wachsmut=> don't get disconnected from this Web window chat session .... |
![]() | wachsmut=> know what I mean .... |
=> [David] leaves at Sun Jun 22 20:24:42 1997
![]() | wachsmut=> let me know when you're back, please ... |
=> [David] joins at Sun Jun 22 20:26:44 1997 from 151.198.127.1
![]() | David=> hello |
![]() | Rob=> back |
![]() | wachsmut=> one down, three to go ... did it work, David ? |
![]() | wachsmut=> Did it work, Rob + David ? |
![]() | David=> message "you clicked button" in browser..yes |
![]() | Don=> back |
![]() | Jenn=> BACK.. |
![]() | wachsmut=> Great ... looking good, then ! |
![]() | Rob=> there was a "show message" button, and when clicked it said as much... |
![]() | Rob=> in the status bar. |
![]() | wachsmut=> Very nice - exactly what had to happen .... |
![]() | wachsmut=> Nothing much, but this is a very easy way to display |
![]() | wachsmut=> a message to people from within an applet.... |
![]() | wachsmut=> simply say "showStatus("whatever you like");" |
![]() | wachsmut=> and that will appear in the status bar ...... |
![]() | wachsmut=> Alright, now let's try to use a button inside an applet |
![]() | wachsmut=> to direct our web browser to display some web page |
![]() | wachsmut=> (like what I did when I "showed" you the previous web page with |
![]() | wachsmut=> the links"). |
![]() | wachsmut=> It's about 10 lines we have to add to the code ..... |
![]() | wachsmut=> here are the instructions...... |
![]() | wachsmut=> 1. add another "private Button showURL = new Button("Show URL"); |
![]() | wachsmut=> to the fields |
![]() | wachsmut=> Also add two more fields like this: |
![]() | wachsmut=> "private URL url = null; |
![]() | wachsmut=> private AppletContext browser;" |
![]() | wachsmut=> So much for the fields |
![]() | wachsmut=> 2. in the "init" method, add the following lines: |
![]() | wachsmut=> "buttons.add(showURL);" |
![]() | wachsmut=> and, more complicated: |
![]() | wachsmut=> browser = getAppletContext(); |
![]() | wachsmut=> and finally: |
![]() | wachsmut=> try { url = new URL("http://www.yahoo.com"); } |
![]() | wachsmut=> catch(Exception e) { } |
![]() | wachsmut=> 3. Add to the "action" method the following, after the first IF is done: |
![]() | wachsmut=> if (e.target == showURL) |
![]() | wachsmut=> browser.showDocument(url); |
![]() | wachsmut=> Alright, go for it .... let me know if you need assistance..... |
![]() | wachsmut=> I FORGOT - CHANGE THE NAME TO NetIntro2 and save as |
![]() | wachsmut=> NetIntro2.java ! Finally, compile, add another <APPLET CODE=NetIntro2.class...> |
![]() | wachsmut=> tag to your previous HTML document, and check it out. |
![]() | Don=> how long? |
![]() | wachsmut=> whatever it takes ... if you're not done in, say, 7 minutes, let |
![]() | wachsmut=> me know and I'll "show" you the modified applet for you to save .... |
![]() | wachsmut=> Go for it - if you're not already gone for it .... |
![]() | wachsmut=> (hint: you can copy-and-paste from this chat screen ....) |
![]() | wachsmut=> (control-C to copy .... -:) |
![]() | wachsmut=> Alright, how's it coming ? |
![]() | wachsmut=> anybody need some help ? |
=> [David] leaves at Sun Jun 22 20:46:02 1997
![]() | wachsmut=> hmmm ... alright, sombody "disconnected"... if we're lucky, that |
![]() | wachsmut=> means that it worked ! |
=> [David] joins at Sun Jun 22 20:46:36 1997 from 151.198.127.1
![]() | wachsmut=> or, it means that David had to go .... |
![]() | wachsmut=> Alright, David, did it work ?????? |
![]() | David=> works! |
![]() | wachsmut=> Cool .... |
![]() | David=> very cool |
![]() | wachsmut=> let's wait for the others, for just a few minutes . |
![]() | Don=> back, but i made a stupid mistake |
![]() | wachsmut=> No problem ..... |
![]() | Don=> saved as Netitnro2 instead of |
![]() | Don=> NetIntro2 |
![]() | wachsmut=> it happens ... -:) |
![]() | Don=> took me long time to see that, will get it to work after class |
![]() | wachsmut=> Let's see if we hear from Rob and Jenn soon ..... |
![]() | wachsmut=> No problem, Don .... I'll also "show" you the two files |
![]() | wachsmut=> so you can download them and play with them ..... |
![]() | wachsmut=> Let's see, one more minute, then we'll continue ..... |
![]() | Rob=> well, i've got enough errors in mine to keep me busy for a couple of days.... |
![]() | wachsmut=> Rob, Jenn, perhaps you can rejoin and work later on your applets ..... |
![]() | Rob=> well, maybe not that long, but I'll have to check it later. |
![]() | wachsmut=> Alright, these two examples show that it is easy |
![]() | wachsmut=> to display a status line for short messages from an applet, |
![]() | wachsmut=> and in case your applet needs to display a lot of formatted text |
![]() | wachsmut=> - like a help screen for example - you can write |
![]() | wachsmut=> that page as an HTML document, and then show it when a user |
![]() | wachsmut=> clicks on the button. |
![]() | wachsmut=> Of course, plenty other uses for it. |
![]() | wachsmut=> For those people for whom it did not work, what should have happend |
![]() | wachsmut=> is: |
![]() | wachsmut=> another buttons show up, and clicking on it brings up the |
![]() | wachsmut=> Yahoo page in place of the current page (with the applets). But, |
![]() | wachsmut=> you can do better than that, easily: |
![]() | wachsmut=> you can bring up a web page in a new window, leaving your old |
![]() | wachsmut=> window untouched. |
![]() | wachsmut=> And, it's simple: |
![]() | wachsmut=> change: |
![]() | wachsmut=> browser.showDocument(url); |
![]() | wachsmut=> to |
![]() | wachsmut=> browser.showDocument(url,"_new"); |
![]() | wachsmut=> and your URL will display in another window. |
![]() | wachsmut=> Don't try it now, though ..... |
![]() | wachsmut=> Alright, the last example I prepared was to display an image inside |
![]() | wachsmut=> a web page. |
![]() | wachsmut=> Rather than showing you how to modify your code, let me "Show" you |
![]() | wachsmut=> the entire applet - you can save it and study it later ..... |
![]() | wachsmut=> hang on .... (20 seconds, I need to find it first) ..... |
![]() | wachsmut=> alright, got it .... here we go ... please save as "NetIntro4.java" |
![]() | wachsmut=> then come back for conclusion .... |
![]() | wachsmut=> here we go ... |
![]() | wachsmut=> Alright, got it ? |
![]() | Don=> back |
![]() | Rob=> yep |
![]() | wachsmut=> Great .... the last "easy" thing is how to load a sound ..... |
![]() | wachsmut=> but not now ! |
![]() | David=> back |
![]() | wachsmut=> I've added some notes already, with more details |
![]() | wachsmut=> about what we did today..... I'll add more about loading |
![]() | wachsmut=> images and sounds tonight - or actually tomorrow ..... |
![]() | wachsmut=> That's all, folks ..... |
![]() | wachsmut=> if you like, compile NetIntro4.java, in the same directory as the image |
![]() | wachsmut=> add the appriate <APPLET> tag to your HTML document, and with a click |
![]() | wachsmut=> of a button, you should - hopefully - see the image ! |
![]() | wachsmut=> Anyway ..... |
![]() | wachsmut=> I'll be hanging around for a little more, if you like to try, or have |
![]() | wachsmut=> other questions, go ahead. Other than that, class is "officially dismissed" ! |
![]() | Don=> Thanks, I'll post if I have any questions. |
![]() | Don=> byy |
![]() | wachsmut=> Sure, bye .... |
![]() | Don=> whoopp I mean bye |
![]() | wachsmut=> I meant byy.... |
![]() | Don=> ha ha |
=> [Don] leaves at Sun Jun 22 20:58:51 1997
![]() | Rob=> ok...good night. |
=> [Rob] leaves at Sun Jun 22 20:59:38 1997
![]() | wachsmut=> Night, Rob ... oops, already gone ! |
![]() | wachsmut=> Jenn, David, are you still there ? |
![]() | David=> yes, trying #4 |
=> [David] leaves at Sun Jun 22 21:01:48 1997
![]() | wachsmut=> Jenn, sorry, are you still there ? |
=> [David] joins at Sun Jun 22 21:02:42 1997 from 151.198.127.1
![]() | David=> alright , see you Wensday, have a good one |
![]() | wachsmut=> same to you, bye .... |
=> [David] leaves at Sun Jun 22 21:04:21 1997
![]() | wachsmut=> Jenn, you still there ????? |
![]() | wachsmut=> JENN ???? |
![]() | wachsmut=> Guess not .... bye, then ..... |