// DisplayMessageApp.java: // The program can run as an applet or application // package chapter12; import javax.swing.*; import java.awt.BorderLayout; import java.awt.Font; // import chapter10.MessagePanel; public class DisplayMessageApp extends JApplet { private String message = "A default message"; // Message to display private int x = 20; // Default x coordinate private int y = 20; // Default y coordinate // Determine if it is application private boolean isStandalone = false; /**Initialize the applet*/ public void init() { if (!isStandalone) { // Get parameter values from the HTML file message = getParameter("MESSAGE"); x = Integer.parseInt(getParameter("X")); y = Integer.parseInt(getParameter("Y")); } // Create a message panel MessagePanel messagePanel = new MessagePanel(message); messagePanel.setFont(new Font("SansSerif", Font.BOLD, 20)); messagePanel.setXCoordinate(x); messagePanel.setYCoordinate(y); // Add the message panel to the applet getContentPane().add(messagePanel); } /**Main method to display a message @param args[0] x coordinate @param args[1] y coordinate @param args[2] message */ public static void main(String[] args) { // Create a frame JFrame frame = new JFrame("DisplayMessageApp"); // Create an instance of the applet DisplayMessageApp applet = new DisplayMessageApp(); // It runs as an application applet.isStandalone = true; // Get parameters from the command line applet.getCommandLineParameters(args); // Add the applet instance to the frame frame.getContentPane().add(applet, BorderLayout.CENTER); // Invoke init() and start() applet.init(); applet.start(); // Display the frame frame.setSize(300, 300); // frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } /**Get command line parameters*/ private void getCommandLineParameters(String[] args) { // Check usage and get x, y and message if (args.length != 3) { System.out.println( "Usage: java DisplayMessageApp x y message"); System.exit(0); } else { x = Integer.parseInt(args[0]); y = Integer.parseInt(args[1]); message = args[2]; } } }