Teskstialue (JTextArea) ja Scrollaus (JScrollPane)
|
|
- Helinä Halonen
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 HELIA OHJELMOINTI ict1tn006 1 (32) Viikon 14 materiaalia Teskstialue (JTextArea) ja Scrollaus (JScrollPane) JTextArea on tekstialue, jossa on useita rivejä Muodostimia: public JTextArea(int rows, int columns) public JTextArea(String text) public JTextArea(String text, int rows, int columns) Metodeja: public void settext(string stg) metodin avulla viedään alueelle uusi sisältö esim. tateksti2.settext("i rivi\nii rivi\niii rivi\n"); alueen uusi sisältö: I rivi II rivi III rivi esim. tateksti2.settext(""); koko alue tyhjenee
2 HELIA OHJELMOINTI ict1tn006 2 (32) public void append (String str) metodin avulla viedään alueen loppuun uutta tekstiä esim. tateksti1.append ("Lisää tekstiä "); tateksti1.append ("append-metodilla. "); alueen loppuun tulee teksti: Lisää teksti append-metodille public void setlinewrap (boolean paalla) tehdäänkö rivinvaihdot itse vai käyttäjä oletus false, eli käyttäjä tekee itse rivinvaihdot true, komponentti tekee rivinvaihdot itse
3 HELIA OHJELMOINTI ict1tn006 3 (32) JScrollPane tekee rollauksen mahdolliseksi Muodostimia: public JScrollPane(Component view) - parametrina annetaan komponentti, johon rollaus tulee - esim. private JTextArea tateksti1 = new JTextArea ("1. rivi\n2. rivi\n", 5, 15); private JScrollPane scrollaus1 = new JScrollPane (tateksti1); public JScrollPane(Component view,int vpolicy, int hpolicy) - parametrina annetaan komponentin lisäksi vertikaali- ja horisontaalipolitiikka: o HORIZONTAL_SCROLLBAR_AS_NEEDED o HORIZONTAL_SCROLLBAR_NEVER o HORIZONTAL_ SCROLLBAR_ALWAYS o VERTICAL_SCROLLBAR_AS_NEEDED o VERTICAL_SCROLLBAR_NEVER o VERTICAL_SCROLLBAR_ALWAYS - esim private JScrollPane scrollaus1 = new JScrollPane( tateksti1, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); public JScrollPane(int vsbpolicy, int hsbpolicy) - parametrina annetaan vertikaali- ja horisontaalipolitiikka
4 HELIA OHJELMOINTI ict1tn006 4 (32) Metodeita: void sethorizontalscrollbarpolicy(int policy) - lisää horisontaalipolittiikan void setverticalscrollbarpolicy(int policy - lisää vertikaalipolitiikan
5 HELIA OHJELMOINTI ict1tn006 5 (32) public class FrTextArea extends JFrame public FrTextArea() setsize(400,200); setlocation(100,100); settitle("testialueet"); asettelekomponentit(); setdefaultcloseoperation(jframe.exit_on_close); private void asettelekomponentit() scrollaus1.sethorizontalscrollbarpolicy (JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); scrollaus1.setverticalscrollbarpolicy (JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); // automaattinen rivinvaihto päälle tateksti1.setlinewrap(true); setlayout (new FlowLayout()); add (scrollaus1); add (scrollaus2); add(tateksti3); tateksti1.append ("Lisää tekstiä "); tateksti1.append ("append-metodilla. "); tateksti1.append ("Rivinvaihto tapahtuu automaattisesti."); tateksti2.append("4. rivi\n 5. rivi\n Sitten kovasti + tekstiä ilman rivinvaihtoja"); // käyttöliittymäkomponentit private JTextArea tateksti1 = new JTextArea ("1. rivi\n2. rivi\n", 5, 15); private JTextArea tateksti2 = new JTextArea ("1. rivi\n2. rivi\n3. rivi\n", 5, 15); private JTextArea tateksti3 = new JTextArea(); // määritellään rollaukset, joihin liitetään tekstialueet private JScrollPane scrollaus1 = new JScrollPane(taTeksti1); private JScrollPane scrollaus2 = new JScrollPane(taTeksti2);
6 HELIA OHJELMOINTI ict1tn006 6 (32) tulostuu
7 HELIA OHJELMOINTI ict1tn006 7 (32) Luettelo (JList) Luettelokomponentilla voidaan esittää ja selata luetteloita. JList-komponentin oletusmääreisiin kuuluu monivalinta, eli käyttäjä voi valita kerrallaan useita listan rivejä. JList-komponenttiin ei kuuluu automaattisesti vierityspalkit, mutta ne voidaan sinne lisätä JList-luokka periytyy SWING:n JComponent-luokasta. Object Component Container JList JComponent ListModel getmodel() int getselectedindex () int [] getselectedindecies () Object getselectedvalue() Object[] getselectedvalues() void setmodel(listmodel) void setselectedindex(int i) void setselectedindecies(int [] i) void setselectionmodel (ListSelectionModel model) requestfocus setbackground setborder setenabled setfont setvisible
8 HELIA OHJELMOINTI ict1tn006 8 (32) Muodostimia: JList () muodostin, tyhjä, lukukelponen (read-only) lista JList (ListModel model) muodostin, listaan tulostuu parametrin sisältö JList (Object [] taulu) muodostin, listaan tulostuu parametrin sisältö JList (Vector<?> data) muodostin, listaan tulostuu parametrin sisältö Metodeita: ListModel getmodel() palauttaa arvonaan ListModel-olion int getselectedindex() palauttaa arvonaan valitun rivin indeksin int[] getselectedindecies()palauttaa arvonaan valittujen rivin indeksit Object getselectedvalue() palauttaa arvonaan valitun olion Object[] getselectedvalues()palauttaa arvonaan valitut oliot void setmodel(listmodel) vie listan sisällöksi ListModel void setselectedindex(int i) valitsee listasta rivin i void setselectedindecies(int [] i) valitsee listasta rivit i[] void setselectionmodel(listselectionmodel model) yksivalinta/monivalinta
9 HELIA OHJELMOINTI ict1tn006 9 (32) Kun käytetään ns. dynaamista listaa (joka muuttuu ohjelman suorituksen aikana) JList-olio käyttää DefaultListModel-oliota Oliot luodaan seuraavasti: private DefaultLitsModel model=new DefaultListModel(); private JList jlkielet = new JList(model); Tai oliot voidaan luoda seuraavasti: private DefaultLitsModel model=new DefaultListModel(); private JList lskielet = new JList(); ja myöhemmin asettaa sisältö: lskielet.setmodel(model); DefaultListModel-olion metodeita: void add(int ind, Object ob) void addelement(object ob) void clear() Object get(int index) boolean removeelement (Object ob) void removeelementat(int ind) Lisää parametrin ob listan kohtaan index Lisää parametrin ob listan loppuun Tyhjentää listan. Palauttaa arvonaan olion kohdassa index Poistaa listasta olion ob. Poistaa olion kohdasta index
10 HELIA OHJELMOINTI ict1tn (32) Esim. Luettelo esimerkki public class FrJLista extends JFrame public FrJLista() settitle("jlist esimerkki"); setsize(250, 200); setlocation(100, 100); asettelekomponentit(); setdefaultcloseoperation(jframe.exit_on_close); public void asettelekomponentit() Container sisalto = this.getcontentpane(); sisalto.setlayout(null); // vain yhden rivin valinta lslista.setselectionmode (ListSelectionModel.SINGLE_SELECTION); sisalto.add(lbrivi); sisalto.add(tfrivi); sisalto.add(lslista); sisalto.add(btlisaa); sisalto.add(btpoista); // x, y, leveys, korkeus lbrivi.setbounds(10, 10, 70, 25); tfrivi.setbounds(85, 10, 150, 25); lslista.setbounds(85, 40, 150, 70); btlisaa.setbounds(85, 120, 70, 25); btpoista.setbounds(160, 120, 70, 25);
11 HELIA OHJELMOINTI ict1tn (32) // tapahtumakuuntelijat painikkeisiin btlisaa.addactionlistener(new AlsLisaa()); btpoista.addactionlistener(new AlsPoista()); // lisää listaan ns. hiirikuuntelija lslista.addmouselistener(new MlsLista()); // laita painike Poista pois päältä btpoista.setenabled(false); private class AlsLisaa implements ActionListener public void actionperformed(actionevent e) String rivi = tfrivi.gettext(); if (rivi.trim().length() > 0) model.addelement(rivi.trim()); tfrivi.settext(""); private class AlsPoista implements ActionListener public void actionperformed(actionevent e) String rivi = (String) lslista.getselectedvalue(); if (rivi!= null) model.removeelement(rivi); btpoista.setenabled(false); // Kun käyttäjä valitsee JList-komonentista rivin, // tama aktivoituu, eli laitetaan POista-nappula päälle private class MlsLista extends MouseAdapter public void mouseclicked(mouseevent e) btpoista.setenabled(true); ;
12 HELIA OHJELMOINTI ict1tn (32) private JTextField tfrivi = new JTextField(20); private JLabel lbrivi = new JLabel("Kirjoita rivi"); private JButton btlisaa = new JButton("Lisaa"); private JButton btpoista = new JButton("Poista"); private DefaultListModel model = new DefaultListModel(); private JList lslista = new JList(model); public static void main(string[] s) FrJLista fr = new FrJLista(); fr.setvisible(true); II Esimerkki public class FrLuetteloEsimerkki extends JFrame public FrLuetteloEsimerkki() settitle ("Luetteloesimerkki"); setsize(250, 250); setlocation (100, 100); asettelekomponentit(); setdefaultcloseoperation(jframe.exit_on_close);
13 HELIA OHJELMOINTI ict1tn (32) private void asettelekomponentit() Container sisalto = this.getcontentpane(); sisalto.setlayout (null); // lisää listaan tulostuvat rivit // DefaultListModel-olioon model.addelement("assembler"); model.addelement("c++"); model.addelement("cobol"); model.addelement("java"); model.addelement("visual Basic"); lskielet.setselectionmode (ListSelectionModel.SINGLE_SELECTION); sisalto.add (lbkielet); sisalto. add (scrollaus); sisalto. add(btannapisteet); sisalto. add(lbpisteet); lbkielet.setbounds(20,10,150,25); scrollaus.setbounds(20,40,100,80); btannapisteet.setbounds(125,60,120,25); lbpisteet.setbounds(20,115,100,25); btannapisteet.addactionlistener (new AlsAnnaPisteet()); class AlsAnnaPisteet implements ActionListener public void actionperformed (ActionEvent e) String valittu = (String)lsKielet.getSelectedValue(); if (valittu.equals ("Java")) lbpisteet.settext ("Sait 10 pistettä "); else lbpisteet.settext ("Sait 3 pistettä ");
14 HELIA OHJELMOINTI ict1tn (32) // KÄYTTÖLIITTYMÄKOMPONENTIT private JLabel lbkielet = new JLabel ("Mikä on suosikkisi? "); private JLabel lbpisteet = new JLabel (" "); private JButton btannapisteet = new JButton ("Anna Pisteet"); // dynaaminen lista määritellään näin: private DefaultListModel model = new DefaultListModel(); private JList lskielet = new JList (model); //laitetaan listaaan vierityspalkit private JScrollPane scrollaus = new JScrollPane(lsKielet); public static void main(string[] args) FrLuetteloEsimerkki fr = new FrLuetteloEsimerkki(); fr.setvisible(true);
15 HELIA OHJELMOINTI ict1tn (32) Valintalista (JComboBox) Valintalistasta käyttäjä voi valita yhden vaihtoehdon. Valintalista vie tilaa näytöllä vain valitun vaihtoehdon verran. JComboBox-luokka periytyy SWING:n JComponent-luokasta. Object Component Container JComboBox JComponent void additem(object ob) Object getitemat(int i) int getselectedindex() Object getselecteditem() Object[] getselectedobjects() void removeallitems() void removeitem(object ob) void removeitemat(int i) void setselectedindex(int i) void setselecteditem(object ob) requestfocus setbackground setborder setenabled setfont setvisible
16 HELIA OHJELMOINTI ict1tn (32) Seuraavassa on joitakin keskeisiä JComboBox-luokan metodeja: Esimerkki JComboBox () muodostin, tyhjä valintalista JComboBox (Object [] taulu) muodostin, valintalista, johon tulostuu parametrin taulu void additem(object ob) lisää rivin (Object ob) valintalistan loppuun Object getitemat(int i) palauttaa listan rivin kohdassa i int getselectedindex() palauttaa valitun rivin indeksin Object getselecteditem() palauttaa valitun rivin Object[] getselectedobjects() palauttaa valitut rivit void removeallitems() poistaa listasta kaikki void removeitem(object ob) poistaa listasta rivin ob void removeitemat(int i) poistaa listasta rivin kohdasta i void setselectedindex(int i) valitsee rivin kohdassa i void setselecteditem(object ob)valitsee rivin (Object ob)
17 HELIA OHJELMOINTI ict1tn (32) public class FrValinta extends JFrame public FrValinta () settitle ("JComboBox-esimerkki") ; setsize (250, 150) ; setlocation (100, 100) ; asettelekomponentit () ; setdefaultcloseoperation(jframe.exit_on_close); private void asettelekomponentit () Container sisalto = this.getcontentpane(); sisalto.setlayout (new FlowLayout (FlowLayout.LEFT)) ; cmkielet.additem ("Assembler") ; cmkielet.additem ("Java") ; cmkielet.additem ("C++") ; sisalto.add (lbkielet) ; sisalto.add (cmkielet) ; sisalto.add (btannapisteet) ; sisalto.add (lbpisteet) ; btannapisteet.addactionlistener(new AlsAnnaPisteet ()) ; class AlsAnnaPisteet implements ActionListener public void actionperformed (ActionEvent e) String valittu = (String)cmKielet.getSelectedItem(); if (valittu.equals ("Java")) lbpisteet.settext ("Sait 10 pistettä") ; else if (valittu.equals ("C++")) lbpisteet.settext ("Sait 9 pistettä") ; else lbpisteet.settext ("Sait 3 pistettä") ;
18 HELIA OHJELMOINTI ict1tn (32) // KÄYTTÖLIITTYMÄKOMPONENTIT private JLabel lbkielet= new JLabel ("Mikä on suosikkisi?") ; private JLabel lbpisteet = new JLabel (" "); private JComboBox cmkielet = new JComboBox () ; private JButton btannapisteet = new JButton ("Anna pisteet" ) ; public static void main(string[] args) FrValinta fr = new FrValinta(); fr.setvisible(true);
19 HELIA OHJELMOINTI ict1tn (32) Valintaruutu, JRadioButton ja JCheckBox Valintaruudut toteutetaan joko JRadioButton tai JCheckBoxkomponenttien avulla. Valintaruutu JRadioButton voidaan toteuttaa siten, että vain yksi vaihtoehdoista on valittavissa. Tällöin käytetään ButtonGroupluokkaa. ButtonGroup-luokan metodeja: void clearselection() poista valinta ButtonModel getselection() palauttaa tiedon, mikä ryhmästä on valittu boolean isselected(buttonmodel bm) palauttaa tiedon, onko parametri valittu ButtonModel-rajapinnan metodeja: String getactioncommand() palauttaa oliolle asetetun ActionCommandin nimen
20 HELIA OHJELMOINTI ict1tn (32) JComponent requestfocus setbackground setborder setenabled setfont setvisible AbstractButton void additemlistener(itemlistener i) void setactioncommand(string com) String gettext() void settext(string st) boolean isselected() void setselected (Boolean b) JToggleButton JRadioButton JRadioButton() JRadioButton(String st) JRadioButton (String st, boolean sel) JCheckBox JChechBox() JCheckBox(String st) JCheckBox (String st, boolean sel)
21 HELIA OHJELMOINTI ict1tn (32) AbstractButton-luokan metodeja: void additemlistener(itemlistener i) asetetaan tapahtumakuuntelija void setactioncommand(string com) asetetaan oliolle ActionCommandin nimi String gettext() palauttaa olion tekstin void settext(string st) boolean isselected() viedään oliolle teksti onko olio valittu (true) vai ei (false) void setselected (boolean b) valitse olio JRadioButton-luokan muodostimia: JRadioButton() oletusmuodostin JRadioButton(String st) param.muodostin, jossa olio saa tekstin JRadioButton(String st, boolean sel) param.muodostin, jossa olio saa tekstin ja se valitaan JCheckBox-luokan muodostimia: JCheckBox() oletusmuodostin JCheckBox (String st) param.muodostin, jossa olio saa tekstin JCheckBox (String st, boolean sel) param.muodostin, jossa olio saa tekstin ja se valitaan
22 HELIA OHJELMOINTI ict1tn (32) esim. public class FrValinnat extends JFrame public FrValinnat() setsize(300,330); settitle("jcheckbox ja JRadioButton"); setlocation(100,100); setdefaultcloseoperation(jframe.exit_on_close); asettelekomponentit(); private void asettelekomponentit() Container sisalto = this.getcontentpane(); sisalto.setlayout(null); //lisää JRadioButtonit ButtonGroupiin bgsukupuoli.add(rbmies); bgsukupuoli.add(rbnainen);
23 HELIA OHJELMOINTI ict1tn (32) sisalto.add(lbnimi); sisalto.add(tfnimi); sisalto.add(lbsukupuoli); sisalto.add(rbmies); sisalto.add(rbnainen); sisalto.add(lbkielet); sisalto.add(cbruotsi); sisalto.add(cbsuomi); sisalto.add(cbmuu); sisalto.add(lbmika); sisalto.add(tfmika); sisalto.add(btyhteenveto); sisalto.add(btlopeta); // x,y, leveys, korkeus lbnimi.setbounds(20,20,100, 20); tfnimi.setbounds(130,20, 100,20); lbsukupuoli.setbounds(20,60, 100, 25); rbnainen.setbounds(130, 60,70,25); rbmies.setbounds(130, 90, 70, 25); lbkielet.setbounds(20, 120, 150,25); cbruotsi.setbounds(50, 150, 130, 25); cbsuomi.setbounds(50, 180, 130, 25); cbmuu.setbounds(50, 210, 70, 25); lbmika.setbounds(140,210, 50, 25); tfmika.setbounds(195, 210, 70, 25); btyhteenveto.setbounds(20, 250, 100, 25); btlopeta.setbounds(130, 250, 100, 25); // toistaiseksi näkymätön muu kieli lbmika.setvisible(false); tfmika.setvisible(false); // vie JRadioButtonien ActionCommand:lle nimet rbnainen.setactioncommand("nainen"); rbmies.setactioncommand("mies"); btyhteenveto.addactionlistener(new AlsYhteenveto()); btlopeta.addactionlistener(new AlsLopeta()); // kuuntelija JCheckBoxiin cbmuu.additemlistener(new IlsMuu());
24 HELIA OHJELMOINTI ict1tn (32) private class AlsYhteenveto implements ActionListener public void actionperformed(actionevent e) String teksti; String nimi; nimi=tfnimi.gettext().trim(); if (nimi.length()==0) JOptionPane.showMessageDialog (null, "Kirjoita nimi!", "Viesti", JOptionPane.INFORMATION_MESSAGE) ; else nimi = nimi.substring(0,1).touppercase() + nimi.substring(1).tolowercase(); teksti = "Nimesi: " + nimi; //kumman sukupuolen käyttäjä valitsi? ButtonModel sukupuoli; sukupuoli = bgsukupuoli.getselection(); teksti += ", " + sukupuoli.getactioncommand(); teksti += "\nkielitaitosi: "; // valitsiko käyttäjä JCheckBoxin cbruotsi? if (cbruotsi.isselected()) teksti += cbruotsi.gettext()+" ja "; // valitsiko käyttäjä JCheckBoxin cbsuomi? if (cbsuomi.isselected()) teksti += cbsuomi.gettext()+" ja "; // valitsiko käyttäjä JCheckBoxin cbmuu? if (cbmuu.isselected()) if (tfmika.gettext().trim().length() > 0) teksti += tfmika.gettext().trim(); else teksti += "?";
25 HELIA OHJELMOINTI ict1tn (32) else // otetaan viimeinen ja-sana pois tekstistä teksti = teksti.substring(0,teksti.length()-3); JOptionPane.showMessageDialog (null, teksti, "Viesti", JOptionPane.INFORMATION_MESSAGE); private class AlsLopeta implements ActionListener public void actionperformed(actionevent e) System.exit(0); // kun käyttäjä valitsee valintaruudun Muu // ==> tulevat näkyviin // JLabel lbmika ja JTextFiled tfmika private class IlsMuu implements ItemListener public void itemstatechanged(itemevent e) if (cbmuu.isselected())// onko cbmuu valittu? lbmika.setvisible(true); tfmika.setvisible(true); tfmika.settext(""); else // käyttäjä poisti cbmuu valinnan lbmika.setvisible(false); tfmika.setvisible(false);
26 HELIA OHJELMOINTI ict1tn (32) // käyttöliittymäkomponentit private JLabel lbnimi = new JLabel("Kirjoita nimi:"); private JTextField tfnimi = new JTextField(); private JLabel lbsukupuoli = new JLabel("Valitse sukupuoli:"); //Ryhmä private ButtonGroup bgsukupuoli = new ButtonGroup(); private JRadioButton rbmies = new JRadioButton("Mies"); private JRadioButton rbnainen = new JRadioButton("Nainen", true); private JLabel lbkielet = new JLabel("Valitse kielet, jotka taidat:"); private JCheckBox cbruotsi = new JCheckBox("ruotsi"); private JCheckBox cbsuomi = new JCheckBox("suomi"); private JCheckBox cbmuu = new JCheckBox("muu"); private JLabel lbmika = new JLabel("Mikä?"); private JTextField tfmika = new JTextField(); private JButton btyhteenveto = new JButton("Yhteenveto"); private JButton btlopeta = new JButton("Lopeta"); public static void main(string [] s) FrValinnat fr = new FrValinnat(); fr.setvisible(true);
27 HELIA OHJELMOINTI ict1tn (32) Valikko, JMenuBar, JMenu, JMenuItem Valikoiden avulla voidaan toteuttaa samat toimenpiteet kuin nappuloillakin (JButton). Valikoiden JMenuItem-olioihin voidaan liittää tapahtumakuuntelijoita (addactionlistener(actionlistener als)). JMenuBar JMenu separator JMenuItem
28 HELIA OHJELMOINTI ict1tn (32) JComponent requestfocus setbackground setborder setenabled setfont setvisible AbstractButton void additemlistener(itemlistener i) void setactioncommand(string com) String gettext() void settext(string st) boolean isselected() void setselected (Boolean b) void setmnemonic (int mnemonic) JMenuBar JMenuBar() JMenu add(jmenu mn) JMenuItem JMenuItem(String tx) JMenuItem(String tx, int mnemonic) JMenu JMenu (String tx) JMenuItem add(jmenuitem mi) void addseparator()
29 HELIA OHJELMOINTI ict1tn (32) JMenuBar-luokan muodostin ja metodeita: JMenuBar() JMenu add(jmenu mn) oletusmuodostin lisää JMenuBar-olioon JMenu-olion JMenu-luokan muodostimia ja metodeita: JMenu (Stringt tx) JMenuItem add(jmenuitem mi) void addseparator() param.muodostin, vie tekstin Jmenu-olioon lisää JMenuItem-olion JMenu-olioon lisää JMenu-olioon ns.separaattorin JMenuItem-luokan muodostimia: JMenuItem(String tx) param.muodostin, vie tekstin Jmenu-olioon JMenuItem(String tx, int mnemonic) param.muodostin, vie tekstin ja kirjaimen JMenuItem-olioon. Kirjaimen avulla JMenuItem voidaan valita.
30 HELIA OHJELMOINTI ict1tn (32) Esimerkki public class FrValikko extends JFrame public FrValikko() settitle ("ValikkoRivi"); setsize(300, 200); setlocation(100,100); asettelekomponentit(); setdefaultcloseoperation(jframe.exit_on_close);
31 HELIA OHJELMOINTI ict1tn (32) private void asettelekomponentit() // JFrame-olion metodi, vie JMenuBar ikkunaan setjmenubar (mbvalikko); // vie JMenuBariin JMenut mbvalikko.add (mntosite); mbvalikko.add(mnohje); // vie JMenuun mntosite JMenuItemit ja separator mntosite.add(miuusi); mntosite.add(miavaa); mntosite.addseparator(); mntosite.add(milopeta); // vie JMenuun mnohje JMenuItemit mnohje.add(mietsi); mnohje.add(mitietoja); // menu ja menuitem alkukirjaimen alleviivaus mntosite.setmnemonic('t'); mnohje.setmnemonic('o'); miuusi.setmnemonic('u'); miavaa.setmnemonic('a'); milopeta.setmnemonic('l'); milopeta.addactionlistener (new AlsLopeta()); miuusi.addactionlistener (new AlsUusi()); miavaa.addactionlistener( new AlsAvaa()); class AlsUusi implements ActionListener public void actionperformed (ActionEvent e) JOptionPane.showMessageDialog ( null, "Valitsit Uusi valinnan", "ILMOITUS", JOptionPane.INFORMATION_MESSAGE);
32 HELIA OHJELMOINTI ict1tn (32) class AlsAvaa implements ActionListener public void actionperformed (ActionEvent e) JOptionPane.showMessageDialog ( null, "Valitsit Avaa valinnan", "ILMOITUS", JOptionPane.INFORMATION_MESSAGE); class AlsLopeta implements ActionListener public void actionperformed (ActionEvent e) System.exit(0); // kayttoliittymakomponentit private JMenuBar mbvalikko = new JMenuBar(); private JMenu mntosite = new JMenu ("Tosite"); private JMenu mnohje = new JMenu ("Ohje"); private JMenuItem miuusi = new JMenuItem ("Uusi"); private JMenuItem miavaa = new JMenuItem ("Avaa.."); private JMenuItem milopeta = new JMenuItem ("Lopeta"); private JMenuItem mietsi = new JMenuItem ("Etsi ohje aiheesta",'e'); private JMenuItem mitietoja = new JMenuItem ("Tietoja sovelluksesta",'s'); public static void main (String [] s) FrValikko olio = new FrValikko(); olio.setvisible(true);
GRAAFISEN KÄYTTÖLIITTYMÄN OHJELMOINTI JAVA SWING
GRAAFISEN KÄYTTÖLIITTYMÄN OHJELMOINTI JAVA SWING Käyttöliittymäkomponentteja Sovelluksen pääikkunan luominen Rinnakkainen toiminnallisuus Miten käyttöliittymä lopetetaan? Ikkunan peruskomponentit Mihin
LisätiedotOlio-ohjelmointi Käyttöliittymä
Olio-ohjelmointi 2016 Käyttöliittymä n Javalla on helppo toteuttaa yksinkertainen graafinen käyttöliittymä n AWT/Swing n JFC (Java Foundation Collection) n AWT-sisältää Javan grafiikka GUI-komponmentit
LisätiedotJAVA-OHJELMOINTI 3 op A274615
JAVA-OHJELMOINTI 3 op A274615 JFC & Swing, Look & Feel, Events Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,
LisätiedotGraafinen käyttöliittymä, osa 2
Graafinen käyttöliittymä, osa 2 Tapahtumankäsittely, käyttöliittymäkomponentteja MVC-malli M Malli V Näkymä Päivitys C Ohjain Päivitys Tapahtumat MVC-malli jakaa sovelluksen malli- ja näkymäkerroksiin.
LisätiedotJava UI-komponentit (JTable) Juha Järvensivu juha.jarvensivu@tut.fi 2007
Java UI-komponentit (JTable) Juha Järvensivu juha.jarvensivu@tut.fi 2007 JTable Datan esittäminen taulukkomuodossa Datan valitseminen taulukosta Datan muokkaaminen (lisääminen, muokkaaminen, poistaminen)
LisätiedotJava ja grafiikka. Ville Sundberg 12.12.2007
Java ja grafiikka Ville Sundberg 12.12.2007 What happen Viritetty JPanel Graphics ja Graphics2D ImageIO ja BufferedImage Animaatio ja ajastus Optimoinnista Kehykset import javax.swing.jframe; public class
LisätiedotOsio 4: Graafinen käyttöliittymä
Javan Swing-tekniikan perusteet: Muistutus: Tarvitset seuraavia komponentteja harjoituksissa: otsikkoteksti (label) muokkausruutu (text field) komentopainike (button) yhdistelmäruutu (combo box) paneeli
LisätiedotOsio 4: Graafinen käyttöliittymä
Tavoite: Opiskelija tuntee käyttöliittymän suunnittelun perusteita Opiskelija tuntee Javan Swing-tekniikan perusteet Opiskelija osaa työasemakäyttöliittymän toteutuksen perusteet käyttäen Javan Swing-tekniikkaa
LisätiedotOsio 4: Graafinen käyttöliittymä
Tavoite: Osio 4: Graafinen käyttöliittymä Opiskelija tuntee käyttöliittymän suunnittelun perusteita Opiskelija tuntee Javan Swing-tekniikan perusteet Opiskelija osaa työasemakäyttöliittymän toteutuksen
LisätiedotGraafinen käyttöliittymä, osa 3
Graafinen käyttöliittymä, osa 3 Hiiritapahtumat, valikot, Look and Feel Taustaa: painikkeen käsittely Painikkeen tapahtumalähde on JButton-komponentti. Tapahtuma synnyttää aina tapahtumaolion. painikkeelle
LisätiedotOhjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:
1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri
LisätiedotOsio 4: Graafinen käyttöliittymä
Javan Swing-tekniikan perusteet: Muistutus: Tarvitset seuraavia komponentteja harjoituksissa: otsikkoteksti (label) muokkausruutu (text field) komentopainike (button) yhdistelmäruutu (combo box) paneeli
LisätiedotMikä yhteyssuhde on?
1 Yhteyssuhde Mikä yhteyssuhde on? Yhteyssuhde Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä yhteyssuhde on? Tili - : String - : double * 1 Asiakas - hetu: String - : String
LisätiedotRajapinta (interface)
1 Rajapinta (interface) Mikä rajapinta on? Rajapinta ja siitä toteutettu luokka Monimuotoisuus ja dynaaminen sidonta Rajapinta vs periytyminen 1 Mikä rajapinta on? Rajapintoja käytetään, kun halutaan määritellä
LisätiedotOhjelmointi 2 / 2010 Välikoe / 26.3
Ohjelmointi 2 / 2010 Välikoe / 26.3 Välikoe / 26.3 Vastaa neljään (4) tehtävään ja halutessa bonustehtäviin B1 ja/tai B2, (tuovat lisäpisteitä). Bonustehtävät saa tehdä vaikkei olisi tehnyt siihen tehtävään
LisätiedotMetodien tekeminen Javalla
1 Metodien tekeminen Javalla Mikä metodi on? Metodin syntaksi Metodi ja sen kutsuminen Parametreista Merkkijonot ja metodi Taulukot ja metodi 1 Mikä metodi on? Metodilla toteutetaan luokkaan toiminnallisuutta.
LisätiedotListarakenne (ArrayList-luokka)
Listarakenne (ArrayList-luokka) Mikä on lista? Listan määrittely ArrayList-luokan metodeita Listan läpikäynti Listan läpikäynti indeksin avulla Listan läpikäynti iteraattorin avulla Listaan lisääminen
LisätiedotTietorakenteet. JAVA-OHJELMOINTI Osa 5: Tietorakenteita. Sisällys. Merkkijonot (String) Luokka String. Metodeja (public)
Tietorakenteet JAVA-OHJELMOINTI Osa 5: Tietorakenteita Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto Olioita ja tietoja voidaan organisoida määrämuotoisiksi tietorakenteiksi Hyödyllisiä
LisätiedotKompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma
1 Kompositio Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä kompositio on? Tili - : String - : double 1 1 Kayttoraja
LisätiedotLuokan sisällä on lista
1 Luokan sisällä on lista Luokan sisällä lista Listan sisältävä luokka Konstruktorit get-metodi Lista muissa metodeissa addxx-metodi Yksinkertainen pääohjelma Kertauksen List-luokan metodeja 1 Luokan sisällä
LisätiedotYHTEYSSUHDE (assosiation)
YHTEYSSUHDE (assosiation) -Mikä on yhteyssuhde? -Miten toteutan yhteyssuhteen? 1 Mikä on yhteyssuhde? Yhteyssuhde kuvaa kahden olion välistä suhdetta: Esim. Auto Henkilö, omistussuhde Tili Asiakas, omistussuhde
LisätiedotJava Swing. Juha Järvensivu 2007
Java Swing Juha Järvensivu juha.jarvensivu@tut.fi 2007 Sisällys Java ympäristöt Java kirjastot Java Foundation Classes (JFC) Hello Java Swing-kirjasto Grafiikan piirto Tapahtumankäsittely Java ympäristö
LisätiedotOhjelmoinnin jatkokurssi, kurssikoe 28.4.2014
Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.
LisätiedotKääreluokat (oppikirjan luku 9.4) (Wrapper-classes)
Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokista Javan alkeistietotyypit ja vastaavat kääreluokat Autoboxing Integer-luokka Double-luokka Kääreluokista Alkeistietotyyppiset muuttujat (esimerkiksi
LisätiedotLuokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista.
1 Luokka Murtoluku uudelleen Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista. Sievennettäessä tarvitaan osoittajan ja nimittäjän suurin yhteinen tekijä (syt).
LisätiedotJava Swing. Juha Järvensivu 2008
Java Swing Juha Järvensivu juha.jarvensivu@tut.fi 2008 Sisällys Java ympäristöt Java kirjastot Java Foundation Classes (JFC) Hello Java Swing-kirjasto Grafiikan piirto Tapahtumankäsittely Java ympäristö
LisätiedotJavan GUI Scratchaajalle
Javan GUI Scratchaajalle Tehtävä: Kasvukausi_1 Kun puutarha nyt näyttää oikealta, sitä olisi hyvä alkaa ohjelmoida toimivaksi. Tehdään aluksi istutukselle kuuntelija, jotta sitä klikkaamalla multaan voi
LisätiedotJava-kielen perusteita
Java-kielen perusteita Käyttäjän kanssa keskusteleva ohjelma 1 Kirjoittaminen konsolinäkymään //Java ohjelma, joka tulostaa konsoli-ikkunaan public class HeiMaailma { public void aja() { // kirjoitus ja
LisätiedotJava-kielen perusteet
Java-kielen perusteet String-merkkijonoluokka 1 Ohjelmointikielten merkkijonot Merkkijonot ja niiden käsittely on välttämätöntä ohjelmoinnissa Valitettavasti ohjelmointikielten tekijät eivät tätä ole ottaneet
LisätiedotOlio-ohjelmointi Javalla
1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi
LisätiedotTapahtumapohjainen ohjelmointi. Juha Järvensivu juha.jarvensivu@tut.fi 2007
Tapahtumapohjainen ohjelmointi Juha Järvensivu juha.jarvensivu@tut.fi 2007 Sisältö Tapahtumapohjainen ohjelmointi Käyttöliittymän rakenne Pääikkuna (top-level window) Lapsi-ikkuna (child window) Dialogit
LisätiedotJava-kielen perusteet
Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, literaalivakio, nimetty vakio Tiedon merkkipohjainen tulostaminen 1 Tunnus Java tunnus Java-kirjain Java-numero
LisätiedotIkkunointijärjestelmät
Ikkunointijärjestelmät Johdanto X-ikkunointijärjestelmä Java Yhteenveto Petri Vuorimaa 1 Tehtävät Piirtorutiinit Syöttölaitteiden monitorointi Tapahtumien välitys Ikkunoiden manipulointi Petri Vuorimaa
LisätiedotOhjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka
LisätiedotList-luokan soveltamista. Listaan lisääminen Listan läpikäynti Listasta etsiminen Listan sisällön muuttaminen Listasta poistaminen Listan kopioiminen
1 List-luokan soveltamista List-luokan metodeja Listaan lisääminen Listan läpikäynti Listasta etsiminen Listan sisällön muuttaminen Listasta poistaminen Listan kopioiminen 1 List-luokan metodeja List-luokan
LisätiedotOsio 4: Graafinen käyttöliittymä
Tavoite: Opiskelija tuntee käyttöliittymän suunnittelun perusteita Opiskelija tuntee Javan Swing-tekniikan perusteet Opiskelija osaa työasemakäyttöliittymän toteutuksen perusteet käyttäen Javan Swing-tekniikkaa
Lisätiedoton ohjelmoijan itse tekemä tietotyyppi, joka kuvaa käsitettä
LUOKAN MÄÄRITTELY Luokka, mitä se sisältää Luokan määrittely Olion ominaisuudet eli attribuutit Olion metodit Olion muodostimet ja luonti Olion tuhoutuminen Metodin kutsu luokan ulkopuolelta Olion kopioiminen
LisätiedotA) on käytännöllinen ohjelmointitekniikka. = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys)
1(37) PERIYTYMINEN (inheritance) YLILUOKKA (superclass) ALILUOKKA (subclass) A) on käytännöllinen ohjelmointitekniikka = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys) B) on käsitteiden
LisätiedotOsio 4: Graafinen käyttöliittymä
Tavoite: Opiskelija tuntee käyttöliittymän suunnittelun perusteita Opiskelija tuntee Javan Swing-tekniikan perusteet Opiskelija osaa työasemakäyttöliittymän toteutuksen perusteet käyttäen Javan Swing-tekniikkaa
LisätiedotHarjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:
Harjoitus 7 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: class Lintu //Kentät private int _siivenpituus; protected double _aivojenkoko; private bool _osaakolentaa; //Ominaisuudet public int
LisätiedotOhjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen
Ohjelmointitaito (ict1td002, 12 op) Kevät 2009 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-kehitysympäristö Java-ohjelma ja luokka
LisätiedotYleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.
2. Taulukot 2.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.2 Yleistä
LisätiedotGraafisen käyttöliittymän ohjelmointi
TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Luento 2 Tapahtumapohjainen ohjelmointi Juha-Matti Vanhatupa Sisältö Tapahtumapohjainen ohjelmointi Tapahtumakuuntelijoiden
Lisätiedotpublic static void main (String [] args)
HAAGA-HELIA OHJELMOINTI 1(5) OHJELMALUOKKA Ohjelma-luokan käynnistää public static void main (String [] args) main-metodiin voi koodata 1. ohjelman logiikan tai 2. luoda ohjelma-olion ja kutsua metodia,
LisätiedotOhjelmointi 2 / 2008 Välikoe / Pöytätestaa seuraava ohjelma.
Välikoe / 20.3 Vastaa neljään (4) tehtävään. Jos vastaat 5:een, 4 huonointa arvostellaan. Kunkin tehtävän vastaus eri konseptille. 1. Pöytätesti Pöytätestaa seuraava ohjelma. Tutki ohjelman toimintaa pöytätestillä
LisätiedotSisältö. 22. Taulukot. Yleistä. Yleistä
Sisältö 22. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.1 22.2 Yleistä
LisätiedotTehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki
Tehtävä 1 Koherentti selitys Koherentti esimerkki ½p ½p Tehtävä 2 Täysiin pisteisiin edellytetään pelaajien tulostamista esimerkin järjestyksessä. Jos ohjelmasi tulostaa pelaajat jossain muussa järjestyksessä,
LisätiedotMetodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen
Metodit Metodien määrittely Metodin parametrit ja paluuarvo Metodien suorittaminen eli kutsuminen Metodien kuormittaminen 1 Mikä on metodi? Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus
LisätiedotLuokan muodostimet (Constructors)
Mikä on muodostin? Luokan muodostimet (Constructors) Millaisia muodostimia on? Oletusmuodostin (Default Constructor) Parametrillinen muodostin Kopiointimuodostin (Copy Constructor) this-muuttuja Miten
Lisätiedot4. Luokan testaus ja käyttö olion kautta 4.1
4. Luokan testaus ja käyttö olion kautta 4.1 Olion luominen luokasta Java-kielessä olio määritellään joko luokan edustajaksi tai taulukoksi. Olio on joukko keskusmuistissa olevia tietoja. Oliota käsitellään
Lisätiedot20. Javan omat luokat 20.1
20. Javan omat luokat 20.1 Sisällys Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 20.2 Java API Java-kielen Application Programming Interface (API)
LisätiedotSisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang
Sisällys 20. Javan omat luokat Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 20.1 20.2 Java API Java-kielen Application Programming Interface (API)
LisätiedotTietorakenteet, laskuharjoitus 7,
Tietorakenteet, laskuharjoitus 7, 14.-19.3. 1. "Tira meets software engineering, osa 1" Lue luentomonisteen kalvot 233-236. Toteuta luokka Opiskelijarekisteri joka tarjoaa seuraavat palvelut: opiskelijoiden
LisätiedotOpintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen Taulukot: Array Taulukko Javassa pitää aina perustaa (new) Yksinkertaisessa tilanteessa taulukon koko tiedetään etukäteen ja
LisätiedotInformaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo 15.2.2006
TURUN YLIOPISTO DEMO III Informaatioteknologian laitos tehtävät Olio-ohjelmoinnin perusteet / Salo 15.2.2006 1. Tässä tehtävässä tarkastellaan erääntyviä laskuja. Lasku muodostaa oman luokkansa. Laskussa
LisätiedotJAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?
JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,
LisätiedotLuento 5. T Ohjelmoinnin jatkokurssi T1 & T Ohjelmoinnin jatkokurssi L1. Luennoitsija: Otto Seppälä
Luento 5 T-106.1240 Ohjelmoinnin jatkokurssi T1 & T-106.1243 Ohjelmoinnin jatkokurssi L1 Luennoitsija: Otto Seppälä Kurssin WWW: http://www.cs.hut.fi/opinnot/t-106.1240/s2007 Patterns & AWT/Swing Observer-pattern
Lisätiedot1. Omat operaatiot 1.1
1. Omat operaatiot 1.1 Sisällys Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma
LisätiedotLista luokan sisällä
Lista luokan sisällä Luokan sisällä on lista Joukkue-luokka, joka sisältää listän joukkueen pelaajista Pelaaja Joukkueen metodit, jotka käyttävät listaa Ohjelmaluokka Luokan sisällä on lista Tarkoitta
LisätiedotYksikkötestaus. Kattava testaus. Moduulitestaus. Ohjelman testaus. yksikkotestaus/ Seija Lahtinen
Yksikkötestaus Kattava testaus Moduulitestaus Ohjelman testaus 1 Kattava testaus Testauksen perimmäinen tarkoitus on LÖYTÄÄ VIRHEITÄ Testaus pitäisi olla täydellinen: - Jokainen pyydetty arvo pitäisi testata
LisätiedotJava kahdessa tunnissa. Jyry Suvilehto
Java kahdessa tunnissa Jyry Suvilehto Ohjelma Ohjelmointiasioita alkeista nippelitietoon n. 45 min Tauko 10 min Oliot, luokat ja muut kummajaiset n. 45 min Kysykää Sisältöä ei oikeasti ole 2x45 min täytteeksi,
Lisätiedot9. Periytyminen Javassa 9.1
9. Periytyminen Javassa 9.1 Sisällys Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Ilmentymämetodien korvaaminen. Luokkametodien peittäminen. Super-attribuutti. Override-annotaatio.
Lisätiedot11. Javan valintarakenteet 11.1
11. Javan valintarakenteet 11.1 Sisällys If- ja if-else-lauseet. Orpo else. Valintaa toisin: switch-lause. 11.2 If-lause Merkitään varatulla sanalla if. Kuvaa yksisuuntaisen päätöksen: rakenteen lauseet
LisätiedotJavan GUI Scratchaajalle
Javan GUI Scratchaajalle Graafisen ikkunan luonti Aiemmin ohjelmoimme luokat ja metodit itse. Graafisia ohjelmia tehdessä kaikkea ei kannata tehdä itse, osan voi ottaa valmiina. Näitä valmishahmoja, eli
LisätiedotLuokat ja oliot. Ville Sundberg
Luokat ja oliot Ville Sundberg 12.9.2007 Maailma on täynnä olioita Myös tietokoneohjelmat koostuvat olioista Σ Ο ω Μ ς υ φ Ϊ Φ Θ ψ Љ Є Ύ χ Й Mikä on olio? Tietokoneohjelman rakennuspalikka Oliolla on kaksi
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 18: Graaset käyttöliittymät Riku Saikkonen (merkityt ei-laajan kurssin kalvot: Otto Seppälä) 3. 3. 2011 Sisältö 1 Graasten käyttöliittymien oliomalli 2
Lisätiedot18. Abstraktit tietotyypit 18.1
18. Abstraktit tietotyypit 18.1 Sisällys Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:
Lisätiedot812341A Olio-ohjelmointi Peruskäsitteet jatkoa
812341A Olio-ohjelmointi 2106 Peruskäsitteet jatkoa Luokkakohtaiset piirteet n Yhteisiä kaikille saman luokan olioille n Liittyvät luokkaan, eivät yksittäiseen olioon n Kaikki ko. luokan oliot voivat käyttää
LisätiedotTaulukoiden käsittely Javalla
1 Taulukoiden käsittely Javalla Mikä taulukko on? Taulukon syntaksi Merkkijonotaulukko Lukutaulukko Taulukon kopiointi 1 Mikä taulukko on? Taulukko on rakenne, minne saadaan talteen usea saman tyyppinen
LisätiedotTapahtumapohjainen ohjelmointi. Juha Järvensivu 2008
Tapahtumapohjainen ohjelmointi Juha Järvensivu juha.jarvensivu@tut.fi 2008 Sisältö Tapahtumapohjainen ohjelmointi Käyttöliittymän rakenne Pääikkuna (top-level window) Lapsi-ikkuna (child window) Dialogit
LisätiedotJavan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi
1 Javan perusteet Ohjelmointi IPO-malli Java lähdekoodista suoritettavaksi ohjelmaksi Vakio Muuttuja Miten Javalla näytetään tietoa käyttäjälle, miten Javalla luetaan käyttäjän antama syöte Miten Javalla
LisätiedotSisältö. 2. Taulukot. Yleistä. Yleistä
Sisältö 2. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.1 2.2 Yleistä
LisätiedotTIETORAKENTEET JA ALGORITMIT
TIETORAKENTEET JA ALGORITMIT Timo Harju 1999-2004 1 typedef link List; /* Vaihtoehtoisia nimiä */ typedef link Stack; /* nodepointterille */ typedef link Queue typedef struct node Node; /* itse nodelle
LisätiedotSisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto
Sisällys 18. bstraktit tietotyypit Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.1 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:
Lisätiedot17. Javan omat luokat 17.1
17. Javan omat luokat 17.1 Sisällys Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 17.2 Java API Java-kielen Application Programming Interface (API)
LisätiedotOhjelmoinnin perusteet, kurssikoe
Ohjelmoinnin perusteet, kurssikoe 18.6.2014 Kirjoita jokaiseen konseptiin kurssin nimi, kokeen päivämäärä, nimi, TMC-tunnus ja opiskelijanumero tai henkilötunnus. Vastaukset palautetaan tehtäväkohtaisiin
LisätiedotSisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista
Sisällys 1. Omat operaatiot Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma
Lisätiedot16. Javan omat luokat 16.1
16. Javan omat luokat 16.1 Sisällys Johdanto. Object-luokka: tostring-, equals-, clone- ja getclass-metodit. Comparable-rajapinta: compareto-metodi. Vector- ja ArrayList-luokat. 16.2 Javan omat luokat
LisätiedotRinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti
Rinnakkaisohjelmointi kurssi Opintopiiri työskentelyn raportti Opintopiiri: Heikki Karimo, Jesse Paakkari ja Keijo Karhu Päiväys: 15.12.2006 Ohjelmointitehtävä C i C i : Säikeet ja kriittisen vaiheen kontrollointi
Lisätiedot7. Näytölle tulostaminen 7.1
7. Näytölle tulostaminen 7.1 Sisällys System.out.println- ja System.out.print-operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden muotoilua. 7.2 Tulostusoperaatiot System.out.println-operaatio
LisätiedotJavan perusteita. Janne Käki
Javan perusteita Janne Käki 20.9.2006 Muutama perusasia Tietokone tekee juuri (ja vain) sen, mitä käsketään. Tietokone ymmärtää vain syntaksia (sanojen kirjoitusasua), ei semantiikkaa (sanojen merkitystä).
LisätiedotTietokantarakenteet, k2011 Niemistö, Jesse; m0703165 Viitanen, Lauri; 0803739. Drinkkitietokanta
Tietokantarakenteet, k2011 Niemistö, Jesse; m0703165 Viitanen, Lauri; 0803739 Drinkkitietokanta _' _ =. ' o. o o @. o _o_._'_ / \ o_. '\~~~~~/ =1 \~~~~~/ '-.-' =9 '-.-' -9 _ _ _9_ _ _ `"""` _._ `"""` `"""`
LisätiedotHarjoitustyö (TKO_2023)
Harjoitustyö (TKO_2023) Jyri Lehtonen (72039) (alkuperäinen 29.1.2008) päivitetty: 8.2.2008 1 Tehtävän kuvaus ja analysointi 1.1 Tehtävänanto Tee Java-appletti, joka kysyy käyttäjältä asioita Java-kielestä.
Lisätiedot9. Periytyminen Javassa 9.1
9. Periytyminen Javassa 9.1 Sisällys Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Metodien korvaaminen ja super-attribuutti. Attribuutin peittäminen periytymisen kautta. Rakentajat
LisätiedotAlkuehdot. Motivointi (1/2) Ohjelmointi II, kevät 2004 Kuopion yliopisto. Motivointi (2/2) (C) Mauno Rönkkö. Mitä tekee kutsupieninalkio(t, 10)?
Ohjelmointi II, kevät 2004 Kuopion yliopisto (C) Mauno Rönkkö (Kalvot tarkoitettu itseopiskelun tueksi. Muu käyttö kielletty ilman lupaa.) Motivointi (1/2) int pieninalkio (int[] t, int l) //palauttaa
LisätiedotSisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki
Sisällys JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta Abstrakti luokka ja metodi Rajapintamäärittely (interface) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E.
LisätiedotJava-API, rajapinnat, poikkeukset, UML,...
Java-API, rajapinnat, r poikkeukset, UML,... Janne Käki 12.10.2006 Keskeisimmät Java-API:n pakkaukset API = Application Programming Interface eli sovellusohjelmointirajapinta (!) pakkaus (engl. package)
LisätiedotTässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ).
Tehtävä 1: Metodit, listat, alkuluvut (4p) Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ). Alkuluvut ovat lukuja, jotka ovat suurempia kuin yksi ja jotka ovat jaollisia
LisätiedotJavan GUI Scratchaajalle
Javan GUI Scratchaajalle Asettelu Tähän mennessä olemme luoneet ikkunan, johon voi laittaa yhden komponentin, kuten nappulan. Yksi komponentti harvoin riittää. Useampaa komponenttia lisäillessä meidän
Lisätiedot1 Tehtävän kuvaus ja analysointi
Olio-ohjelmoinnin harjoitustyön dokumentti Jyri Lehtonen (72039) Taneli Tuovinen (67160) 1 Tehtävän kuvaus ja analysointi 1.1 Tehtävänanto Tee luokka, jolla mallinnetaan sarjaan kytkettyjä kondensaattoreita.
LisätiedotJava-kielen perusteet
Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, Vakio Tiedon merkkipohjainen tulostaminen Ohjelmointi (ict1tx006) Tunnus (5.3) Javan tunnus Java-kirjain Java-numero
LisätiedotTaulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu
Taulukot Taulukon määrittely ja käyttö Taulukko metodin parametrina Taulukon sisällön kopiointi toiseen taulukkoon Taulukon lajittelu esimerkki 2-ulottoisesta taulukosta 1 Mikä on taulukko? Taulukko on
Lisätiedot7. Oliot ja viitteet 7.1
7. Oliot ja viitteet 7.1 Sisällys Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden sijoitus. Viitteiden vertailu. Varautuminen null-arvoon. Viite metodin paluuarvona. Viite metodin
LisätiedotKOHDELUOKAN MÄÄRITTELY
KOHDELUOKAN MÄÄRITTELY Kohdeluokka, mitä se sisältää Luokan määrittely Olion ominaisuudet eli attribuutit Olion metodit Olion luonti Olion tuhoutuminen Metodin kutsu luokan ulkopuolelta Taulukon alkiona
Lisätiedot// Tulostetaan double-tyyppiseen muuttujaan "hinta" tallennettu // kertalipun hinta ja vaihdetaan riviä. System.out.printf("%.1f euros.
Lue kukin tehtävänanto huolellisesti ja kokonaisuudessaan ennen kuin aloitat vastaamisen. Kustakin tehtävästä voi saada 0 6 pistettä. Tentin läpipääsyraja on 12 / 24 pistettä. Ratkaisut palautetaan WETO-järjestelmään
LisätiedotOlio-ohjelmointi Suunnittelumallit Adapter ja Composite. 1. Adapter
Olio-ohjelmointi Suunnittelumallit Adapter ja Composite Rakennemalleissa päähuomio kohdistetaan siihen, miten luokkia ja olioita yhdistellään muodostamaan laajempia rakenteita. Rakenteelliset luokkamallit
LisätiedotEclipse & WindowBuilder
Eclipse & WindowBuilder Yleistä asiaa WindowBuilder on Eclipsessä oleva työkalu, jolla voi graafisesti tehdä käyttöliittymiä. Käyttö perustuu siihen, ettei varsinaista ohjelmakoodia tarvitse itse tehdä,
LisätiedotOhjelmointi 1 / 2009 syksy Tentti / 18.12
Tentti / 18.12 Vastaa yhteensä neljään tehtävään (huomaa että tehtävissä voi olla useita alakohtia), joista yksi on tehtävä 5. Voit siis valita kolme tehtävistä 1 4 ja tehtävä 5 on pakollinen. Vastaa JOKAISEN
LisätiedotSisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2
4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä
LisätiedotRinnakkaisohjelmointi, Syksy 2006
Rinnakkaisohjelmointi, Syksy 2006 17.12.2006 Opintopiiri WTF Mika Holmström Paula Kemppi Janne Piippo Lasse Lukkari Javan semaforit 1. Menetelmän käyttötarkoitus ja sovellusalue Semaforin idea kehitettiin
Lisätiedot