Java GUI Sample Classes

Instruction:
Copy and Compile all these 8 sample classes. Then answer the given Machine Problem
1 // Fig. 12.6: ShowColors2.java
2 // Choosing colors with JColorChooser.
3 import java.awt.*;
4 import java.awt.event.*;
5 import javax.swing.*;
6
7 public class ShowColors2 extends JFrame {
8 private JButton changeColorButton;
9 private Color color = Color.LIGHT_GRAY;
10 private Container container;
11
12 // set up GUI
13 public ShowColors2()
14 {
15 super( "Using JColorChooser" );
16
17 container = getContentPane();
18 container.setLayout( new FlowLayout() );
19
20 // set up changeColorButton and register its event handler
21 changeColorButton = new JButton( "Change Color" );
22 changeColorButton.addActionListener(
23
24 new ActionListener() { // anonymous inner class
25
26 // display JColorChooser when user clicks button
27 public void actionPerformed( ActionEvent event )
28 {
29 color = JColorChooser.showDialog(
30 ShowColors2.this, "Choose a color", color );
31
32 // set default color, if no color is returned
33 if ( color == null )
34 color = Color.LIGHT_GRAY;
35
36 // change content pane's background color
37 container.setBackground( color );
38 }
39
40 } // end anonymous inner class
41
42 ); // end call to addActionListener
43
44 container.add( changeColorButton );
45
46 setSize( 400, 130 );
47 setVisible( true );
48
49 } // end ShowColor2 constructor
50
51 // execute application
52 public static void main( String args[] )
53 {
54 ShowColors2 application = new ShowColors2();
55 application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
56 }
57
58 } // end class ShowColors2


------------------------------------------------------------

1 // Fig. 12.9: Fonts.java
2 // Using fonts.
3 import java.awt.*;
4 import javax.swing.*;
5
6 public class Fonts extends JFrame {
7
8 // set window's title bar and dimensions
9 public Fonts()
10 {
11 super( "Using fonts" );
12
13 setSize( 420, 125 );
14 setVisible( true );
15 }
16
17 // display Strings in different fonts and colors
18 public void paint( Graphics g )
19 {
20 // call superclass's paint method
21 super.paint( g );
22
23 // set font to Serif (Times), bold, 12pt and draw a string
24 g.setFont( new Font( "Serif", Font.BOLD, 12 ) );
25 g.drawString( "Serif 12 point bold.", 20, 50 );
26
27 // set font to Monospaced (Courier), italic, 24pt and draw a string
28 g.setFont( new Font( "Monospaced", Font.ITALIC, 24 ) );
29 g.drawString( "Monospaced 24 point italic.", 20, 70 );
30
31 // set font to SansSerif (Helvetica), plain, 14pt and draw a string
32 g.setFont( new Font( "SansSerif", Font.PLAIN, 14 ) );
33 g.drawString( "SansSerif 14 point plain.", 20, 90 );
34
35 // set font to Serif (Times), bold/italic, 18pt and draw a string
36 g.setColor( Color.RED );
37 g.setFont( new Font( "Serif", Font.BOLD + Font.ITALIC, 18 ) );
38 g.drawString( g.getFont().getName() + " " + g.getFont().getSize() +
39 " point bold italic.", 20, 110 );
40
41 } // end method paint
42
43 // execute application
44 public static void main( String args[] )
45 {
46 Fonts application = new Fonts();
47 application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
48 }
49
50 } // end class Fonts

---------------------------------------------

1 // Fig. 12.12: Metrics.java
2 // FontMetrics and Graphics methods useful for obtaining font metrics.
3 import java.awt.*;
4 import javax.swing.*;
5
6 public class Metrics extends JFrame {
7
8 // set window's title bar String and dimensions
9 public Metrics()
10 {
11 super( "Demonstrating FontMetrics" );
12
13 setSize( 510, 210 );
14 setVisible( true );
15 }
16
17 // display font metrics
18 public void paint( Graphics g )
19 {
20 super.paint( g ); // call superclass's paint method
21
22 g.setFont( new Font( "SansSerif", Font.BOLD, 12 ) );
23 FontMetrics metrics = g.getFontMetrics();
24 g.drawString( "Current font: " + g.getFont(), 10, 40 );
25 g.drawString( "Ascent: " + metrics.getAscent(), 10, 55 );
26 g.drawString( "Descent: " + metrics.getDescent(), 10, 70 );
27 g.drawString( "Height: " + metrics.getHeight(), 10, 85 );
28 g.drawString( "Leading: " + metrics.getLeading(), 10, 100 );
29
30 Font font = new Font( "Serif", Font.ITALIC, 14 );
31 metrics = g.getFontMetrics( font );
32 g.setFont( font );
33 g.drawString( "Current font: " + font, 10, 130 );
34 g.drawString( "Ascent: " + metrics.getAscent(), 10, 145 );
35 g.drawString( "Descent: " + metrics.getDescent(), 10, 160 );
36 g.drawString( "Height: " + metrics.getHeight(), 10, 175 );
37 g.drawString( "Leading: " + metrics.getLeading(), 10, 190 );
38
39 } // end method paint
40
41 // execute application
42 public static void main( String args[] )
43 {
44 Metrics application = new Metrics();
45 application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
46 }
47
48 } // end class Metrics

--------------------------

1 // Fig. 12.14: LinesRectsOvals.java
2 // Drawing lines, rectangles and ovals.
3 import java.awt.*;
4 import javax.swing.*;
5
6 public class LinesRectsOvals extends JFrame {
7
8 // set window's title bar String and dimensions
9 public LinesRectsOvals()
10 {
11 super( "Drawing lines, rectangles and ovals" );
12
13 setSize( 400, 165 );
14 setVisible( true );
15 }
16
17 // display various lines, rectangles and ovals
18 public void paint( Graphics g )
19 {
20 super.paint( g ); // call superclass's paint method
21
22 g.setColor( Color.RED );
23 g.drawLine( 5, 30, 350, 30 );
24
25 g.setColor( Color.BLUE );
26 g.drawRect( 5, 40, 90, 55 );
27 g.fillRect( 100, 40, 90, 55 );
28
29 g.setColor( Color.CYAN );
30 g.fillRoundRect( 195, 40, 90, 55, 50, 50 );
31 g.drawRoundRect( 290, 40, 90, 55, 20, 20 );
32
33 g.setColor( Color.YELLOW );
34 g.draw3DRect( 5, 100, 90, 55, true );
35 g.fill3DRect( 100, 100, 90, 55, false );
36
37 g.setColor( Color.MAGENTA );
38 g.drawOval( 195, 100, 90, 55 );
39 g.fillOval( 290, 100, 90, 55 );
40
41 } // end method paint
42
43 // execute application
44 public static void main( String args[] )
45 {
46 LinesRectsOvals application = new LinesRectsOvals();
47 application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
48 }
49
50 } // end class LinesRectsOvals

-------------------------------------------

1 // Fig. 12.19: DrawArcs.java
2 // Drawing arcs.
3 import java.awt.*;
4 import javax.swing.*;
5
6 public class DrawArcs extends JFrame {
7
8 // set window's title bar String and dimensions
9 public DrawArcs()
10 {
11 super( "Drawing Arcs" );
12
13 setSize( 300, 170 );
14 setVisible( true );
15 }
16
17 // draw rectangles and arcs
18 public void paint( Graphics g )
19 {
20 super.paint( g ); // call superclass's paint method
21
22 // start at 0 and sweep 360 degrees
23 g.setColor( Color.YELLOW );
24 g.drawRect( 15, 35, 80, 80 );
25 g.setColor( Color.BLACK );
26 g.drawArc( 15, 35, 80, 80, 0, 360 );
27
28 // start at 0 and sweep 110 degrees
29 g.setColor( Color.YELLOW );
30 g.drawRect( 100, 35, 80, 80 );
31 g.setColor( Color.BLACK );
32 g.drawArc( 100, 35, 80, 80, 0, 110 );
33
34 // start at 0 and sweep -270 degrees
35 g.setColor( Color.YELLOW );
36 g.drawRect( 185, 35, 80, 80 );
37 g.setColor( Color.BLACK );
38 g.drawArc( 185, 35, 80, 80, 0, -270 );
39
40 // start at 0 and sweep 360 degrees
41 g.fillArc( 15, 120, 80, 40, 0, 360 );
42
43 // start at 270 and sweep -90 degrees
44 g.fillArc( 100, 120, 80, 40, 270, -90 );
45
46 // start at 0 and sweep -270 degrees
47 g.fillArc( 185, 120, 80, 40, 0, -270 );
48
49 } // end method paint
50
51 // execute application
52 public static void main( String args[] )
53 {
54 DrawArcs application = new DrawArcs();
55 application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
56 }
57
58 } // end class DrawArcs


-----------------------------------

1 // Fig. 12.21: DrawPolygons.java
2 // Drawing polygons.
3 import java.awt.*;
4 import javax.swing.*;
5
6 public class DrawPolygons extends JFrame {
7
8 // set window's title bar String and dimensions
9 public DrawPolygons()
10 {
11 super( "Drawing Polygons" );
12
13 setSize( 275, 230 );
14 setVisible( true );
15 }
16
17 // draw polygons and polylines
18 public void paint( Graphics g )
19 {
20 super.paint( g ); // call superclass's paint method
21
22 int xValues[] = { 20, 40, 50, 30, 20, 15 };
23 int yValues[] = { 50, 50, 60, 80, 80, 60 };
24 Polygon polygon1 = new Polygon( xValues, yValues, 6 );
25
26 g.drawPolygon( polygon1 );
27
28 int xValues2[] = { 70, 90, 100, 80, 70, 65, 60 };
29 int yValues2[] = { 100, 100, 110, 110, 130, 110, 90 };
30
31 g.drawPolyline( xValues2, yValues2, 7 );
32
33 int xValues3[] = { 120, 140, 150, 190 };
34 int yValues3[] = { 40, 70, 80, 60 };
35
36 g.fillPolygon( xValues3, yValues3, 4 );
37
38 Polygon polygon2 = new Polygon();
39 polygon2.addPoint( 165, 135 );
40 polygon2.addPoint( 175, 150 );
41 polygon2.addPoint( 270, 200 );
42 polygon2.addPoint( 200, 220 );
43 polygon2.addPoint( 130, 180 );
44
45 g.fillPolygon( polygon2 );
46
47 } // end method paint
48
49 // execute application
50 public static void main( String args[] )
51 {
52 DrawPolygons application = new DrawPolygons();
53 application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
54 }
55
56 } // end class DrawPolygons

-----------------------

1 // Fig. 12.22: Shapes.java
2 // Demonstrating some Java2D shapes.
3 import java.awt.*;
4 import java.awt.geom.*;
5 import java.awt.image.*;
6 import javax.swing.*;
7
8 public class Shapes extends JFrame {
9
10 // set window's title bar String and dimensions
11 public Shapes()
12 {
13 super( "Drawing 2D shapes" );
14
15 setSize( 425, 160 );
16 setVisible( true );
17 }
18
19 // draw shapes with Java2D API
20 public void paint( Graphics g )
21 {
22 super.paint( g ); // call superclass's paint method
23
24 Graphics2D g2d = ( Graphics2D ) g; // cast g to Graphics2D
25
26 // draw 2D ellipse filled with a blue-yellow gradient
27 g2d.setPaint( new GradientPaint( 5, 30, Color.BLUE, 35, 100,
28 Color.YELLOW, true ) );
29 g2d.fill( new Ellipse2D.Double( 5, 30, 65, 100 ) );
30
31 // draw 2D rectangle in red
32 g2d.setPaint( Color.RED );
33 g2d.setStroke( new BasicStroke( 10.0f ) );
34 g2d.draw( new Rectangle2D.Double( 80, 30, 65, 100 ) );
35
36 // draw 2D rounded rectangle with a buffered background
37 BufferedImage buffImage = new BufferedImage( 10, 10,
38 BufferedImage.TYPE_INT_RGB );
39
40 Graphics2D gg = buffImage.createGraphics();
41 gg.setColor( Color.YELLOW ); // draw in yellow
42 gg.fillRect( 0, 0, 10, 10 ); // draw a filled rectangle
43 gg.setColor( Color.BLACK ); // draw in black
44 gg.drawRect( 1, 1, 6, 6 ); // draw a rectangle
45 gg.setColor( Color.BLUE ); // draw in blue
46 gg.fillRect( 1, 1, 3, 3 ); // draw a filled rectangle
47 gg.setColor( Color.RED ); // draw in red
48 gg.fillRect( 4, 4, 3, 3 ); // draw a filled rectangle
49
50 // paint buffImage onto the JFrame
51 g2d.setPaint( new TexturePaint( buffImage,
52 new Rectangle( 10, 10 ) ) );
53 g2d.fill( new RoundRectangle2D.Double( 155, 30, 75, 100, 50, 50 ) );
54
55 // draw 2D pie-shaped arc in white
56 g2d.setPaint( Color.WHITE );
57 g2d.setStroke( new BasicStroke( 6.0f ) );
58 g2d.draw( new Arc2D.Double( 240, 30, 75, 100, 0, 270, Arc2D.PIE ) );
59
60 // draw 2D lines in green and yellow
61 g2d.setPaint( Color.GREEN );
62 g2d.draw( new Line2D.Double( 395, 30, 320, 150 ) );
63
64 float dashes[] = { 10 };
65
66 g2d.setPaint( Color.YELLOW );
67 g2d.setStroke( new BasicStroke( 4, BasicStroke.CAP_ROUND,
68 BasicStroke.JOIN_ROUND, 10, dashes, 0 ) );
69 g2d.draw( new Line2D.Double( 320, 30, 395, 150 ) );
70
71 } // end method paint
72
73 // execute application
74 public static void main( String args[] )
75 {
76 Shapes application = new Shapes();
77 application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
78 }
79
80 } // end class Shapes


-----------------

1 // Fig. 12.23: Shapes2.java
2 // Demonstrating a general path.
3 import java.awt.*;
4 import java.awt.geom.*;
5 import javax.swing.*;
6
7 public class Shapes2 extends JFrame {
8
9 // set window's title bar String, background color and dimensions
10 public Shapes2()
11 {
12 super( "Drawing 2D Shapes" );
13
14 getContentPane().setBackground( Color.WHITE );
15 setSize( 400, 400 );
16 setVisible( true );
17 }
18
19 // draw general paths
20 public void paint( Graphics g )
21 {
22 super.paint( g ); // call superclass's paint method
23
24 int xPoints[] = { 55, 67, 109, 73, 83, 55, 27, 37, 1, 43 };
25 int yPoints[] = { 0, 36, 36, 54, 96, 72, 96, 54, 36, 36 };
26
27 Graphics2D g2d = ( Graphics2D ) g;
28 GeneralPath star = new GeneralPath(); // create GeneralPath object
29
30 // set the initial coordinate of the General Path
31 star.moveTo( xPoints[ 0 ], yPoints[ 0 ] );
32
33 // create the star--this does not draw the star
34 for ( int count = 1; count < xPoints.length; count++ )
35 star.lineTo( xPoints[ count ], yPoints[ count ] );
36
37 star.closePath(); // close the shape
38
39 g2d.translate( 200, 200 ); // translate the origin to (200, 200)
40
41 // rotate around origin and draw stars in random colors
42 for ( int count = 1; count <= 20; count++ ) {
43 g2d.rotate( Math.PI / 10.0 ); // rotate coordinate system
44
45 // set random drawing color
46 g2d.setColor( new Color( ( int ) ( Math.random() * 256 ),
47 ( int ) ( Math.random() * 256 ),
48 ( int ) ( Math.random() * 256 ) ) );
49
50 g2d.fill( star ); // draw filled star
51 }


Post a Comment

0 Comments