1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- package sample.rmi;
-
- import java.applet.*;
- import java.awt.*;
- import java.awt.event.*;
- import javassist.tools.rmi.ObjectImporter;
- import javassist.tools.rmi.ObjectNotFoundException;
- import javassist.tools.web.Viewer;
-
- public class CountApplet extends Applet implements ActionListener {
- private Font font;
- private ObjectImporter importer;
- private Counter counter;
- private AlertDialog dialog;
- private String message;
-
- private String paramButton;
- private String paramName;
-
- public void init() {
- paramButton = getParameter("button");
- paramName = getParameter("name");
- importer = new ObjectImporter(this);
- commonInit();
- }
-
- /* call this method instead of init() if this program is not run
- * as an applet.
- */
- public void applicationInit() {
- paramButton = "OK";
- paramName = "counter";
- Viewer cl = (Viewer)getClass().getClassLoader();
- importer = new ObjectImporter(cl.getServer(), cl.getPort());
- commonInit();
- }
-
- private void commonInit() {
- font = new Font("SansSerif", Font.ITALIC, 40);
- Button b = new Button(paramButton);
- b.addActionListener(this);
- add(b);
- dialog = new AlertDialog();
- message = "???";
- }
-
- public void destroy() {
- dialog.dispose();
- }
-
- public void start() {
- try {
- counter = (Counter)importer.lookupObject(paramName);
- message = Integer.toString(counter.get());
- }
- catch (ObjectNotFoundException e) {
- dialog.show(e.toString());
- }
- }
-
- public void actionPerformed(ActionEvent e) {
- counter.increase();
- message = Integer.toString(counter.get());
- repaint();
- }
-
- public void paint(Graphics g) {
- g.setFont(font);
- g.drawRect(50, 50, 100, 100);
- g.setColor(Color.blue);
- g.drawString(message, 60, 120);
- }
-
- public static void main(String[] args) {
- Frame f = new Frame("CountApplet");
- CountApplet ca = new CountApplet();
- f.add(ca);
- f.setSize(300, 300);
- ca.applicationInit();
- ca.start();
- f.setVisible(true);
- }
- }
|