Computer Science A 11: 20/2. Java and swing Graphics programming: Windows with menus Buttons,...

25
Computer Science A 11: 20/2
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    214
  • download

    0

Transcript of Computer Science A 11: 20/2. Java and swing Graphics programming: Windows with menus Buttons,...

Computer Science A 11: 20/2

Java and swingGraphics programming:

• Windows with menus

• Buttons, textfields, scroll panels etc

• Animations, images,

• Events from mouse clicks, keyboard etc.

Can be quite complicated…

EmptyFrame.javaimport javax.swing.JFrame;

public class EmptyFrame{ public static void main(String args[]){ JFrame frame=new JFrame("EmptyFrame"); frame.setSize(600,600); frame.setDefaultCloseOperation(

JFrame.EXIT_ON_CLOSE); frame.setVisible(true); }}

EmptyFrame

Add a canvas to the windowpublic static void main(String args[]){ JFrame frame=new JFrame(); frame.setSize(600,600); frame.setTitle("DrawShapes"); frame.setDefaultCloseOperation(

JFrame.EXIT_ON_CLOSE); JCanvas canvas = new JCanvas(); frame.add(canvas); frame.setVisible(true);

..}

Coordinate system:

drawLine(135,230,335,370)

drawOval(135,230,200,140)

What to draw on a canvas:• Line

• Oval/ellipsis

• Arcs (parts of an ellipsis

• Rectangles

• Curves, quadratic, qubic, bezier

• Images

• Text

The state when drawing:Current FontCurrent Stroke (width of lines)Current Paint (color of areas)Current Transform (scaling, rotation,

deformation of drawings)Current Composite (new items can be made

partially transparentCurrent clipping area. (limit the area in which

you can draw)

setFont(new Font("Serif",Font.BOLD,150));drawString("(GyÑ)",50,200);

Paint canvas.setPaint(Color.red); canvas.fillRect(50,50,100,100); canvas.setPaint(Color.blue); canvas.fillOval(250,50,100,100); canvas.setPaint(Color.green); canvas.fillArc(450,50,100,100,45,270);

canvas.setPaint(new GradientPaint( 50,350,Color.red,450,350,Color.blue)); canvas.fillRect(50,300,500,100);

Paint

More to comeTransformations

Partially transparent

Images

Other components: buttons etc

Events from windows.

Java swing componentsWindows and components

Example

JLabelA bit of text and/or an icon

new JLabel(”Label 1”,new IconImage(..))

JButtonA button you can press.

Text and/or an image (icon)

Radiobutton and checkboxPress to select or de-select

JTextFieldTextField: a line where you can enter text

using the keyboard.

JTextAreaTextArea: a multi-line area for entering text

JSliderA slider: select a value

By dragging a knob

JSpinnerSelect a value

by stepping through

a bounded range

of values

JComboBoxSelect a value from

a drop-down list

JListSelect an a value

or an interval

of values from

a list