Advertisement
Guest User

Untitled

a guest
Jan 30th, 2015
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.25 KB | None | 0 0
  1. import java.awt.BorderLayout;
  2. import java.awt.EventQueue;
  3.  
  4. import javax.swing.JButton;
  5. import javax.swing.JFrame;
  6. import javax.swing.JPanel;
  7. import javax.swing.JTextPane;
  8. import javax.swing.border.EmptyBorder;
  9.  
  10. import java.awt.FlowLayout;
  11.  
  12. import javax.swing.JTextField;
  13. import javax.swing.BoxLayout;
  14. import javax.xml.parsers.DocumentBuilder;
  15. import javax.xml.parsers.DocumentBuilderFactory;
  16. import javax.xml.parsers.ParserConfigurationException;
  17. import javax.xml.transform.OutputKeys;
  18. import javax.xml.transform.Transformer;
  19. import javax.xml.transform.TransformerException;
  20. import javax.xml.transform.TransformerFactory;
  21. import javax.xml.transform.dom.DOMSource;
  22. import javax.xml.transform.stream.StreamResult;
  23.  
  24. import org.w3c.dom.Attr;
  25. import org.w3c.dom.Document;
  26. import org.w3c.dom.Element;
  27. import org.xml.sax.SAXException;
  28.  
  29. import java.awt.GridLayout;
  30. import java.awt.GridBagLayout;
  31. import java.awt.GridBagConstraints;
  32. import java.awt.Insets;
  33. import java.awt.event.ActionListener;
  34. import java.awt.event.ActionEvent;
  35. import java.io.File;
  36. import java.io.FileInputStream;
  37. import java.io.IOException;
  38. import java.util.HashMap;
  39. import java.util.Map.Entry;
  40.  
  41.  
  42. public class Slovnik extends JFrame {
  43.  
  44. private JPanel contentPane;
  45. private JTextPane zobrazField;
  46. private JTextField vyhledavacField;
  47. private JButton vyhledavacButton;
  48. private HashMap<String, String> mapaSlov = new HashMap<String, String>();
  49. private boolean noveSlovo = false;
  50. private JButton saveToXMLButton;
  51.  
  52. /**
  53. * Launch the application.
  54. */
  55. public static void main(String[] args) {
  56. EventQueue.invokeLater(new Runnable() {
  57. public void run() {
  58. try {
  59. Slovnik frame = new Slovnik();
  60. frame.setVisible(true);
  61. } catch (Exception e) {
  62. e.printStackTrace();
  63. }
  64. }
  65. });
  66. }
  67.  
  68. /**
  69. * Create the frame.
  70. */
  71. public Slovnik() {
  72.  
  73. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  74. setBounds(100, 100, 450, 245);
  75. contentPane = new JPanel();
  76. contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  77. setContentPane(contentPane);
  78. contentPane.setLayout(null);
  79.  
  80. vyhledavacField = new JTextField();
  81. vyhledavacField.setBounds(10, 11, 260, 20);
  82. contentPane.add(vyhledavacField);
  83. vyhledavacField.setColumns(10);
  84.  
  85. zobrazField = new JTextPane();
  86. zobrazField.setBounds(10, 42, 260, 125);
  87. contentPane.add(zobrazField);
  88.  
  89.  
  90. vyhledavacButton = new JButton();
  91. vyhledavacButton.addActionListener(new ActionListener() {
  92. public void actionPerformed(ActionEvent arg0) {
  93. String preklad = najdiPreklad(vyhledavacField.getText());
  94. if(preklad!=null){
  95. zobrazField.setText(preklad);
  96. }else{
  97. zobrazField.setText("Prosím zadejte překlad");
  98. }
  99. }
  100. });
  101. vyhledavacButton.setBounds(280, 11, 148, 20);
  102. vyhledavacButton.setText("Najdi překlad");
  103. contentPane.add(vyhledavacButton);
  104.  
  105. JButton ulozButton = new JButton();
  106. ulozButton.addActionListener(new ActionListener() {
  107. public void actionPerformed(ActionEvent arg0) {
  108. mapaSlov.put(vyhledavacField.getText(),zobrazField.getText());
  109. }
  110. });
  111. ulozButton.setText("Ulož překlad");
  112. ulozButton.setBounds(280, 147, 148, 20);
  113. contentPane.add(ulozButton);
  114.  
  115. saveToXMLButton = new JButton();
  116. saveToXMLButton.addActionListener(new ActionListener() {
  117. public void actionPerformed(ActionEvent arg0) {
  118. try {
  119.  
  120. DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
  121. DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
  122.  
  123. // root elements
  124. Document doc = docBuilder.newDocument();
  125.  
  126. Element rootElement = doc.createElement("vocabulary");
  127.  
  128. for(Entry<String, String> entry : mapaSlov.entrySet()) {
  129. Element slovo = doc.createElement("word");
  130. slovo.setAttribute("id", entry.getKey());
  131.  
  132. slovo.appendChild(doc.createTextNode(entry.getValue()));
  133.  
  134. rootElement.appendChild(slovo);
  135. }
  136.  
  137.  
  138. doc.appendChild(rootElement);
  139. // write the content into xml file
  140. TransformerFactory transformerFactory = TransformerFactory.newInstance();
  141. Transformer transformer = transformerFactory.newTransformer();
  142. transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
  143. transformer.setOutputProperty(OutputKeys.INDENT, "yes");
  144.  
  145. DOMSource source = new DOMSource(doc);
  146. StreamResult result = new StreamResult(new File("file.xml"));
  147.  
  148. // Output to console for testing
  149. //StreamResult result = new StreamResult(System.out);
  150.  
  151. transformer.transform(source, result);
  152.  
  153. //System.out.println("File saved!");
  154. } catch (ParserConfigurationException pce) {
  155. pce.printStackTrace();
  156. } catch (TransformerException tfe) {
  157. tfe.printStackTrace();
  158. }
  159. }
  160. });
  161. saveToXMLButton.setText("Ulo\u017E do XML");
  162. saveToXMLButton.setBounds(280, 178, 148, 20);
  163. contentPane.add(saveToXMLButton);
  164.  
  165.  
  166. }
  167.  
  168. protected String najdiPreklad(String text) {
  169. if(mapaSlov.get(text) != null){
  170. return mapaSlov.get(text);
  171. }else
  172. return null;
  173.  
  174. }
  175. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement