1 / 30

Datalogi A 6: 13/10

Datalogi A 6: 13/10. CS A. Java and swing. Graphics programming: Windows with menus Buttons, textfields, scroll panels etc Animations, images, Events from mouse clicks, keyboard etc. Can be quite complicated…. EmptyFrame.java. import javax.swing.JFrame; public class EmptyFrame{

rafi
Télécharger la présentation

Datalogi A 6: 13/10

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Datalogi A 6: 13/10 CS A

  2. Java and swing Graphics programming: • Windows with menus • Buttons, textfields, scroll panels etc • Animations, images, • Events from mouse clicks, keyboard etc. Can be quite complicated…

  3. EmptyFrame.java import 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); } }

  4. EmptyFrame

  5. Add a canvas to the window public 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); .. }

  6. Coordinate system:

  7. drawLine(135,230,335,370)

  8. drawOval(135,230,200,140)

  9. What to draw on a canvas: • Line • Oval/ellipsis • Arcs (parts of an ellipsis • Rectangles • Curves, quadratic, qubic, bezier • Images • Text

  10. The state when drawing: Current Font Current Stroke (width of lines) Current Paint (color of areas) Current Transform (scaling, rotation, deformation of drawings) Current Composite (new items can be made partially transparent Current clipping area. (limit the area in which you can draw)

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

  12. 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);

  13. Paint

  14. Java swing components Windows and components

  15. Example

  16. JLabel A bit of text and/or an icon new JLabel(”Label 1”,new IconImage(..))

  17. JButton A button you can press. Text and/or an image (icon)

  18. Radiobutton and checkbox Press to select or de-select

  19. JTextField TextField: a line where you can enter text using the keyboard.

  20. JTextArea TextArea: a multi-line area for entering text

  21. JSlider A slider: select a value By dragging a knob

  22. JSpinner Select a value by stepping through a bounded range of values

  23. JComboBox Select a value from a drop-down list

  24. JList Select an a value or an interval of values from a list

  25. Horizontal boxes and glue JBox.hbox(…)

  26. Vertical box JBox.vbox(..)

  27. Split pane, scroll pane

  28. Borders Examples:

  29. Making borders t1.setBorder(BorderFactory. createBevelBorder(BevelBorder.RAISED)); t2.setBorder(BorderFactory. createEtchedBorder()); t3.setBorder(BorderFactory. createMatteBorder(2,5,2,5,Color.red)); t4.setBorder(BorderFactory. createTitledBorder("My Title")); b1.setBorder(BorderFactory. createLineBorder(Color.blue,4));

  30. Next time: events How to get information about user input.

More Related