The following graphics primitives can be easily drawn with Java:
The above output is produced by the following Java code:
import javax.swing.*; import java.awt.*; public class Graph1 { public static void main(String[] args) { SwingApp app = new SwingApp(450, 300); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } class SwingApp extends JFrame { private final DrawPanel panel; // class variable public SwingApp( int width, int height) // class constructor { super(); // call to super class constructor Container pane = super.getContentPane(); // create layout, set colors panel = new DrawPanel(); // add GUI components panel.setBackground(Color.yellow); pane.add(panel); // add here more code for GUI components Toolkit toolkit = Toolkit.getDefaultToolkit(); // optionally position JFrame Dimension screenSize = toolkit.getScreenSize(); // in the middle of the screen super.setLocation((screenSize.width - width)/2, (screenSize.height - height)/2); super.setTitle("Swing app"); // set desired window title super.setSize(width, height); // set desired window size super.setVisible(true); } } class DrawPanel extends JPanel // main window panel { @Override public void paintComponent(Graphics g) { super.paintComponent(g); // must be the 1st line // add here more code for drawing on panel // setting background and foreground colors g.setColor(new Color(220, 220, 220)); g.fillRect(0, 0, getWidth(), getHeight()); g.setColor(Color.red); // draw a line g.drawLine(10, 10, 200, 30); // draw rectangle and filled rectangle g.drawRect(10, 35, 75, 35); g.fillRect(95, 35, 75, 35); // draw rectangles with rounded corners g.drawRoundRect(10, 90, 70, 70, 0, 0); g.drawRoundRect(90, 90, 70, 70, 10, 10); g.drawRoundRect(170, 90, 70, 70, 40, 40); g.drawRoundRect(250, 90, 70, 70, 70, 70); g.fillRoundRect(330, 90, 70, 70, 40, 40); // draw an oval inscribed into a rectangle and a filled oval g.drawRect(10, 170, 100, 60); g.drawOval(10, 170, 100, 60); g.fillOval(130, 170, 100, 60); } } |