Advertisement
Guest User

gui.java

a guest
Nov 28th, 2015
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 15.69 KB | None | 0 0
  1. import java.applet.*;
  2. import java.awt.*;
  3. import java.awt.event.*;
  4. import java.io.*;
  5. import java.lang.*;
  6. import java.text.*;
  7. import java.util.*;
  8. import javax.swing.*;
  9. import javax.tools.*;
  10. import javax.xml.parsers.*;
  11. import org.w3c.dom.*;
  12.  
  13. public abstract class GUI implements WindowListener, ActionListener{
  14.    
  15.     public static void Viron() throws InterruptedException {
  16.         //Default
  17.         int width = 1200;
  18.         int height = 600;
  19.         JFrame frame = new JFrame("Viron");
  20.        
  21.         try {
  22.  
  23.             File fXmlFile = new File("/Users/Asus Realsense/OneDrive/Leaf/Viron/Software/Java/GUI/src/trein.xml");
  24.             DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
  25.             DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
  26.             Document doc = dBuilder.parse(fXmlFile);
  27.                    
  28.             //optional, but recommended
  29.             //read this - http://stackoverflow.com/questions/13786607/normalization-in-dom-parsing-with-java-how-does-it-work
  30.             doc.getDocumentElement().normalize();
  31.  
  32.             System.out.println("Root element :" + doc.getDocumentElement().getNodeName());
  33.                    
  34.             NodeList nList = doc.getElementsByTagName("ActueleVertrekTijden");
  35.                    
  36.             System.out.println("------ ----------------------");
  37.  
  38.             for (int temp = 0; temp < nList.getLength(); temp++) {
  39.  
  40.                 Node nNode = nList.item(temp);
  41.                        
  42.                 System.out.println("\nCurrent Element :" + nNode.getNodeName());
  43.                        
  44.                 if (nNode.getNodeType() == Node.ELEMENT_NODE) {
  45.  
  46.                     Element eElement = (Element) nNode;
  47.  
  48.                     System.out.println("RitNummer : " + eElement.getElementsByTagName("RitNummer").item(0).getTextContent());
  49.                     if(eElement.getElementsByTagName("EindBestemming").item(0).getTextContent() == "Utrecht Centraal"){
  50.                         System.out.println("EindBestemming : " + eElement.getElementsByTagName("EindBestemming").item(0).getTextContent());
  51.                     }
  52.  
  53.                 }
  54.             }
  55.         } catch (Exception e) {
  56.             e.printStackTrace();
  57.         }
  58.  
  59.         Calendar c = Calendar.getInstance();
  60.         String dayOfWeek = String.valueOf(c.get(Calendar.DAY_OF_WEEK));
  61.         String hour = String.valueOf(c.get(Calendar.HOUR_OF_DAY));
  62.         String minute = String.valueOf(c.get(Calendar.MINUTE));
  63.         String seconds = String.valueOf(c.get(Calendar.SECOND));
  64.         String day = String.valueOf(c.get(Calendar.DAY_OF_MONTH));
  65.         String month = String.valueOf(c.get(Calendar.MONTH));
  66.         String year = String.valueOf(c.get(Calendar.YEAR));
  67.         String monthName = null;
  68.         String dayName = null;
  69.  
  70.         if(Integer.parseInt(hour) < 10){
  71.             hour = "0" + hour;
  72.         }          
  73.         if(Integer.parseInt(minute) < 10){
  74.             minute = "0" + minute;
  75.         }
  76.         if(Integer.parseInt(day) < 10){
  77.             day = "0" + day;
  78.         }
  79.         if(Integer.parseInt(month) < 10){
  80.             month = "0" + month;
  81.         }
  82.        
  83.         switch(dayOfWeek){
  84.         case "1": dayName = "Zondag";
  85.                 break;
  86.         case "2": dayName = "Maandag";
  87.                 break;
  88.         case "3": dayName = "Dinsdag";
  89.                 break;
  90.         case "4": dayName = "Woensdag";
  91.                 break;
  92.         case "5": dayName = "Donderdag";
  93.                 break;
  94.         case "6": dayName = "Vrijdag";
  95.                 break;
  96.         case "7": dayName = "Zaterdag";
  97.                 break;
  98.         }
  99.        
  100.  
  101.         switch(month){
  102.         case "1": monthName = "januari";
  103.                 break;
  104.         case "2": monthName = "februari";
  105.                 break;
  106.         case "3": monthName = "maart";
  107.                 break;
  108.         case "4": monthName = "april";
  109.                 break;
  110.         case "5": monthName = "mei";
  111.                 break;
  112.         case "6": monthName = "juni";
  113.                 break;
  114.         case "7": monthName = "juli";
  115.                 break;
  116.         case "8": monthName = "augustus";
  117.                 break;
  118.         case "9": monthName = "september";
  119.                 break;
  120.         case "10": monthName = "oktober";
  121.                 break;
  122.         case "11": monthName = "november";
  123.                 break;
  124.         case "12": monthName = "december";
  125.                 break;
  126.         }
  127.        
  128.         //Menu
  129.         JMenuBar menubar = new JMenuBar();
  130.         JMenu menu1 = new JMenu("Main menu");
  131.         JMenu menu2 = new JMenu();
  132.         JMenu menu3 = new JMenu("Clock menu");
  133.         menubar.add(menu1);
  134.         menubar.add(menu2);
  135.         menubar.add(menu3);
  136.         JMenuItem vironLabel = new JMenuItem("Leaf Viron");
  137.         JLabel currentPage = new JLabel("Home");
  138.         JMenuItem clock = new JMenuItem(hour + ":" + minute);
  139.         menubar.setPreferredSize(new Dimension(width, 50));
  140.         menu1.setPreferredSize(new Dimension(600, 50));
  141.         menu2.setPreferredSize(new Dimension(500, 50));
  142.         menu3.setPreferredSize(new Dimension(100, 50));    
  143.         frame.setJMenuBar(menubar);
  144.        
  145.  
  146.         menu1.add(vironLabel, BorderLayout.WEST);
  147.         menu2.add(currentPage, BorderLayout.NORTH);
  148.         menu3.add(clock, BorderLayout.EAST);
  149.        
  150.         //Container
  151.         JPanel homePanel = new JPanel();
  152.         JPanel settingsPanel = new JPanel();
  153.        
  154.         homePanel.setLayout(new GridBagLayout());
  155.         settingsPanel.setLayout(new GridBagLayout());
  156.        
  157.         GridBagConstraints homeC = new GridBagConstraints();
  158.         GridBagConstraints settingsC = new GridBagConstraints();
  159.         homeC.insets = new Insets(4, 5, 4, 5);
  160.        
  161.        
  162.         //Home panel
  163.         JPanel upperPanel = new JPanel();
  164.         JPanel upperRightButtonPanel = new JPanel();
  165.        
  166.         JLabel headerLabel = new JLabel("Welcome to Viron");
  167.         JLabel dateTimeLabel = new JLabel();
  168.         JLabel pinTouched = new JLabel();
  169.        
  170.        
  171.         JButton settingsButton = new JButton();
  172.        
  173.         homePanel.add(upperPanel, homeC);
  174.        
  175.         homeC.gridx = 0;
  176.         homeC.gridy = 0;
  177.         upperPanel.add(dateTimeLabel, homeC);
  178.         homeC.gridx = 2;
  179.         homeC.gridy = 0;
  180.         upperPanel.add(upperRightButtonPanel, homeC);
  181.         upperRightButtonPanel.add(settingsButton, homeC);
  182.        
  183.        
  184.        
  185.         //Settings panel
  186.         JButton homeButtonSettings = new JButton("Terug naar home");
  187.         JButton toggleBackground = new JButton("Verander thema");
  188.        
  189.        
  190.         settingsPanel.add(homeButtonSettings, settingsC);
  191.         settingsPanel.add(toggleBackground, settingsC);
  192.        
  193.        
  194.            
  195.        
  196.        
  197.         frame.add(homePanel); //Voeg homePanel toe
  198.        
  199.        
  200.         //Swing Dimensions
  201.         upperRightButtonPanel.setPreferredSize(new Dimension(300, 100));
  202.         dateTimeLabel.setPreferredSize(new Dimension(300, 100));
  203.         settingsButton.setPreferredSize(new Dimension(300, 100));
  204.         homeButtonSettings.setPreferredSize(new Dimension(200, 50));
  205.         toggleBackground.setPreferredSize(new Dimension(150, 40));
  206.        
  207.         //Swing Styling
  208.         //new Color(255, 255, 255) = #ffffff
  209.         //new Color(40, 40, 40) = #282828
  210.         //new Color(32, 32, 32) = #202020
  211.         //new Color(51, 51, 51) = #333333
  212.        
  213.         frame.setBackground(new Color(51, 51, 51));
  214.         homePanel.setBackground(new Color(51, 51, 51));
  215.         settingsPanel.setBackground(new Color(51, 51, 51));
  216.        
  217.         menubar.setBorder(null);
  218.         menu1.setBorder(null);
  219.         menu3.setBorder(null);
  220.         vironLabel.setBorder(null);
  221.         clock.setBorder(null);
  222.         settingsButton.setBorder(null);
  223.         settingsPanel.setBorder(null);
  224.        
  225.         menubar.setBackground(new Color(40, 40, 40));
  226.         menu1.setBackground(new Color(40, 40, 40));
  227.         menu3.setBackground(new Color(40, 40, 40));
  228.        
  229.         vironLabel.setForeground(new Color(255, 255, 255));
  230.         vironLabel.setBackground(new Color(40, 40, 40));
  231.         vironLabel.setFont(new Font("Ubuntu", Font.PLAIN, 24));
  232.        
  233.         currentPage.setForeground(new Color(255, 255, 255));
  234.         currentPage.setBackground(new Color(40, 40, 40));
  235.         currentPage.setFont(new Font("Ubuntu", Font.PLAIN, 24));
  236.        
  237.         clock.setForeground(new Color(255, 255, 255));
  238.         clock.setBackground(new Color(40, 40, 40));
  239.         clock.setFont(new Font("Ubuntu", Font.PLAIN, 24));
  240.        
  241.         upperPanel.setForeground(new Color(255, 255, 255));
  242.         upperPanel.setBackground(new Color(51, 51, 51));
  243.        
  244.         upperRightButtonPanel.setForeground(new Color(255, 255, 255));
  245.         upperRightButtonPanel.setBackground(new Color(51, 51, 51));
  246.        
  247.         headerLabel.setForeground(new Color(255, 255, 255));
  248.         headerLabel.setBackground(new Color(51, 51, 51));
  249.         headerLabel.setFont(new Font("Ubuntu", Font.PLAIN, 20));
  250.        
  251.         pinTouched.setForeground(new Color(255, 255, 255));
  252.         pinTouched.setBackground(new Color(51, 51, 51));
  253.         pinTouched.setFont(new Font("Ubuntu", Font.PLAIN, 20));
  254.        
  255.         dateTimeLabel.setForeground(new Color(255, 255, 255));
  256.         dateTimeLabel.setBackground(new Color(51, 51, 51));
  257.         dateTimeLabel.setFont(new Font("Ubuntu", Font.PLAIN, 20));
  258.                
  259.         settingsButton.setForeground(new Color(255, 255, 255));
  260.         settingsButton.setBackground(new Color(51, 51, 51));
  261.         settingsButton.setFont(new Font("Ubuntu", Font.PLAIN, 20));
  262.         settingsButton.setText("<html><span style=\"font-size:32px;\">Instellingen</font><br /><span style=\"font-size:16px;\">Alicia, apparaten</font></html>");
  263.        
  264.         homeButtonSettings.setForeground(new Color(51, 51, 51));
  265.         homeButtonSettings.setBackground(new Color(255, 255, 255));
  266.         homeButtonSettings.setFont(new Font("Ubuntu", Font.PLAIN, 20));
  267.        
  268.         toggleBackground.setBackground(new Color(129, 198, 57));
  269.         toggleBackground.setBorder(BorderFactory.createMatteBorder(3, 3, 3, 3, new Color(103,158,45)));
  270.         toggleBackground.setFont(new Font("Ubuntu", Font.PLAIN, 16));
  271.        
  272.        
  273.         //Buttons functions
  274.        
  275.          
  276.         homeButtonSettings.addActionListener(new ActionListener() { //Home-button op Settings-panel
  277.             @Override
  278.             public void actionPerformed(ActionEvent arg0) {
  279.                 frame.remove(settingsPanel);
  280.                 frame.add(homePanel);
  281.                
  282.                 currentPage.setText("Home");
  283.                
  284.                 frame.repaint();
  285.                 frame.revalidate();
  286.             }
  287.         });
  288.                
  289.         settingsButton.addActionListener(new ActionListener() { //Settings-button op Home-panel
  290.             @Override
  291.             public void actionPerformed(ActionEvent arg0) {
  292.                 frame.remove(homePanel);
  293.                 frame.add(settingsPanel);
  294.                
  295.                 currentPage.setText("Settings");
  296.  
  297.                 frame.repaint();
  298.                 frame.revalidate();
  299.             }
  300.         });
  301.        
  302.         JLabel settingsColor = new JLabel("black");    
  303.         toggleBackground.addActionListener(new ActionListener() { //Settings-button op Home-panel
  304.             @Override
  305.             public void actionPerformed(ActionEvent arg0) {
  306.                 if(settingsColor.getText() == "black"){ //Naar wit
  307.                     //Menu
  308.                     menubar.setBackground(new Color(230, 230, 230));
  309.                     menubar.setForeground(new Color(51, 51, 51));
  310.                     menu1.setBackground(new Color(230, 230, 230));
  311.                     menu1.setForeground(new Color(51, 51, 51));
  312.                     menu2.setBackground(new Color(230, 230, 230));
  313.                     menu2.setForeground(new Color(51, 51, 51));
  314.                     menu3.setBackground(new Color(230, 230, 230));
  315.                     menu3.setForeground(new Color(51, 51, 51));
  316.                     vironLabel.setBackground(new Color(230, 230, 230));
  317.                     vironLabel.setForeground(new Color(51, 51, 51));
  318.                     currentPage.setBackground(new Color(230, 230, 230));
  319.                     currentPage.setForeground(new Color(51, 51, 51));
  320.                     clock.setBackground(new Color(230, 230, 230));
  321.                     clock.setForeground(new Color(51, 51, 51));
  322.                                        
  323.                     frame.setBackground(new Color(255, 255, 255));
  324.                     //Home
  325.                     homePanel.setBackground(new Color(255, 255, 255));
  326.                     homePanel.setForeground(new Color(51, 51, 51));
  327.                     upperPanel.setBackground(new Color(255, 255, 255));
  328.                     upperPanel.setForeground(new Color(51, 51, 51));
  329.                     upperRightButtonPanel.setBackground(new Color(255, 255, 255));
  330.                     upperRightButtonPanel.setForeground(new Color(51, 51, 51));
  331.                     dateTimeLabel.setBackground(new Color(255, 255, 255));
  332.                     dateTimeLabel.setForeground(new Color(51, 51, 51));
  333.                     settingsButton.setBackground(new Color(255, 255, 255));
  334.                     settingsButton.setForeground(new Color(51, 51, 51));
  335.                     pinTouched.setBackground(new Color(255, 255, 255));
  336.                     pinTouched.setForeground(new Color(51, 51, 51));
  337.                     //Settings
  338.                     settingsPanel.setBackground(new Color(255, 255, 255));
  339.                     homeButtonSettings.setBackground(new Color(255, 255, 255));
  340.                     homeButtonSettings.setForeground(new Color(51, 51, 51));
  341.                     toggleBackground.setForeground(new Color(51, 51, 51));
  342.                     settingsColor.setText("white");
  343.                    
  344.                     frame.repaint();
  345.                     frame.revalidate();
  346.                 }
  347.        
  348.                 else if(settingsColor.getText() == "white"){ //Naar zwart
  349.                     //Menu
  350.                     menubar.setBackground(new Color(40, 40, 40));
  351.                     menubar.setForeground(new Color(255, 255, 255));
  352.                     menu1.setBackground(new Color(40, 40, 40));
  353.                     menu1.setForeground(new Color(255, 255, 255));
  354.                     menu2.setBackground(new Color(40, 40, 40));
  355.                     menu2.setForeground(new Color(255, 255, 255));
  356.                     menu3.setBackground(new Color(40, 40, 40));
  357.                     menu3.setForeground(new Color(255, 255, 255));
  358.                     vironLabel.setBackground(new Color(40, 40, 40));
  359.                     vironLabel.setForeground(new Color(255, 255, 255));
  360.                     currentPage.setBackground(new Color(40, 40, 40));
  361.                     currentPage.setForeground(new Color(255, 255, 255));
  362.                     clock.setBackground(new Color(40, 40, 40));
  363.                     clock.setForeground(new Color(255, 255, 255));
  364.                    
  365.                     frame.setBackground(new Color(51, 51, 51));
  366.                     //Home
  367.                     homePanel.setBackground(new Color(51, 51, 51));
  368.                     homePanel.setForeground(new Color(255, 255, 255));
  369.                     upperPanel.setBackground(new Color(51, 51, 51));
  370.                     upperPanel.setForeground(new Color(255, 255, 255));
  371.                     upperRightButtonPanel.setBackground(new Color(51, 51, 51));
  372.                     upperRightButtonPanel.setForeground(new Color(255, 255, 255));
  373.                     dateTimeLabel.setBackground(new Color(51, 51, 51));
  374.                     dateTimeLabel.setForeground(new Color(255, 255, 255));
  375.                     settingsButton.setBackground(new Color(51, 51, 51));
  376.                     settingsButton.setForeground(new Color(255, 255, 255));
  377.                     pinTouched.setBackground(new Color(51, 51, 51));
  378.                     pinTouched.setForeground(new Color(255, 255, 255));
  379.                     //Settings
  380.                     settingsPanel.setBackground(new Color(51, 51, 51));
  381.                     homeButtonSettings.setBackground(new Color(51, 51, 51));
  382.                     homeButtonSettings.setForeground(new Color(255, 255, 255));
  383.                     toggleBackground.setForeground(new Color(255, 255, 255));
  384.                     settingsColor.setText("black");
  385.                    
  386.                     frame.repaint();
  387.                     frame.revalidate();
  388.                 }
  389.                
  390.                
  391.                    
  392.             }
  393.         });
  394.        
  395.          
  396.        
  397.        
  398.         frame.setPreferredSize(new Dimension(width, height));
  399.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  400.        
  401.         frame.pack();
  402.         frame.setVisible(true);
  403.        
  404.         while(true){
  405.             c = Calendar.getInstance();
  406.             dayOfWeek = String.valueOf(c.get(Calendar.DAY_OF_WEEK));
  407.             hour = String.valueOf(c.get(Calendar.HOUR_OF_DAY));
  408.             minute = String.valueOf(c.get(Calendar.MINUTE));
  409.             seconds = String.valueOf(c.get(Calendar.SECOND));
  410.             day = String.valueOf(c.get(Calendar.DAY_OF_MONTH));
  411.             month = String.valueOf(c.get(Calendar.MONTH));
  412.             year = String.valueOf(c.get(Calendar.YEAR));
  413.  
  414.             if(Integer.parseInt(hour) < 10){
  415.                 hour = "0" + hour;
  416.             }          
  417.             if(Integer.parseInt(minute) < 10){
  418.                 minute = "0" + minute;
  419.             }
  420.             if(Integer.parseInt(dayOfWeek) < 10){
  421.                 dayOfWeek = "0" + dayOfWeek;
  422.             }
  423.             if(Integer.parseInt(month) < 10){
  424.                 month = "0" + month;
  425.             }
  426.            
  427.             switch(dayOfWeek){
  428.             case "1": dayName = "Zondag";
  429.                     break;
  430.             case "2": dayName = "Maandag";
  431.                     break;
  432.             case "3": dayName = "Dinsdag";
  433.                     break;
  434.             case "4": dayName = "Woensdag";
  435.                     break;
  436.             case "5": dayName = "Donderdag";
  437.                     break;
  438.             case "6": dayName = "Vrijdag";
  439.                     break;
  440.             case "7": dayName = "Zaterdag";
  441.                     break;
  442.             }
  443.            
  444.  
  445.             switch(month){
  446.             case "1": monthName = "januari";
  447.                     break;
  448.             case "2": monthName = "februari";
  449.                     break;
  450.             case "3": monthName = "maart";
  451.                     break;
  452.             case "4": monthName = "april";
  453.                     break;
  454.             case "5": monthName = "mei";
  455.                     break;
  456.             case "6": monthName = "juni";
  457.                     break;
  458.             case "7": monthName = "juli";
  459.                     break;
  460.             case "8": monthName = "augustus";
  461.                     break;
  462.             case "9": monthName = "september";
  463.                     break;
  464.             case "10": monthName = "oktober";
  465.                     break;
  466.             case "11": monthName = "november";
  467.                     break;
  468.             case "12": monthName = "december";
  469.                     break;
  470.             }
  471.            
  472.  
  473.             clock.setText(String.valueOf(hour) + ":" + String.valueOf(minute));
  474.             dateTimeLabel.setText("<html><span style=\"font-size:32px;\">" + String.valueOf(hour) + ":" + String.valueOf(minute) +"</font><br /><span style=\"font-size:16px;\"> \n" + dayName +  " " + String.valueOf(day )+ " " + monthName + " " + String.valueOf(year) + "</font></html>");
  475.             Thread.sleep(1000);
  476.         }
  477.     }
  478.    
  479.    
  480.    
  481.     public static void main(String[] args) throws InterruptedException{
  482.         Viron();
  483.  
  484.     }
  485. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement