Advertisement
Guest User

Untitled

a guest
Jan 30th, 2015
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.20 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(entry.getKey());
  130. slovo.appendChild(doc.createTextNode(entry.getValue()));
  131.  
  132. rootElement.appendChild(slovo);
  133. }
  134.  
  135.  
  136. doc.appendChild(rootElement);
  137. // write the content into xml file
  138. TransformerFactory transformerFactory = TransformerFactory.newInstance();
  139. Transformer transformer = transformerFactory.newTransformer();
  140. transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
  141. transformer.setOutputProperty(OutputKeys.INDENT, "yes");
  142.  
  143. DOMSource source = new DOMSource(doc);
  144. StreamResult result = new StreamResult(new File("file.xml"));
  145.  
  146. // Output to console for testing
  147. //StreamResult result = new StreamResult(System.out);
  148.  
  149. transformer.transform(source, result);
  150.  
  151. //System.out.println("File saved!");
  152. } catch (ParserConfigurationException pce) {
  153. pce.printStackTrace();
  154. } catch (TransformerException tfe) {
  155. tfe.printStackTrace();
  156. }
  157. }
  158. });
  159. saveToXMLButton.setText("Ulo\u017E do XML");
  160. saveToXMLButton.setBounds(280, 178, 148, 20);
  161. contentPane.add(saveToXMLButton);
  162.  
  163.  
  164. }
  165.  
  166. protected String najdiPreklad(String text) {
  167. if(mapaSlov.get(text) != null){
  168. return mapaSlov.get(text);
  169. }else
  170. return null;
  171.  
  172. }
  173. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement