1. Příklad uživatelského formuláře. Do formuláře je možné zadat celkem 4 různé typy údajů
|
|
- Kamil Novotný
- před 7 lety
- Počet zobrazení:
Transkript
1 Grafika 2D 1
2 Obsah 1. Příklad uživatelského formuláře 2. Úvod 3. Metody paint() repaint() 4. Práce s barvami 5. Práce s fonty 6. Správa fontů metriky fontů 7. Kresleníčar, obdélníků a oválů 8. Kreslení výsečí 9. Kreslení polygonů a lomených čar 10. Třída JTable 2
3 1. Příklad uživatelského formuláře Do formuláře je možné zadat celkem 4 různé typy údajů JList vybrat jméno ze seznamu (státu) JTextField jméno a JRadioButton indikace svobodný / ženatý, vdaný JTextArea oblast pro poznámky JButton tlačítka JPanel pro rozvržení komponent 3
4 Příklad uživatelského formuláře Třída MiscGUI implementuje rozhraní ActionListener pro svá tři tlačítka rozvržení okna: BorderLayout top, left, bottom oblasti jsou obsazeny s JPanel center komponenta JTextArea víceřádkový editor top - tlačítka: JPanel má rozvržení FlowLayout left JLabel, JList JPanel má rozvržení BoxLayout, JList zapouzdřuje tzv. výběrový model 4
5 Příklad uživatelského formuláře 5
6 Příklad uživatelského formuláře Bottom JTextFields a JRadioButton JPanel má rozvržení FlowLayout JTextField jméno, Center JTextArea textová oblast pro zápis komentáře 6
7 import javax.swing.*; import java.awt awt.*; import java.awt awt.event event.*; class MaceGUI extends JFrame implements ActionListener { private Container pane; private JPanel buttons, misc, stlist; private JList list; private JRadioButton married; private JTextField , name; private JTextArea reasons; //tridni atributy private final static String submit = " Submit "; private final static String clear = " Clear "; private final static String exit = " Exit "; private final static String promptn = "First and last name "; private final static String prompte = " address "; private final static String promptr = " My charisma needs enhancement because"; private final static String[ ] states = { "Illinois " Illinois", "Indiana" Indiana", "Iowa" Iowa", "Kansas", "Minnesota", "Michigan", "Missouri " Missouri", "Nebraska" Nebraska", "Ohio", "Wisconsin" Wisconsin" ; 7
8 public MaceGUI() { super( "Midwest " Association for Charisma Enhancement" ); pane = getcontentpane(); buttons = new JPanel( new FlowLayout() ); misc = new JPanel( new FlowLayout() ); stlist = new JPanel(); married = new JRadioButton( "Married" Married", false ); = new JTextField( prompte ); name = new JTextField( promptn ); reasons = new JTextArea( promptr ); list = new JList( states ); //** Midwest state names init(); setvisible( true ); setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); public void actionperformed( ActionEvent e ) { String cmd = e.getactioncommand getactioncommand(); if ( cmd.equals equals( submit ) ) submitform(); else if ( cmd.equals equals( clear ) ) clearform(); else if ( cmd.equals equals( exit ) ) System.exit( 0 ); 8
9 private void submitform() { String t = (list.getselectedvalue getselectedvalue() == null)? "none" none" : list.getselectedvalue getselectedvalue(). ().tostring tostring(); post( name.gettext gettext(), .gettext gettext(), t, (married married.isselected isselected())? "married" married" : "not maried", reasons.gettext gettext() ); private void clearform() { reasons.settext settext( promptr ); name.settext settext( promptn ); .settext settext( prompte ); married.setselected setselected( false ); list.getselectionmodel getselectionmodel(). ().clearselection clearselection(); //*** For now, a stub function that prints to the standard error. private void post( String n, String e, String s, String m, String r ) { System.err err.println println( n + " " + e + " " + s + "\n"" + m + "\n"" + r ); private void init() { JLabel j; Font f = null; pane.setlayout setlayout( new BorderLayout() ); buttons.setbackground setbackground( Color.gray ); .setfont setfont( f = new Font( "Dialog", Font.BOLD, 12 ) ); name.setfont setfont( f ); reasons.setfont setfont( f ); 9
10 reasons.setlinewrap setlinewrap( true ); misc.add add( name ); misc.add add( ); misc.add add( married ); list.setfont setfont( f ); list.setbackground setbackground( Color.cyan ); list.getselectionmodel getselectionmodel(). ().setselectionmode setselectionmode( ListSelectionModel.SINGLE_SELECTION ); stlist.setlayout setlayout( new BoxLayout( stlist, BoxLayout.Y_AXIS ) ); stlist.add add( j = new JLabel( "Home" state " ) ); j.setfont setfont( f ); j.setforeground setforeground( Color.black ); stlist.add add( list ); addbutton( submit ); addbutton( clear ); addbutton( exit ); pane.add add( buttons, BorderLayout.NORTH ); pane.add add( reasons, BorderLayout.CENTER ); pane.add add( stlist, BorderLayout.WEST ); pane.add add( misc, BorderLayout.SOUTH ); pack(); private void addbutton( String name ) { JButton b = new JButton( name ); b.setfont setfont( new Font( "Dialog", Font.BOLD, 14 ) ); b.addactionlistener addactionlistener( this ); buttons.add add( b ); 10
11 class MaceGUITester { public static void main( String[ ] args ) { new MaceGUI(); 11
12 2. Úvod Třídy a rozhraní 2D grafiky Object Color Component Font FontMetrics Graphics Polygon Classes and interfaces from the Java2D API that appear in package java.awt Graphics2D BasicStroke GradientPaint TexturePaint Classes from the Java2D API that appear in package java.awt.geom GeneralPath Line2D RectangularShape Arc2D Ellipse2D Rectangle2D RoundRectangle2D interface java.awt.paint interface java.awt.shape interface java.awt.stroke 12
13 Úvod Souřadnicový systém Javy Schéma pro identifikaci všech bodů na obrazovce Levý horní roh - souřadnice (0,0) Bod složen z x a y souřadnice 13
14 Systém souřadnic měří se v pixlech (0, 0) +x X a xis (x, y ) +y Y a xis 14
15 3. Metody Paint() Repaint() Když se má komponenta poprvé objevit v okně, musí být nakreslena metoda paint() Metoda paint() je součástí třídy Component ta očekává argument typu Graphics Abstraktním třída Graphics je nadtřídou pro třídy grafického kontextu mají informace pro kreslení Později požadavek na znovu nakreslení komponenty (repaint()) např. drawstring() řetězec může být překreslen jiným řetězcem 15
16 Metody Paint() Repaint() Programátor může při repaint() opět zavolat metodu paint(), ale: metoda repaint() neočekává žádné argumenty a volá metodu update() s odpovídajícím grafickým kontextem a metoda update() volá metodu paint() každá komponenta má dvojici metod validate(), invalidate() jenž mohou být vyvolány, k zabezpečení změn ve vlastnostech (atributech) komponenty viz následující příklad metoda actionperformed() 16
17 import javax.swing.*; import java.awt awt.*; import java.awt awt.event event.*; class OneButton extends JFrame { private Container c; private JButton b; private String msg1, msg2, displayedmsg; private Color fillcolor = Color.white white; private boolean toggle; private Font f; private int count; public OneButton() { super( "Repaint Example" ); c = getcontentpane(); displayedmsg = msg1 = "Hello" Hello, world!"; msg2 = "What " What, me worry?"; b = new JButton( " Toggle " ); b.addactionlistener addactionlistener( new ActionListener() { public void actionperformed( ActionEvent e ) { displayedmsg = (toggle( toggle)? msg1 : msg2; fillcolor = (toggle( toggle)? Color.white : Color.cyan cyan; toggle =!toggle! toggle; repaint(); // vyvola update, coz vyvola paint if(++ (++count > 4){ c.add add(new JLabel(" ("Wow Wow!")); c.validate validate(); count = 0; ); 17
18 c.setlayout setlayout( new FlowLayout() ); c.add add( b ); setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); c.setfont setfont( f = new Font( "Dialog", Font.BOLD, 14 ) ); setsize( 300, 200 ); setvisible( true ); public void paint( Graphics g ) { super.paint paint( g ); // vymaze pane g.draw3drect( 50, 70, 150, 70, true ); g.setcolor setcolor( fillcolor ); g.fill3drect( 50, 70, 150, 70, true ); g.setcolor setcolor( Color.black ); g.setfont setfont( f ); g.drawstring drawstring( displayedmsg, 70, 100 ); 18
19 class OneButtonTester { public static void main( String[ ] args ) { new OneButton(); 19
20 Metoda validate() Poté co je přidaný JLabel objekt do kontejneru, metoda kontejneru validate() zabezpečí, že nově přidaný objekt návěští je uspořádán a zobrazen správným způsobem. Metoda invalidate() signalizuje, že se nějakým způsobem změnila komponenta, což má dopad na zobrazení. Např. font tlačítka se zvětšil a text již nevejde do vymezeného prostoru indikace že je nutné překreslení. Metoda invalidate() je obyčejně volána automaticky, když mají změny dopad na zobrazení 20
21 Třída Color 4. Práce s barvami Definuje metody a konstanty pro práci s barvami Barvy jsou tvořeny komponentami red, green a blue RGB hodnoty 21
22 Grafické konstanty a jejich RGB hodnoty Color konstanty Color RGB hodnota public final static Color ORANGE orange 255, 200, 0 public final static Color PINK pink 255, 175, 175 public final static Color CYAN cyan 0, 255, 255 public final static Color MAGENTA magenta 255, 0, 255 public final static Color YELLOW yellow 255, 255, 0 public final static Color BLACK black 0, 0, 0 public final static Color WHITE white 255, 255, 255 public final static Color GRAY gray 128, 128, 128 public final static Color LIGHT_GRAY light gray 192, 192, 192 public final static Color DARK_GRAY dark gray 64, 64, 64 public final static Color RED red 255, 0, 0 public final static Color GREEN green 0, 255, 0 public final static Color BLUE blue 0, 0,
23 Metody Popis Konstanty Color a metody Metody třídy Color public Color( int r, int g, int b ) public Color( float r, float g, float b ) public int getred() public int getgreen() public int getblue() Vytvoří barvu (Color) založenou na komponentách red, green a blue vyjádřené jako celé číslo v rozsahu od 0 do 255. Vytvoří barvu založenou na komponentách red, green a blue vyjádřené jako floating-point hodnoty od 0.0 do 1.0. Vrací hodnotu mezi 0 a 255 reprezentující obsah červené. Vrací hodnotu mezi 0 a 255 reprezentující obsah zelené. Vrací hodnotu mezi 0 a 255 reprezentující obsah modré. Methody Graphics pro práci s Colors public Color getcolor() public void setcolor( Color c ) Vrací objekt třídy Color reprezentující aktuální barvu pro grafický kontext. Nastavuje aktuální barvu pro kresleni s grafickým kontextem. 23
24 // Demonstrating Colors. package graf_06; import java.awt awt.graphics Graphics; import java.awt awt.color Color; import javax.swing..swing.jpanel JPanel; public class ColorJPanel extends JPanel { // draw rectangles and Strings in different colors public void paintcomponent( Graphics g ) { super.paintcomponent paintcomponent( g ); // call superclass's paintcomponent this.setbackground setbackground( Color.WHITE ); // set new drawing color using integers g.setcolor setcolor( new Color( 255, 0, 0 ) ); g.fillrect fillrect( 15, 25, 100, 20 ); g.drawstring drawstring( "Current" RGB: " + g.getcolor getcolor(), 130, 40 ); // set new drawing color using floats g.setcolor setcolor( new Color( 0.50f, 0.75f, 0.0f ) ); g.fillrect fillrect( 15, 50, 100, 20 ); g.drawstring drawstring( "Current" RGB: " + g.getcolor getcolor(), 130, 65 ); // set new drawing color using static Color objects g.setcolor setcolor( Color.BLUE ); g.fillrect fillrect( 15, 75, 100, 20 ); g.drawstring drawstring( "Current" RGB: " + g.getcolor getcolor(), 130, 90 ); 24
25 // display individual RGB values Color color = Color.MAGENTA; g.setcolor setcolor( color ); g.fillrect fillrect( 15, 100, 100, 20 ); g.drawstring drawstring( "RGB values: " + color.getred getred() + ", " + color.getgreen getgreen() + ", " + color.getblue getblue(), 130, 115 ); // end method paintcomponent // end class ColorJPanel 25
26 // Demonstrating Colors. package graf_06; import javax.swing..swing.jframe JFrame; public class ShowColors { // execute application public static void main( String args[] ) { // create frame for ColorJPanel JFrame frame = new JFrame( "Using" colors" ); frame.setdefaultcloseoperation setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); ColorJPanel colorjpanel = new ColorJPanel(); // create ColorJPanel frame.add add( colorjpanel ); // add colorjpanel to frame frame.setsize setsize( 400, 180 ); // set frame size frame.setvisible setvisible( true ); // display frame // end main // end class ShowColors 26
27 import javax.swing.*; import java.awt awt.event event.*; import java.awt awt.*; class ColorMenuEx extends JFrame implements ActionListener { private JMenuBar menubar; private JMenu colormenu; private JMenu controlmenu; private static final Color orig = Color.white white; private static final String[ ] colornames = { "Blue " Blue", "Cyan" Cyan", "Gray" Gray", "Orange" Orange", "Pink" ; private static final Color[ ] colors = { Color.blue blue, Color.cyan cyan, Color.gray gray, Color.orange orange, Color.pink ; private static final String[ ] controls = { "Restore" Restore", "Exit" ; public ColorMenuEx() { menubar = new JMenuBar(); colormenu = new JMenu( "Colors" Colors" ); controlmenu = new JMenu( "Control" Control" ); init(); setsize( 300, 150 ); getcontentpane(). ().setbackground setbackground( orig ); setvisible( true ); Jednoduchý příklad využívající barev 27
28 public void actionperformed( ActionEvent e ) { String s = e.getactioncommand getactioncommand(); if ( s.equals equals( "Exit" ) ) System.exit( 0 ); else if ( s.equals equals( "Restore" Restore" ) ) getcontentpane(). ().setbackground setbackground( orig ); else setcolor( s ); private void init() { initmenu( colormenu, colornames ); initmenu( controlmenu, controls ); menubar.add add( colormenu ); menubar.add add( controlmenu ); setjmenubar( menubar ); private void initmenu( JMenu menu, String[ ] items ) { for ( int i = 0; i < items.length length; i++ ) { JMenuItem item = new JMenuItem( items[ i ] ); item.addactionlistener addactionlistener( this ); menu.add add( item ); private void setcolor( String c ) { for ( int i = 0; i < colornames.length length; i++ ) if ( c.equals equals( colornames[ i ] ) ) { getcontentpane(). ().setbackground setbackground( colors[ i ] ); break; 28
29 class ColorMenuExTester { public static void main( String[ ] args ) { new ColorMenuEx(); 29
30 // Choosing colors with JColorChooser. package graf_08; import java.awt awt.borderlayout BorderLayout; import java.awt awt.color Color; import java.awt awt.event event.actionevent ActionEvent; import java.awt awt.event event.actionlistener ActionListener; import javax.swing..swing.jbutton JButton; import javax.swing..swing.jframe JFrame; import javax.swing..swing.jcolorchooser JColorChooser; import javax.swing..swing.jpanel JPanel; Příklad umožňující výběr barev public class ShowColors2JFrame extends JFrame { private JButton changecolorjbutton; private Color color = Color.LIGHT_GRAY; private JPanel colorjpanel; // set up GUI public ShowColors2JFrame() { super( "Using " JColorChooser" ); // create JPanel for display color colorjpanel = new JPanel(); colorjpanel.setbackground setbackground( color ); // set up changecolorjbutton and register its event handler changecolorjbutton = new JButton( "Change" Color" ); changecolorjbutton.addactionlistener addactionlistener( 30
31 new ActionListener() // anonymni vnitrni trida { // display JColorChooser when user clicks button public void actionperformed( ActionEvent event ) { color = JColorChooser.showDialog showdialog( ShowColors2JFrame.this this, "Choose" a color", color ); // set default color, if no color is returned if ( color == null ) color = Color.LIGHT_GRAY; // change content pane's background color colorjpanel.setbackground setbackground( color ); // end method actionperformed // end anonymous inner class ); // end call to addactionlistener add( colorjpanel, BorderLayout.CENTER ); // add colorjpanel add( changecolorjbutton, BorderLayout.SOUTH ); // add button setsize( 400, 130 ); // set frame size setvisible( true ); // display frame // end ShowColor2JFrame constructor // end class ShowColors2JFrame 31
32 // Choosing colors with JColorChooser. package graf_08; import javax.swing..swing.jframe JFrame; public class ShowColors2 { // execute application public static void main( String args[] ) { ShowColors2JFrame application = new ShowColors2JFrame(); application.setdefaultcloseoperation setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); // end main // end class ShowColors2 32
33 33
34 Výsledky aplikace 34
35 5. Práce s fonty Třída Font Obsahuje metody a konstanty pro práci s fonty Konstruktor třídy Font potřebuje tři argumenty Jméno Fontu Monospaced, SansSerif, Serif, etc. Styl Fontu Font.PLAIN, Font.ITALIC and Font.BOLD Velikost Font Měřeno v bodech (1/72 of inch) 35
36 Metody a konstanty třídy Font Metody nebo konstanty Popis Konstanty Font, konstruktory a metody pro kreslení polygonů public final static int PLAIN public final static int BOLD public final static int ITALIC Konstanta reprezentující a plain font style. Konstanta reprezentující a bold font style. Konstanta reprezentující an italic font style. public Font( String name, int style, int size ) Vytvoří objekt třídy Font se specifikovaným fontem, stylem a velikostí. public int getstyle() public int getsize() public String getname() public String getfamily() public boolean isplain() public boolean isbold() public boolean isitalic() Vrací celočíselnou hodnotu indikující aktuální styl fontu. Vrací celočíselnou hodnotu indikující aktuální velikost fontu. Vrací aktuální jméno fontu jako řetězec. Vrací font s family name jako řetězec. Testuje font na plain font styl. Testuje font na a bold font styl. Testuje font na an italic font styl. 36
37 Metody a konstanty třídy Font Metody nebo konstanty Popis Methods Graphics pro práci s fonty public Font getfont() public void setfont( Font f ) Vrací objekt třídy Font reprezentující aktuální font. Nastaví aktuální font na font, styl a velikost specifikované v proměnné f. 37
38 // Display strings in different fonts and colors. package graf_12; import java.awt awt.font; import java.awt awt.color Color; import java.awt awt.graphics Graphics; import javax.swing..swing.jpanel JPanel; Demonstrace využití třídy Font public class FontJPanel extends JPanel { // display Strings in different fonts and colors public void paintcomponent( Graphics g ) { super.paintcomponent paintcomponent( g ); // call superclass's paintconponent // set font to Serif (Times Times), bold, 12pt and draw a string g.setfont setfont( new Font( "Serif" Serif", Font.BOLD, 12 ) ); g.drawstring drawstring( "Serif" 12 point bold.", 20, 50 ); // set font to Monospaced (Courier Courier), italic, 24pt and draw a string g.setfont setfont( new Font( "Monospaced" Monospaced", Font.ITALIC, 24 ) ); g.drawstring drawstring( "Monospaced" 24 point italic.", 20, 70 ); // set font to SansSerif (Helvetica Helvetica), plain, 14pt and draw a string g.setfont setfont( new Font( "SansSerif" SansSerif", Font.PLAIN, 14 ) ); g.drawstring drawstring( "SansSerif" 14 point plain.", 20, 90 ); 38
39 // set font to Serif (Times Times), bold/italic italic, 18pt and draw a string g.setcolor setcolor( Color.RED ); g.setfont setfont( new Font( "Serif" Serif", Font.BOLD + Font.ITALIC, 18 ) ); g.drawstring drawstring( g.getfont getfont(). ().getname getname() + " " + g.getfont getfont(). ().getsize getsize() + " point bold italic.", 20, 110 ); // end method paintcomponent // end class FontJPanel 39
40 // Using fonts. package graf_12; import javax.swing..swing.jframe JFrame; public class Fonts { // execute application public static void main( String args[] ) { // create frame for FontJPanel JFrame frame = new JFrame( "Using" fonts" ); frame.setdefaultcloseoperation setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); FontJPanel fontjpanel = new FontJPanel(); // create FontJPanel frame.add add( fontjpanel ); // add fontjpanel to frame frame.setsize setsize( 420, 170 ); // set frame size frame.setvisible setvisible( true ); // display frame // end main // end class Fonts 40
41 6. Správa fontů metriky fontů Metriky fontů Height Descent (amount character dips below baseline) Ascent (amount character rises above baseline) Leading (difference between descent and ascent) 41
42 Metriky fontů he ight Xy1İ asc le ading e nt ba seline desc ent 42
43 Metody tříd FontMetrics a Graphics získání metrik fontů Method Description FontMetrics methods public int getascent() Returns a value representing the ascent of a font in points. public int getdescent() Returns a value representing the descent of a font in points. public int getleading() Returns a value representing the leading of a font in points. public int getheight() Returns a value representing the height of a font in points. Graphics methods for getting a Font s FontMetrics public FontMetrics getfontmetrics() Returns the FontMetrics object for the current drawing Font. public FontMetrics getfontmetrics( Font f ) Returns the FontMetrics object for the specified Font argument. 43
44 // FontMetrics and Graphics methods useful for obtaining font metrics. package graf_16; import java.awt awt.font; import java.awt awt.fontmetrics FontMetrics; import java.awt awt.graphics Graphics; import javax.swing..swing.jpanel JPanel; public class MetricsJPanel extends JPanel { // display font metrics public void paintcomponent( Graphics g ) { super.paintcomponent paintcomponent( g ); // call superclass's paintcomponent g.setfont setfont( new Font( "SansSerif" SansSerif", Font.BOLD, 12 ) ); FontMetrics metrics = g.getfontmetrics getfontmetrics(); g.drawstring drawstring( "Current" font: " + g.getfont getfont(), 10, 40 ); g.drawstring drawstring( "Ascent" Ascent: " + metrics.getascent getascent(), 10, 55 ); g.drawstring drawstring( "Descent" Descent: " + metrics.getdescent getdescent(), 10, 70 ); g.drawstring drawstring( "Height" Height: " + metrics.getheight getheight(), 10, 85 ); g.drawstring drawstring( "Leading" Leading: " + metrics.getleading getleading(), 10, 100 ); Font font = new Font( "Serif" Serif", Font.ITALIC, 14 ); metrics = g.getfontmetrics getfontmetrics( font ); 44
45 g.setfont setfont( font ); g.drawstring drawstring( "Current" font: " + font, 10, 130 ); g.drawstring drawstring( "Ascent" Ascent: " + metrics.getascent getascent(), 10, 145 ); g.drawstring drawstring( "Descent" Descent: " + metrics.getdescent getdescent(), 10, 160 ); g.drawstring drawstring( "Height" Height: " + metrics.getheight getheight(), 10, 175 ); g.drawstring drawstring( "Leading" Leading: " + metrics.getleading getleading(), 10, 190 ); // end method paintcomponent 45
46 import javax.swing..swing.jframe JFrame; public class Metrics { // execute application public static void main( String args[] ) { // create frame for MetricsJPanel JFrame frame = new JFrame( "Demonstrating" FontMetrics" ); frame.setdefaultcloseoperation setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); MetricsJPanel metricsjpanel = new MetricsJPanel(); frame.add add( metricsjpanel ); // add metricsjpanel to frame frame.setsize setsize( 510, 250 ); // set frame size frame.setvisible setvisible( true ); // display frame // end main // end class Metrics 46
47 7. Kresleníčar, obdelníků a oválů TřídaGraphics Poskytuje metody pro kresleníčar, obdelníků a oválů Všechny metody kreslení vyžadují parametrywidth a height 47
48 Metody třídy Graphics pro kresleníčar, obdélníků a oválů Method Description public void drawline( int x1, int y1, int x2, int y2 ) Draws a line between the point (x1, y1) and the point (x2, y2). public void drawrect( int x, int y, int width, int height ) Draws a rectangle of the specified width and height. The top-left corner of the rectangle has the coordinates (x, y). public void fillrect( int x, int y, int width, int height ) Draws a solid rectangle with the specified width and height. The top-left corner of the rectangle has the coordinate (x, y). public void clearrect( int x, int y, int width, int height ) Draws a solid rectangle with the specified width and height in the current background color. The top-left corner of the rectangle has the coordinate (x, y). public void drawroundrect( int x, int y, int width, int height, int arcwidth, int archeight ) Draws a rectangle with rounded corners in the current color with the specified width and height. The arcwidth and archeight determine the rounding of the corners (see Fig ). public void fillroundrect( int x, int y, int width, int height, int arcwidth, int archeight ) Draws a solid rectangle with rounded corners in the current color with the specified width and height. The arcwidth and archeight determine the rounding of the corners (see Fig ). 48
49 Metody třídy Graphics pro kresleníčar, obdélníků a oválů Method Description public void draw3drect( int x, int y, int width, int height, boolean b ) Draws a three-dimensional rectangle in the current color with the specified width and height. The top-left corner of the rectangle has the coordinates (x, y). The rectangle appears raised when b is true and lowered when b is false. public void fill3drect( int x, int y, int width, int height, boolean b ) Draws a filled three-dimensional rectangle in the current color with the specified width and height. The top-left corner of the rectangle has the coordinates (x, y). The rectangle appears raised when b is true and lowered when b is false. public void drawoval( int x, int y, int width, int height ) Draws an oval in the current color with the specified width and height. The bounding rectangle s top-left corner is at the coordinates (x, y). The oval touches all four sides of the bounding rectangle at the center of each side (see Fig ). public void filloval( int x, int y, int width, int height ) Draws a filled oval in the current color with the specified width and height. The bounding rectangle s top-left corner is at the coordinates (x, y). The oval touches all four sides of the bounding rectangle at the center of each side (see Fig ). 49
50 package graf_19; import java.awt awt.color Color; import java.awt awt.graphics Graphics; import javax.swing..swing.jpanel JPanel; public class LinesRectsOvalsJPanel extends JPanel { // display various lines, rectangles and ovals public void paintcomponent( Graphics g ) { super.paintcomponent paintcomponent( g ); // call superclass's paint method this.setbackground setbackground( Color.WHITE ); g.setcolor setcolor( Color.RED ); g.drawline drawline( 5, 30, 380, 30 ); g.setcolor setcolor( Color.BLUE ); g.drawrect drawrect( 5, 40, 90, 55 ); g.fillrect fillrect( 100, 40, 90, 55 ); g.setcolor setcolor( Color.BLACK ); g.fillroundrect fillroundrect( 195, 40, 90, 55, 50, 50 ); g.drawroundrect drawroundrect( 290, 40, 90, 55, 20, 20 ); 50
51 g.setcolor setcolor( Color.YELLOW ); g.draw3drect( 5, 100, 90, 55, true ); g.fill3drect( 100, 100, 90, 55, false ); g.setcolor setcolor( Color.MAGENTA ); g.drawoval drawoval( 195, 100, 90, 55 ); g.filloval filloval( 290, 100, 90, 55 ); // end method paintcomponent 51
52 import java.awt awt.color Color; import javax.swing..swing.jframe JFrame; public class LinesRectsOvals { // execute application public static void main( String args[] ) { // create frame for LinesRectsOvalsJPanel JFrame frame = new JFrame( "Drawing" lines, rectangles and ovals" ); frame.setdefaultcloseoperation setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); LinesRectsOvalsJPanel linesrectsovalsjpanel = new LinesRectsOvalsJPanel(); linesrectsovalsjpanel.setbackground setbackground( Color.WHITE ); frame.add add( linesrectsovalsjpanel ); // add panel to frame frame.setsize setsize( 400, 210 ); // set frame size frame.setvisible setvisible( true ); // display frame // end main // end class LinesRectsOvals 52
53 Šířka a výška oblouku pro zaoblené obdélníky (x, y) arc height a rc width height w idth 53
54 Oval ohraničený obdélníkem (x, y ) height w id th 54
55 Arc - oblouk část tvoří ovál 8. Kreslení oblouků - výsečí měří se ve stupních Sweeps počet stupňů v obloukovém úhlu (arc angle) Sweep začíná u počátečního úhlu Counterclockwise sweep je měřen v kladných stupních Clockwise sweep je měřen v záporných stupních 55
56 Kladné a záporné úhly oblouku Kladné úhly 90 Záporné úhly
57 Metody třídy Graphics pro kreslení oblouků Method Description public void drawarc( int x, int y, int width, int height, int startangle, int arcangle ) Draws an arc relative to the bounding rectangle s top-left coordinates (x, y) with the specified width and height. The arc segment is drawn starting at startangle and sweeps arcangle degrees. public void fillarc( int x, int y, int width, int height, int startangle, int arcangle ) Draws a solid arc (i.e., a sector) relative to the bounding rectangle s top-left coordinates (x, y) with the specified width and height. The arc segment is drawn starting at startangle and sweeps arcangle degrees. 57
58 import java.awt awt.color Color; import java.awt awt.graphics Graphics; import javax.swing..swing.jpanel JPanel; public class ArcsJPanel extends JPanel { // draw rectangles and arcs public void paintcomponent( Graphics g ) { super.paintcomponent paintcomponent( g ); // call superclass's paintcomponent // start at 0 and sweep 360 degrees g.setcolor setcolor( Color.RED ); g.drawrect drawrect( 15, 35, 80, 80 ); g.setcolor setcolor( Color.BLACK ); g.drawarc drawarc( 15, 35, 80, 80, 0, 360 ); // start at 0 and sweep 110 degrees g.setcolor setcolor( Color.RED ); g.drawrect drawrect( 100, 35, 80, 80 ); g.setcolor setcolor( Color.BLACK ); g.drawarc drawarc( 100, 35, 80, 80, 0, 110 ); 58
59 // start at 0 and sweep -270 degrees g.setcolor setcolor( Color.RED ); g.drawrect drawrect( 185, 35, 80, 80 ); g.setcolor setcolor( Color.BLACK ); g.drawarc drawarc( 185, 35, 80, 80, 0, -270 ); // start at 0 and sweep 360 degrees g.fillarc fillarc( 15, 120, 80, 40, 0, 360 ); // start at 270 and sweep -90 degrees g.fillarc fillarc( 100, 120, 80, 40, 270, -90 ); // start at 0 and sweep -270 degrees g.fillarc fillarc( 185, 120, 80, 40, 0, -270 ); // end method paintcomponent // end class ArcsJPanel 59
60 import javax.swing..swing.jframe JFrame; public class DrawArcs { // execute application public static void main( String args[] ) { // create frame for ArcsJPanel JFrame frame = new JFrame( "Drawing" Arcs" ); frame.setdefaultcloseoperation setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); ArcsJPanel arcsjpanel = new ArcsJPanel(); // create ArcsJPanel frame.add add( arcsjpanel ); // add arcsjpanel to frame frame.setsize setsize( 300, 210 ); // set frame size frame.setvisible setvisible( true ); // display frame // end main // end class DrawArcs 60
61 9. Kreslení polygonů a lomených čar Polygons and Polylines TřídaPolygon Polygons Vícestranné tvary (multisided shapes) Polylines Řada spojených bodů 61
62 Metody třídy Graphics pro kreslení polygonů a statické metody třídy Polygon Metody Popis Metody třídy Graphics pro kreslení polygonů public void drawpolygon( int xpoints[], int ypoints[], int points ) Nakreslí polygon. x-souřadnice každého bodu jsou specifikovány v poli xpoints, obdobně y-souřadnice. Poslední argument specifikuje počet bodů.. Metoda kreslí uzavřený polygon. Pokud se poslední a první bod liší, pak oba body spojí čára. public void drawpolyline( int xpoints[], int ypoints[], int points ) Draws a sequence of connected lines. The x-coordinate of each point is specified in the xpoints array and the y-coordinate of each point is specified in the ypoints array. The last argument specifies the number of points. If the last point is different from the first point, the polyline is not closed. public void drawpolygon( Polygon p ) Draws the specified polygon. public void fillpolygon( int xpoints[], int ypoints[], int points ) Draws a solid polygon. The x-coordinate of each point is specified in the xpoints array and the y-coordinate of each point is specified in the ypoints array. The last argument specifies the number of points. This method draws a closed polygon. If the last point is different from the first point, the polygon is closed by a line that connects the last point to the first point. public void fillpolygon( Polygon p ) Draws the specified solid polygon. The polygon is closed. 62
63 Metody třídy Graphics pro kreslení polygonů a statické metody třídy Polygon Method Description Polygon constructors and methods public Polygon() Constructs a new polygon object. The polygon does not contain any points. public Polygon( int xvalues[], int yvalues[], int numberofpoints ) Constructs a new polygon object. The polygon has numberofpoints sides, with each point consisting of an x-coordinate from xvalues and a y-coordinate from yvalues. public void addpoint( int x, int y ) Adds pairs of x- and y-coordinates to the Polygon. 63
64 import java.awt awt.graphics Graphics; import java.awt awt.polygon; import javax.swing..swing.jpanel JPanel; public class PolygonsJPanel extends JPanel { // draw polygons and polylines public void paintcomponent( Graphics g ) { super.paintcomponent paintcomponent( g ); // call superclass's paintcomponent // draw polygon with Polygon object int xvalues[] = { 20, 40, 50, 30, 20, 15 ; int yvalues[] = { 50, 50, 60, 80, 80, 60 ; Polygon polygon1 = new Polygon( xvalues, yvalues, 6 ); g.drawpolygon drawpolygon( polygon1 ); // draw polylines with two arrays int xvalues2[] = { 70, 90, 100, 80, 70, 65, 60 ; int yvalues2[] = { 100, 100, 110, 110, 130, 110, 90 ; g.drawpolyline drawpolyline( xvalues2, yvalues2, 7 ); // fill polygon with two arrays int xvalues3[] = { 120, 140, 150, 190 ; int yvalues3[] = { 40, 70, 80, 60 ; g.fillpolygon fillpolygon( xvalues3, yvalues3, 4 ); 64
65 // draw filled polygon with Polygon object Polygon polygon2 = new Polygon(); polygon2.addpoint addpoint( 165, 135 ); polygon2.addpoint addpoint( 175, 150 ); polygon2.addpoint addpoint( 270, 200 ); polygon2.addpoint addpoint( 200, 220 ); polygon2.addpoint addpoint( 130, 180 ); g.fillpolygon fillpolygon( polygon2 ); // end method paintcomponent // end class PolygonsJPanel 65
66 import javax.swing..swing.jframe JFrame; public class DrawPolygons { // execute application public static void main( String args[] ) { // create frame for PolygonsJPanel JFrame frame = new JFrame( "Drawing" Polygons" ); frame.setdefaultcloseoperation setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); PolygonsJPanel polygonsjpanel = new PolygonsJPanel(); frame.add add( polygonsjpanel ); // add polygonsjpanel to frame frame.setsize setsize( 280, 270 ); // set frame size frame.setvisible setvisible( true ); // display frame // end main 66
67 import java.awt awt.color Color; import java.awt awt.graphics Graphics; import java.awt awt.basicstroke BasicStroke; import java.awt awt.gradientpaint GradientPaint; import java.awt awt.texturepaint TexturePaint; import java.awt awt.rectangle Rectangle; import java.awt awt.graphics2d; import java.awt awt.geom geom.ellipse2d; import java.awt awt.geom geom.rectangle2d; import java.awt awt.geom geom.roundrectangle2d; import java.awt awt.geom geom.arc2d; import java.awt awt.geom geom.line2d; import java.awt awt.image image.bufferedimage BufferedImage; import javax.swing..swing.jpanel JPanel; Kreslení komplexních tvarů public class ShapesJPanel extends JPanel { // draw shapes with Java 2D API public void paintcomponent( Graphics g ) { super.paintcomponent paintcomponent( g ); // call superclass's paintcomponent Graphics2D g2d = ( Graphics2D ) g; // cast g to Graphics2D // draw 2D ellipse filled with a blue-yellow gradient g2d.setpaint setpaint( new GradientPaint( 5, 30, Color.BLUE, 35, 100, Color.YELLOW, true ) ); g2d.fill fill( new Ellipse2D.Double( 5, 30, 65, 100 ) ); 67
68 // draw 2D rectangle in red g2d.setpaint setpaint( Color.RED ); g2d.setstroke setstroke( new BasicStroke( 10.0f ) ); g2d.draw draw( new Rectangle2D.Double( 80, 30, 65, 100 ) ); // draw 2D rounded rectangle with a buffered background BufferedImage buffimage = new BufferedImage( 10, 10, BufferedImage.TYPE_INT_RGB ); // obtain Graphics2D from bufferimage and draw on it Graphics2D gg = buffimage.creategraphics creategraphics(); gg.setcolor setcolor( Color.YELLOW ); // draw in yellow gg.fillrect fillrect( 0, 0, 10, 10 ); // draw a filled rectangle gg.setcolor setcolor( Color.BLACK ); // draw in black gg.drawrect drawrect( 1, 1, 6, 6 ); // draw a rectangle gg.setcolor setcolor( Color.BLUE ); // draw in blue gg.fillrect fillrect( 1, 1, 3, 3 ); // draw a filled rectangle gg.setcolor setcolor( Color.RED ); // draw in red gg.fillrect fillrect( 4, 4, 3, 3 ); // draw a filled rectangle // paint buffimage onto the JFrame g2d.setpaint setpaint( new TexturePaint( buffimage, new Rectangle( 10, 10 ) ) ); g2d.fill fill( new RoundRectangle2D.Double( 155, 30, 75, 100, 50, 50 ) ); 68
69 // draw 2D pie-shaped arc in white g2d.setpaint setpaint( Color.WHITE ); g2d.setstroke setstroke( new BasicStroke( 6.0f ) ); g2d.draw draw( new Arc2D.Double( 240, 30, 75, 100, 0, 270, Arc2D.PIE ) ); // draw 2D lines in green and yellow g2d.setpaint setpaint( Color.GREEN ); g2d.draw draw( new Line2D.Double( 395, 30, 320, 150 ) ); // draw 2D line using stroke float dashes[] = { 10 ; // specify dash pattern g2d.setpaint setpaint( Color.YELLOW ); g2d.setstroke setstroke( new BasicStroke( 4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 10, dashes, 0 ) ); g2d.draw draw( new Line2D.Double( 320, 30, 395, 150 ) ); // end method paintcomponent // end class ShapesJPanel 69
70 import javax.swing..swing.jframe JFrame; public class Shapes { // execute application public static void main( String args[] ) { // create frame for ShapesJPanel JFrame frame = new JFrame( "Drawing" 2D shapes" ); frame.setdefaultcloseoperation setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); // create ShapesJPanel ShapesJPanel shapesjpanel = new ShapesJPanel(); frame.add add( shapesjpanel ); // add shapesjpanel to frame frame.setsize setsize( 425, 200 ); // set frame size frame.setvisible setvisible( true ); // display frame // end main // end class Shapes 70
71 10. Třída JTable Celá aplikace používá třídu javax.swing.jtable která zobrazí data v dvourozměrné tabulce JTable využívá architekturu MVC (model view controller) a uživatel může využít DefaultTableModel pokud nechce dělat úpravy Aplikace vytváří DefaultTableModel s 11 sloupci 71
72 import java.util util.*; import java.awt awt.*; import java.awt awt.event event.*; import javax.swing.*; import javax.swing.table.*; public class EmpGUI extends JFrame { //*** instance fields private Container cont; private JTable table; private DefaultTableModel dm; private EmpRW emprw; private String infilename; private String outfilename; //*** class fields private static final String readstring = " Read File "; private static final String writestring = " Write File "; private static final String exitstring = " Exit "; //** Construct the GUI, including controls and a JTable, // and display the GUI automatically. // Syntax: new EmpGUI() public EmpGUI() { super( "Employee " Edit Application" ); setsize( 900, 350 ); cont = getcontentpane(); initcontrols(); inittable(); setvisible(true true); 72
73 //** Add buttons to read, write, and exit. // Add action listeners per button. private void initcontrols() { JButton b; JPanel controls = new JPanel(); controls.setlayout setlayout( new FlowLayout() ); b = addbutton( controls, readstring ); b.addactionlistener addactionlistener( new ActionListener() { public void actionperformed( ActionEvent e ) { read(); ); b = addbutton( controls, writestring ); b.addactionlistener addactionlistener( new ActionListener() { public void actionperformed( ActionEvent e ) { write(); ); b = addbutton( controls, exitstring ); b.addactionlistener addactionlistener( new ActionListener() { public void actionperformed( ActionEvent e ) { System.exit( 0 ); ); cont.add add( controls, BorderLayout.NORTH ); 73
74 //** Create an empty JTable to hold the employee records private void inittable() { String[ ] cols = { "CODE", "ID", "LNAME", "FNAME", "DEPT", "TITLE", "RPTS", "DISC", "OPTS", "HR", "OT" ; dm = new DefaultTableModel( cols, 0 ); table = new JTable( dm ); table.gettableheader gettableheader(). ().setfont setfont( new Font( "Dialog", Font.BOLD, 12 ) ); cont.add add( new JScrollPane( table ), BorderLayout.CENTER ); //** Add the named button to a panel private JButton addbutton( JPanel p, String name ) { JButton b = new JButton( name ); b.setfont setfont( new Font( "Dialog", Font.BOLD, 14 ) ); p.add add( b ); return b; //** Use an EmpRW object to read records from a // specified input file. Add the records to the JTable. private void read() { clearrows(); JFileChooser fc = new JFileChooser(); int choice = fc.showopendialog showopendialog( new JFrame() ); if ( choice == JFileChooser.APPROVE_OPTION ) infilename = fc.getselectedfile getselectedfile(). ().getname getname(); else 74
75 return; //*** user hit CANCEL button String outfilename = "OutputFor" OutputFor_" + infilename; emprw = new EmpRW( infilename, outfilename ); emprw.read read(); Enumeration e = emprw.getemps getemps(). ().elements elements(); while ( e.hasmoreelements hasmoreelements() ) { Emp t = (Emp( Emp) e.nextelement nextelement(); dm.addrow addrow( t.getfieldvalues getfieldvalues() ); //*** polymorphic //** Use an EmpRW object to write records from the JTable // to a specified file. private void write() { Enumeration e = dm.getdatavector getdatavector(). ().elements elements(); Vector records = new Vector(); while ( e.hasmoreelements hasmoreelements() ) { Vector fields = (Vector( Vector) e.nextelement nextelement(); String t = ""; Enumeration e2 = fields.elements elements(); while ( e2.hasmoreelements hasmoreelements() ) { String s = (String( String) e2.nextelement nextelement(); if (!s.equals equals( Emp.NotApplicable ) ) t += s + " "; records.addelement addelement( t ); emprw.writerecords writerecords( records ); 75
76 //** Clear the JTable's rows before a read. private void clearrows() { int n = dm.getrowcount getrowcount(); for ( int i = dm.getrowcount getrowcount() - 1; i >= 0; i--i ) dm.removerow removerow( i ); 76
Java - Kresba. 2/28/11 1/8 Java - kresba
Java - Kresba Základní entity a jejich kresba ve třídě Graphics nemůžeme nastavit linii, šířku a typ, z grafických atributů jí můžeme nastavit pouze barvu Linie (čára)... drawline(int x1, int y1, int x2,
VíceZákladní grafika. Princip zobrazování obsahu. Grafický kontext. Zobrazovací metody. Přednáška 3
Přednáška 3 Princip zobrazování obsahu Základní grafika Překreslení (vykreslení) obsahu komponenty se realizuje při příchodu zprávy paint Standardně se o zobrazení stará samostatné vlákno Principiálně
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
VíceAplikace s grafickým uživatelským rozhraním
Aplikace s grafickým uživatelským rozhraním doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz 1 Typy aplikací Konzolová
VícePři studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans.
1 Grafické rozhraní Studijní cíl Tento blok je věnován vytváření programů s využitím grafického rozhraní (GUI). Vysvětlen bude základní filozofie pro vytváření aplikací s GUI ve srovnání s konzolovými
VíceGrafické uživatelské rozhraní v Javě. A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické
Grafické uživatelské rozhraní v Javě A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické Grafický návrh - příklad určíme základní rozvržení určíme chování okna při zvětšování
Více2 Grafický výstup s využitím knihovny
2 Grafický výstup s využitím knihovny Studijní cíl Tento blok je věnován základním principům při vytváření grafického výstupu pomocí standardních metod, které poskytuje grafické rozhraní. V textu budou
VíceGUI - úvod. V této kapitole si ukážeme návod, jak vytvořit jednoduchou grafickou aplikaci a umístit do ní některé další grafické prvky.
GUI - úvod V této kapitole si ukážeme návod, jak vytvořit jednoduchou grafickou aplikaci a umístit do ní některé další grafické prvky. Klíčové pojmy: Grafické uživatelské rozhraní, grafické komponenty,
Víceaktivita, kdy sami chceme vykreslit nějaký grafický obrazec (úsečku, kružnici, atd.) nebo vypsat text
Kapitola 1. Grafika Základní charakteristika našeho snažení: aktivita, kdy sami chceme vykreslit nějaký grafický obrazec (úsečku, kružnici, atd.) nebo vypsat text nejedná se o vykreslování jednotlivých
Více8. GRAFICKÉ UŽIVATELSKÉ ROZHRANÍ
8. GRAFICKÉ UŽIVATELSKÉ ROZHRANÍ Abstract Window Toolkit (AWT) je část Java Core API, kterou tvoří balíky: java.awt, java.awt.event (od JDK 1.1), java.awt.image, java.awt.datatransfer (od JDK 1.1). AWT
VíceČipové karty Lekařská informatika
Čipové karty Lekařská informatika Následující kód je jednoduchou aplikací pro čipové karty, která po překladu vytváří prostor na kartě, nad kterým jsou prováděny jednotlivé operace a do kterého jsou ukládány
VíceGrafické uživatelské rozhraní v Javě. A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické
Grafické uživatelské rozhraní v Javě A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické Grafický návrh - příklad ToolBar Menu soubor nový, otevřít, uložit, exportovat, konec...
VíceÚvod do programovacích jazyků (Java)
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích
VíceJava aplety. Předávání parametrů z HTML
Java aplety Aplety jsou speciální formou Java aplikací - mohou být spouštěny z prostředí WWW prohlížeče. Aby je prohlížeč spustil, musíme vložit do HTML stránky potřebné příkazy:
VíceGUI (Graphical User Interface)
GUI (Graphical User Interface) Vizuální a interaktivní komunikaci počítač-člověk podporují balíčky: java.awt - obsahuje: - komponenty: knoflíky, textová pole, menu, posuvníky, grafiku... - kontejnery:
VíceObsah přednášky. GUI v Javě a událostmi řízené programování. Základní prvky grafického rozhraní. Základní komponenty.
GUI v Javě a událostmi řízené programování Obsah přednášky GUI v Javě (připomínka) Návrhář GUI Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 4 A0B36PR2
VíceGUI v Javě a událostmi řízené programování
GUI v Javě a událostmi řízené programování Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 4 A0B36PR2 Programování 2 Jan Faigl, 2016 A0B36PR2 Přednáška
VíceGUI v Javě (připomínka) Návrhář GUI Příklad aplikace MVC Model-View-Controller Události Vnitřní třídy. MVC Model-View-Controller
GUI v Javě a událostmi řízené programování Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 4 A0B36PR2 Programování 2 Obsah přednášky GUI v Javě (připomínka)
VíceObsah přednášky. GUI v Javě a událostmi řízené programování. Základní prvky grafického rozhraní. Základní komponenty.
GUI v Javě a událostmi řízené programování Jiří Vokřínek Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 6 B0B36PJV Programování v JAVA Obsah přednášky GUI v Javě
VíceGUI v Javě a událostmi řízené programování
GUI v Javě a událostmi řízené programování Jiří Vokřínek Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 6 B0B36PJV Programování v JAVA Jan Faigl, Jiří Vokřínek,
VíceGrafické uživatelské rozhraní GUI event-driven programming událostmi řízené programování
Grafické uživatelské rozhraní GUI event-driven programming událostmi řízené programování 1 Osnova 2 1. Vytváření oken základní balíčky 2. Třída Component 3. Komponenty atributy komponent 4. Swingové komponenty
VíceTřída DrawingTool. Obrázek 1: Prázdné okno připravené pro kreslení
Třída DrawingTool strana 1 1. Základ Třída DrawingTool Třída DrawingTool je určena k jednoduchému kreslení pomocí několika základních příkazů do grafického okna zadaných rozměrů (nastavení v konstruktoru),
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
VíceGUI v Javě a událostmi řízené programování
GUI v Javě a událostmi řízené programování Jiří Vokřínek Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 6 B0B36PJV Programování v JAVA Jan Faigl, Jiří Vokřínek,
Více8. Grafické uživatelské rozhraní
8. Grafické uživatelské rozhraní Až dosud jsme pro výstupy a vstupy do našich programů využívali pouze konzoli nebo soubor. Java nám však poskytuje nástroje pro tvorbu grafického uživatelského rozhraní,
VíceEnterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)
Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Enterprise Java
VícePráce se soubory v Javě
Práce se soubory v Javě Cílem kapitoly je naučit pracovat se soubory a adresáři v Javě. Na jednoduchých příkladech ukázat procházení adresáře, čtení z textového souboru a zápis do textového souboru. Klíčové
VíceProjekty pro výuku programování v jazyce Java
JIHOČESKÁ UNIVERZITA V ČESKÝCH BUDĚJOVICÍCH Pedagogická fakulta Katedra informatiky Akademický rok: 2006/2007 TEZE BAKALÁŘSKÉ PRÁCE Projekty pro výuku programování v jazyce Java Jméno: František Přinosil
VíceAlgoritmizace a programování
Algoritmizace a programování Struktura programu Vytvoření nové aplikace Struktura programu Základní syntaktické elementy První aplikace Verze pro akademický rok 2012/2013 1 Nová aplikace NetBeans Ve vývojovém
VíceStatické proměnné a metody. Tomáš Pitner, upravil Marek Šabo
Statické proměnné a metody Tomáš Pitner, upravil Marek Šabo Úvod Se statickou metodou jsme se setkali už u úplně prvního programu - Hello, world! public class Demo { public static void main(string[] args)
VícePackage balíček z pohledu UML
OOPR_07 1 Obsah přednášky Balíčky (package) z pohledu UML Balíčky v Javě a příkaz import JAR soubory a samostatná aplikace Ladění programů debugger Jednoduché programy s grafikou 2 Package balíček z pohledu
VíceProgramování v jazyku C# II. 4.kapitola
Programování v jazyku C# II. 4.kapitola Obsah GDI + Vlastní kontrolky 2/37 GDI+ Graphics Device Interface Služba Windows framework poskytuje obalující třídy Umožňuje programování 2D grafiky bez znalosti
VíceZáklady CSS (3. přednáška)
Základy CSS (3. přednáška) Kaskádové styly k čemu jsou HTML definuje strukturu, CSS definuje vzhled. CSS stylesheet soubor pravidel určujících vzhled jednotlivých prvků dokumentu CSS pravidlo sestává ze
VíceSeznámení s AWT: práce s okny, grafikou a textem
Seznámení s AWT: S knihovnou Abstract Window Toolkit (AWT) jsme se seznámili již v kapitole 22, v níž jsme ji využili v kódu několika ukázkových apletů. Tato kapitola je věnována jejímu podrobnému popisu.
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
VíceDatové typy v Javě. Tomáš Pitner, upravil Marek Šabo
Datové typy v Javě Tomáš Pitner, upravil Marek Šabo Úvod k datovým typům v Javě Existují dvě základní kategorie datových typů: primitivní a objektové Primitivní v proměnné je uložena přímo hodnota např.
VíceGUI v Javě. Jiří Vokřínek. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze. Přednáška 5 B0B36PJV Programování v JAVA
GUI v Javě Jiří Vokřínek Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 5 B0B36PJV Programování v JAVA Jan Faigl, Jiří Vokřínek, 2017 B0B36PJV Přednáška 5: GUI
VíceGUI v Javě. GUI v Javě GUI komponenty a kontejnery Dialogová okna Události a obsluha událostí z GUI
GUI v Javě GUI v Javě Jiří Vokřínek Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 5 B0B36PJV Programování v JAVA GUI v Javě GUI komponenty a kontejnery Dialogová
Více14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.
Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání
VíceOMO. 4 - Creational design patterns A. Singleton Simple Factory Factory Method Abstract Factory Prototype Builder IoC
OMO 4 - Creational design patterns A Singleton Simple Factory Factory Method Abstract Factory Prototype Builder IoC Ing. David Kadleček, PhD. kadlecd@fel.cvut.cz, david.kadlecek@cz.ibm.com 1 Creational
VíceÚloha 1. Text úlohy. Vyberte jednu z nabízených možností: NEPRAVDA. PRAVDA Úloha 2. Text úlohy
Úloha 1 Úloha 2 Otázka se týká předchozího kódu. Určete pravdivost následujícího tvrzení: "Pro každý bod vytvoří úsečku mezi ním a středem panelu." Úloha 3 Otázka se týká předchozího kódu. Určete pravdivost
VíceSeminář Java IV p.1/38
Seminář Java IV Seminář Java IV p.1/38 Rekapitulace Deklarace tříd Proměnné, metody, konstruktory, modifikátory přístupu Datové typy primitivní, objektové, pole Dědičnost Řídící konstrukce Podmínky, cykly
VíceJava GUI události. Událostmi řízené programování. Zpracování = obsluha událostí
Java GUI události Cílem kapitoly je přiblížit hlavní princip událostmi řízeného programování a ukázat na příkladu způsob řešení pro konkrétní případ. Soubor obsahuje také tabulku s přehledem nejčastěji
VícePostřehová hra. Zadání projektu. 1 Moje cíle
Gymnázium, Praha 6, Arabská 16 předmět Programování, vyučující Tomáš Obdržálek Postřehová hra ročníkový projekt Matouš Jokl, 1E květen 2014 Obsah 1 Moje cíle...1 2 Kód...2 1.Objekty a ArrayList...2 2.Jpanel
VíceSwing. Přehled komponent. Java UI, letní semestr 2017/2018 1
Swing Přehled komponent 1 Label třída JLabel pro zobrazení krátkého textu obrázku obojího 2 Tlačítka mnoho druhů tlačítek (buttons) všechna dědí od AbstractButton normální tlačítko (JButton) "klikací"
VíceProgramování v Javě I. Únor 2009
Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Únor 2009 Radek Kočí Seminář Java Programování v Javě (1) 1/ 44 Téma přednášky Datové typy Deklarace třídy Modifikátory
VíceAbstraktní datové typy: zásobník
Abstraktní datové typy: zásobník doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Abstraktní datové typy omezené rozhraní
VíceDefinice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky
JAVA Třídy Definice třídy úplná definice [public] [abstract] [final] class Jmeno [extends Predek] [impelements SeznamInterfacu] {... // telo tridy public veřejná třída abstract nesmí být vytvářeny instance
Více7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd
7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd Algoritmizace (Y36ALG), Šumperk - 7. přednáška 1 Třída jako zdroj funkcionality Třída v jazyku Java je programová jednotka tvořená
VíceProgramování v Javě I. Leden 2008
Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Leden 2008 Radek Kočí Seminář Java Programování v Javě (1) 1/ 45 Téma přednášky Datové typy Deklarace třídy Modifikátory
VíceIII/2 Inovace a zkvalitnění výuky prostřednictvím ICT
Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň
VíceJava - výjimky. private void vstup() throws IOException {... }
Java - výjimky Tato kapitola ukazuje na několika příkladech práci s výjimkami v Javě. Klíčové pojmy: Výjimka, hierarchie výjimek, zachytávání výjimek, blok try-catch, tvorba vlastních výjimek, propagace
VíceDefinice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky
JAVA Třídy Definice třídy úplná definice [public] [abstract] [final] class Jmeno [extends Predek] [impelements SeznamInterfacu] {... // telo tridy public veřejná třída abstract nesmí být vytvářeny instance
VíceAPNVZ_2. Vzor Model view controller, Observer
APNVZ_2 Vzor Model view controller, Observer 1 Model-View-Controller MVC vzor architektury dělí interaktivní aplikaci na tři komponenty: Model obsahuje funkcionální jádro a data. Views (pohledy) zobrazují
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
VícePREPROCESOR POKRAČOVÁNÍ
PREPROCESOR POKRAČOVÁNÍ Chybová hlášení V C# podobně jako v C++ existuje direktiva #error, která způsobí vypsání chybového hlášení překladačem a zastavení překladu. jazyk C# navíc nabízí direktivu #warning,
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
VíceUdálosti. A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické
Události A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické Zpracování událostí - obsah 1. Připomenutí GUI 2. Co to je událost 3. Koncepce zpracování událostí 4. Zpracování vlastností
VícePřehled probírané látky
OOPR_04 1 Přehled probírané látky asociace (relace) mezi třídami popis množiny spojení mezi objekty skládání objektů - upřesněný typ asociace, vazba mezi objekty kompozice objektů (velmi pevná vazba mezi
VíceGUI v Javě. Jiří Vokřínek. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze. Přednáška 5 B0B36PJV Programování v JAVA
GUI v Javě Jiří Vokřínek Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 5 B0B36PJV Programování v JAVA Jan Faigl, Jiří Vokřínek, 2017 B0B36PJV Přednáška 5: GUI
VícePrvní kapitola úvod do problematiky
První kapitola úvod do problematiky Co je to Flex Adobe Flex je ActionSript (AS) framework pro tvorbu Rich Internet Aplications (RIA), tedy knihovna AS tříd pro Flash. Flex používáme k vytvoření SWF souboru
VíceSemestrální práce z předmětu. Jan Bařtipán / A03043 bartipan@studentes.zcu.cz
Semestrální práce z předmětu KIV/UPA Jan Bařtipán / A03043 bartipan@studentes.zcu.cz Zadání Program přečte ze vstupu dvě čísla v hexadecimálním tvaru a vypíše jejich součet (opět v hexadecimální tvaru).
VíceGUI. Systémová integrace pro desktopové aplikace
GUI Systémová integrace pro desktopové aplikace 1 java.awt.desktop systémová integrace desktopových aplikací static boolean isdesktopsupported() test zda je integrace k dispozici static Desktop getdesktop()
VíceJazyk C# (seminář 6)
Jazyk C# (seminář 6) Pavel Procházka KMI 29. října 2014 Delegát motivace Delegáty a události Jak docílit v C# funkcionální práce s metodami v C je to pomocí pointerů na funkce. Proč to v C# nejde pomocí
VíceObjektově orientované programování v PHP 5. Martin Klíma
Objektově orientované programování v PHP 5 Martin Klíma OOP & PHP 5 V PHP 5 konečně značné rozšíření OOP Blíží se to moderním programovacím jazykům jako Java nebo C# Výhody OOP Zapouzdření (nové modifikátory
VíceJazyk C# (seminář 3)
Jazyk C# (seminář 3) Pavel Procházka KMI October 8, 2014 Motivace Největší využití v programování okenních aplikací a GUI knihoven. Data reprezentujeme pomocí objektů (tříd), máme tedy ucelený pohled na
VíceVytvoření pokročilé Fotogalerie v Drupalu - Views
Vytvoření pokročilé Fotogalerie v Drupalu - Views Views Máme tři pohledy: gallery_photos, all_galeries, admin_gallery Buď je můžete vytvořit podle návodu níže, nebo importovat z přiložených txt souborů
VíceGenerické programování
Generické programování Od C# verze 2.0 = vytváření kódu s obecným datovým typem Příklad generická metoda, zamění dva parametry: static void Swap(ref T p1, ref T p2) T temp; temp = p1; p1 = p2; p2 =
VíceJava a XML. 10/26/09 1/7 Java a XML
Java a XML Java i XML jsou přenositelné V javě existuje podpora pro práci s XML, nejčastější akce prováděné při zpracování XML: načítání XML elementů generování nových elementů nebo úprava starého zápis
VíceKurz Databáze. Obsah. Formuláře. Práce s daty. Doc. Ing. Radim Farana, CSc.
Kurz Databáze Práce s daty Doc. Ing. Radim Farana, CSc. Obsah Formuláře, typy formulářů, sekce formuláře. Objekty formuláře. Vytváření formulářů pomocí průvodce. Výběr dat, virtuální položky, agregace
VíceSeznamy a iterátory. Kolekce obecně. Rozhraní kolekce. Procházení kolekcí
Kolekce obecně Seznamy a iterátory doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Kolekce ::= homogenní sada prvků
VíceGymnázium, Brno, Slovanské nám. 7 WORKBOOK. Mathematics. Teacher: Student:
WORKBOOK Subject: Teacher: Student: Mathematics.... School year:../ Conic section The conic sections are the nondegenerate curves generated by the intersections of a plane with one or two nappes of a cone.
Vícetypová konverze typová inference
Seminář Java Programování v Javě II Radek Kočí Fakulta informačních technologií VUT Únor 2008 Radek Kočí Seminář Java Programování v Javě (2) 1/ 36 Téma přednášky Rozhraní: použití, dědičnost Hierarchie
Více1. Téma 12 - Textové soubory a výjimky
1. Téma 12 - Textové soubory a výjimky Cíl látky Procvičit práci se soubory s využitím výjimek. 1.1. Úvod Program, aby byl programem, my mít nějaké výstupy a vstupy. Velmi častým případem je to, že se
VícePokročilé programování v jazyce C pro chemiky (C3220) Statické proměnné a metody, šablony v C++
Pokročilé programování v jazyce C pro chemiky (C3220) Statické proměnné a metody, šablony v C++ Globální konstantní proměnné Konstantní proměnné specifikujeme s klíčovým slovem const, tyto konstantní proměné
VíceJAVA GUI Java, zimní semestr
JAVA GUI 1 Přehled JDK1.0 AWT Abstract Window Toolkit cíl na všech platformách dobře vypadající GUI moc se nepovedlo různá omezení (např. jen 4 fonty) špatně se používalo "ne-objektový" přístup JDK1.1
Víceios Cvičení RSS čtečka
strana 1 ios Cvičení RSS čtečka Jiří Kamínek Kaminek.jiri@stoneapp.com strana 2 Vytvoření nového projektu v XCode Název RSSLesson Navigation-based Application use Core Data for storage nezaškrtávat strana
VíceDefinice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky
JAVA Třídy Definice třídy úplná definice [public] [abstract] [final] class Jmeno [extends Predek] [impelements SeznamInterfacu] {... // telo tridy public veřejná třída abstract nesmí být vytvářeny instance
VíceGUIDELINES FOR CONNECTION TO FTP SERVER TO TRANSFER PRINTING DATA
GUIDELINES FOR CONNECTION TO FTP SERVER TO TRANSFER PRINTING DATA What is an FTP client and how to use it? FTP (File transport protocol) - A protocol used to transfer your printing data files to the MAFRAPRINT
VíceJazyk C# (seminář 7)
Jazyk C# (seminář 7) Pavel Procházka KMI 5. listopadu 2014 WindowsForms basics Windows forms je abstrakce nad WinApi napsaném v C Hello world aplikace ve WinAPI má 114! řádků podle http: //msdn.microsoft.com/cs-cz/library/bb384843.aspx
VíceJava Výjimky Java, zimní semestr
Java Výjimky 1 Výjimky (exceptions) hlášení a ošetření chyb výjimka signalizuje nějaký chybový stav výjimka = instance třídy java.lang.throwable dvě podtřídy java.lang.error a java.lang.exception konkrétní
VíceDatové struktury. Obsah přednášky: Definice pojmů. Abstraktní datové typy a jejich implementace. Algoritmizace (Y36ALG), Šumperk - 12.
Obsah přednášky: Definice pojmů o datový typ, o abstraktní datový typ Datové struktury Abstraktní datové typy a jejich implementace o Fronta (Queue) o Zásobník (Stack) o Množina (Set) Algoritmizace (Y36ALG),
VíceUJO Framework. revoluční architektura beans. verze 0.80 http://ujoframework.org/
UJO Framework revoluční architektura beans verze 0.80 http://ujoframework.org/ Pavel Pone(c), září 2008 Historie rok 2004 upravené objekty z frameworku Cayenne nevýhodou byla špatná typová kontrola rok
VíceTeoretické minimum z PJV
Teoretické minimum z PJV Pozn.: následující text popisuje vlastnosti jazyka Java zjednodušeně pouze pro potřeby výuky. Třída Zavádí se v programu deklarací třídy což je část programu od klíčových slov
VíceRMI Remote Method Invocation
2. cvičení RMI Remote Method Invocation 2007/09 ver.2.0 1 RMI co to je? vyvolání metody z jiné JVM lokalizace vzdáleného objektu komunikace se vzdálenými objekty přenos objektu v bytecode typicky klient
Více14.4.1. Typický prvek kolekce pro české řazení
14.4. Co všechno by měl mít typický prvek kolekce 177 Poznámka: Třídy BigInteger, BigDecimal a Date budou vysvětleny v částech [15./183, [16./185 a [18.1./204. 14.4.1. Typický prvek kolekce pro české řazení
VíceDistribuované systémy a výpočty
Distribuované systémy a výpočty X36DSV Jan Janeček Peter Macejko CORBA Common Object Request Broker Architecture - konsorcium OMG (Object Management Group) - standard pro podporu komunikace v DS - pouze
VícePočítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006
Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006 Lekce 1 Jazyk Java Tento projekt je spolufinancován Evropským sociálním fondem
VíceObsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13
Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13 KAPITOLA 1 Na úvod o Javě 15 Počítačový program 15 Vysokoúrovňový programovací
VíceAbstraktní třída a rozhraní
Abstraktní třída a rozhraní Někdy se může stát, zejména při psaní v hierarchické struktuře hodně nadřazených tříd, že tušíme, že bude ve zděděných třídách vhodné použít nějakou metodu. Tuto metodu ještě
Vícepublic static void main(string[] args) { System.out.println(new Main().getClass().getAnnotation(Greet.class).text());
Anotace a Hibernate Aleš Nosek, Ondřej Vadinský, Daniel Krátký Anotace v Javě Anotace jsou novinkou v Javy verze 5. Anotace umožňují doplnit kód Javy o dodatečné informace. Zapisují se přímo do zdrojového
VíceÚvod do programování - Java. Cvičení č.4
Úvod do programování - Java Cvičení č.4 1 Sekvence (posloupnost) Sekvence je tvořena posloupností jednoho nebo více příkazů, které se provádějí v pevně daném pořadí. Příkaz se začne provádět až po ukončení
VíceČást I Příklad - Generické typy, iterátor
Část 1 Příklad - Generické typy, iterátor GUI v Javě Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 3 A0B36PR2 Programování 2 Generické typy Příklad
VíceVytváření a použití knihoven tříd
Vytváření a použití knihoven tříd doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Prostory jmen motivace spolupráce
VíceGUI v Javě. Jan Faigl. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze. Přednáška 3 A0B36PR2 Programování 2
GUI v Javě Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 3 A0B36PR2 Programování 2 Jan Faigl, 2016 A0B36PR2 Přednáška 3: GUI v Javě 1 / 56 Část 1 Příklad
VíceNSWI096 - INTERNET. CSS kaskádové styly. Mgr. Petr Lasák
NSWI096 - INTERNET CSS kaskádové styly Mgr. Petr Lasák MINULE
VíceGUI v Javě. Jan Faigl. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze. Přednáška 3 A0B36PR2 Programování 2
GUI v Javě Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 3 A0B36PR2 Programování 2 Jan Faigl, 2016 A0B36PR2 Přednáška 3: GUI v Javě 1 / 56 Část 1 Příklad
VíceTematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných
Tematický celek 03 3.1 Proměnné Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace. 3.1.1 Deklarace proměnných Dim jméno_proměnné [As typ] - deklarace uvnitř procedury platí pouze pro
VíceOOPR_05. Případové studie
OOPR_05 Případové studie 1 Přehled probírané látky příklad skládání objektů - čára příklad skládání objektů kompozice a agregace přetížené konstruktory pole jako datový atribut 2 Grafický objekt - čára
Více