Plotting a graph |
Plot myPlot = new Plot("Title",xMin,xMax,xStep,yMin,yMax,yStep); // xStep and yStep are grid line spacings myPlot.addPoint(x,y); 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(Color.blue); // (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(Color.red);               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. |