Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.BorderLayout;
- import java.awt.EventQueue;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.JTextPane;
- import javax.swing.border.EmptyBorder;
- import java.awt.FlowLayout;
- import javax.swing.JTextField;
- import javax.swing.BoxLayout;
- import javax.xml.parsers.DocumentBuilder;
- import javax.xml.parsers.DocumentBuilderFactory;
- import javax.xml.parsers.ParserConfigurationException;
- import javax.xml.transform.OutputKeys;
- import javax.xml.transform.Transformer;
- import javax.xml.transform.TransformerException;
- import javax.xml.transform.TransformerFactory;
- import javax.xml.transform.dom.DOMSource;
- import javax.xml.transform.stream.StreamResult;
- import org.w3c.dom.Attr;
- import org.w3c.dom.Document;
- import org.w3c.dom.Element;
- import org.xml.sax.SAXException;
- import java.awt.GridLayout;
- import java.awt.GridBagLayout;
- import java.awt.GridBagConstraints;
- import java.awt.Insets;
- import java.awt.event.ActionListener;
- import java.awt.event.ActionEvent;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.IOException;
- import java.util.HashMap;
- import java.util.Map.Entry;
- public class Slovnik extends JFrame {
- private JPanel contentPane;
- private JTextPane zobrazField;
- private JTextField vyhledavacField;
- private JButton vyhledavacButton;
- private HashMap<String, String> mapaSlov = new HashMap<String, String>();
- private boolean noveSlovo = false;
- private JButton saveToXMLButton;
- /**
- * Launch the application.
- */
- public static void main(String[] args) {
- EventQueue.invokeLater(new Runnable() {
- public void run() {
- try {
- Slovnik frame = new Slovnik();
- frame.setVisible(true);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- });
- }
- /**
- * Create the frame.
- */
- public Slovnik() {
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setBounds(100, 100, 450, 245);
- contentPane = new JPanel();
- contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
- setContentPane(contentPane);
- contentPane.setLayout(null);
- vyhledavacField = new JTextField();
- vyhledavacField.setBounds(10, 11, 260, 20);
- contentPane.add(vyhledavacField);
- vyhledavacField.setColumns(10);
- zobrazField = new JTextPane();
- zobrazField.setBounds(10, 42, 260, 125);
- contentPane.add(zobrazField);
- vyhledavacButton = new JButton();
- vyhledavacButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent arg0) {
- String preklad = najdiPreklad(vyhledavacField.getText());
- if(preklad!=null){
- zobrazField.setText(preklad);
- }else{
- zobrazField.setText("Prosím zadejte překlad");
- }
- }
- });
- vyhledavacButton.setBounds(280, 11, 148, 20);
- vyhledavacButton.setText("Najdi překlad");
- contentPane.add(vyhledavacButton);
- JButton ulozButton = new JButton();
- ulozButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent arg0) {
- mapaSlov.put(vyhledavacField.getText(),zobrazField.getText());
- }
- });
- ulozButton.setText("Ulož překlad");
- ulozButton.setBounds(280, 147, 148, 20);
- contentPane.add(ulozButton);
- saveToXMLButton = new JButton();
- saveToXMLButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent arg0) {
- try {
- DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
- // root elements
- Document doc = docBuilder.newDocument();
- Element rootElement = doc.createElement("vocabulary");
- for(Entry<String, String> entry : mapaSlov.entrySet()) {
- Element slovo = doc.createElement(entry.getKey());
- slovo.appendChild(doc.createTextNode(entry.getValue()));
- rootElement.appendChild(slovo);
- }
- // write the content into xml file
- TransformerFactory transformerFactory = TransformerFactory.newInstance();
- Transformer transformer = transformerFactory.newTransformer();
- transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
- transformer.setOutputProperty(OutputKeys.INDENT, "yes");
- DOMSource source = new DOMSource(doc);
- StreamResult result = new StreamResult(new File("C:\\Dokumenty\\file.xml"));
- // Output to console for testing
- //StreamResult result = new StreamResult(System.out);
- transformer.transform(source, result);
- //System.out.println("File saved!");
- } catch (ParserConfigurationException pce) {
- pce.printStackTrace();
- } catch (TransformerException tfe) {
- tfe.printStackTrace();
- }
- }
- });
- saveToXMLButton.setText("Ulo\u017E do XML");
- saveToXMLButton.setBounds(280, 178, 148, 20);
- contentPane.add(saveToXMLButton);
- }
- protected String najdiPreklad(String text) {
- if(mapaSlov.get(text) != null){
- return mapaSlov.get(text);
- }else
- return null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement