Painting in Swing
import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.*; class Paint extends JPanel { Insets ins; Random rand; Paint() { setBorder(BorderFactory.createLineBorder(Color.RED, 5)); rand = new Random(); } protected void paintComponent(Graphics g) { super.paintComponent(g); int x, y, x2, y2; int height = getHeight(); int width = getWidth(); ins = getInsets(); for(int i=0; i < 10; i++) { x = rand.nextInt(width-ins.left); y = rand.nextInt(height-ins.bottom); x2 = rand.nextInt(width-ins.left); y2 = rand.nextInt(height-ins.bottom); g.drawLine(x, y, x2, y2); } } } class Painting { JLabel jlab; Paint p1; Painting() { JFrame jfrm = new JFrame("Paint Demo"); jfrm.setSize(200, 150); jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); p1 = new Paint(); jfrm.add(p1); jfrm.setVisible(true); } public static void main(String args[]) { SwingUtilities.invokeLater(new Runnable() { public void run() { new Painting(); } }); } }
Output: