Java Quick Reference (page 2)

Plotting a graph
Plot myPlot = new Plot("Title",xMin,xMax,xStep,yMin,yMax,yStep);
     // xStep and yStep are grid line spacings
myPlot.setPointSize(5);    // size in pixels; default is 3
myPlot.setPointShape(Plot.CIRCLE);   // default is SQUARE
myPlot.setPointShape(Plot.COLUMN);   // for column (bar) graphs
myPlot.setColor(;         // (must import java.awt.Color)
myPlot.setConnected(true);           // connect points with lines
Creating a GUI window with text
import java.awt.*;                           // put this at top
Frame myFrame = new Frame("See the label!");     // make a window
Panel myPanel = new Panel();                     // make a panel
Label myLabel = new Label("Hello, world!");      // make a label
myPanel.add(myLabel);                        // put label into panel
myFrame.add(myPanel);                        // put panel into frame
myFrame.pack();                              // size frame to hold contents
myFrame.setVisible(true);                    // and show it!
Creating a push button
import java.awt.event.*;                           // put this at top
Button myButton = new Button("Press me!");         // make a button
myButton.addActionListener(new ActionListener() {  // say what to do
  public void actionPerformed(ActionEvent e) {     //  when button
    System.out.println("Hello, world!");           //  is pressed
myPanel.add(myButton);                      // put button into panel
Scrollbar (for a parameter of type double)
myFrame.setLayout(new GridLayout(0,1));
     // arranges multiple DoubleScrollers in a vertical column
DoubleScroller v0Scroll = new DoubleScroller("v0 in m/s = ",0,50,0.5,20);
     // parameters are min, max, step size, initial value
myFrame.add(v0Scroll);            // (could also add to a Panel)
v0 = v0Scroll.getValue();         // call this when value is needed
Creating a space to draw Put "extends Canvas" into the class declaration, right after the class name. In the constructor method, use "setSize(width,height);" to set the size of the Canvas in pixels, and "setBackground(Color.white)" to set the background color if desired. Create a Panel within a Frame; use "myPanel.add(this);" to add the Canvas to the Panel. Then create a "public void paint(Graphics g)" method, which will be called automatically whenever the Canvas needs to be drawn.
Graphics methods g.setColor(;               draw in a predefined color
g.setColor(new Color(r,g,b));        draw in any color; r,g,b from 0 to 255
g.fillRect(left,top,width,height);   solid rectangle (drawRect draws outline)
g.fillOval(left,top,width,height);   solid oval (drawOval draws outline)
g.drawLine(x1,y1,x2,y2);             draw a line, one pixel wide
g.drawString("Hello",x,y);           draw text starting at x,y
(All coordinates are integers in pixels, with y measured down from the top of the Canvas.)
Creating a thread Put "implements Runnable" into the class declaration. In the constructor method, add the statements "Thread myThread = new Thread(this); myThread.start();". Then create a run method:
public void run() {
  while (true) {                    // loop forever (until interrupted)
    doStuff();                      // shouldn't take > 100 ms
    try { Thread.sleep(20); }       // time in ms
      catch (InterruptedException e) {}
Animation Create a Canvas and a Thread, as described above. Within the loop in the run method, add the statement "repaint();" to ask Java to call your paint (or update) method. Set the sleep duration to give about 20 or 30 frames per second.