. Дейтел, С. І. Сантрі Програмування на Java - ДіаСофтЮП, 2010.
. Герберт Шілтд, Джеймс Холмс, Мистецтво програмування на Java, М: Вільямс, 331с.
. Монкур, Майкл Опануй самостійно JavaScript за 24 години; М.: Вільямс, 2009. - 320 c.
Додаток А
Лістінг коду NotePad.java
package notepad; java.util. *; java.util.zip. *; java.io. *; java.awt.event. *; javax.swing. *;
/ **
*
* @ author Markus
* / class Notepad extends JFrame {Properties properties; JTabbedPane tabbedPane; Notepad () {(«Блокнот»);=new Properties ();
/ / завантажуємо дані {in=new FileInputStream («data.not»); inz=new ZipInputStream (in);. getNextEntry (); input=new BufferedInputStream (inz, 8192);. loadFromXML (input);. close ();
} catch (IOException e) {
/ / у випадка коли невдалось отріматі дані з файлу, то Створюємо порожню properties (char i=« u0410»; i <« u0430»; i + +). put (String . valueOf (i), «»);
}=new JTabbedPane (); (char i=« u0410»; i <« u0430»; i + +) {s=(String) properties.get (String. valueOf (i));. add (String.valueOf (i), new JScrollPane (new MyTextArea (s)));
} (tabbedPane); (JFrame.DISPOSE_ON_CLOSE); (getWindowAdapter ()); (600,400); (true);
}
/ / похідній метод повертає слухач подій вікна
private WindowAdapter getWindowAdapter () {new WindowAdapter () {void windowClosing (WindowEvent e) {
/ / змінюємо дані в properties (char i=« u0410»; i <« u0430»; i + +) {p=(JScrollPane) tabbedPane.getComponentAt (i - 0x0410 ); t=(MyTextArea) p.getViewport (). getView ();. put (String.valueOf (i), t.getText ());
}
/ / зберігаємо дані у файлі {ou=new FileOutputStream («data.not»); ouz=new ZipOutputStream (ou);. putNextEntry (new ZipEntry («Data»)); output =new BufferedOutputStream (ouz, 8192);. storeToXML (output, «Data»);. close ();
} catch (IOException exc) {;}
}
};
} static void main (String [] args) {Notepad ();
}
}
Додаток Б
Лістінг коду MyTextArea.javanotepad; java.awt.event. *; javax.swing. *;
/ **
*
* @ author Markus
* / MyTextArea extends JTextArea implements ActionListener, MouseListener {
ImageIcon cutImage; ImageIcon copyImage; ImageIcon pasteImage; ImageIcon selectAllImage; (String text) {(text); (this); clas=getClass ();=new ImageIcon (clas.getResource («cut . gif »));=new ImageIcon (clas.getResource (« copy.gif »));=new ImageIcon (clas.getResource (« paste.gif »));=new ImageIcon (clas.getResource (« select_all.gif »));
}
/ / реалізація інтерфейсу ActionListenervoid actionPerformed (ActionEvent e) {jMenuItem=(JMenuItem) e.getSource (); s=jMenuItem.getText (); (s.equals («Вірізаті»)) { ();;
} (s.equals («Копіюваті»)) {();;
...