Advertisement
Guest User

Java Card Layout

a guest
Feb 18th, 2014
329
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 13.47 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6.  
  7. package ishod8;
  8.  
  9. import java.awt.BorderLayout;
  10. import java.awt.CardLayout;
  11. import java.awt.Color;
  12. import java.awt.Dimension;
  13. import java.awt.event.ActionEvent;
  14. import java.awt.event.ActionListener;
  15. import java.awt.event.MouseAdapter;
  16. import java.awt.event.MouseEvent;
  17. import java.util.Calendar;
  18. import javax.swing.JButton;
  19. import javax.swing.JFrame;
  20. import javax.swing.JLabel;
  21. import javax.swing.JMenuItem;
  22. import javax.swing.JPanel;
  23. import javax.swing.JPopupMenu;
  24. import javax.swing.JToggleButton;
  25.  
  26. /**
  27.  *
  28.  * @author Goran
  29.  */
  30. public final class Prozor extends JFrame
  31. {
  32.     private static final Dimension SIZE = new Dimension(400, 300);
  33.    
  34.     private final JPanel panelButtoni = new JPanel();
  35.     private JButton prvi;
  36.     private JButton zadnji;
  37.     private JButton sljedeci;
  38.     private JButton prethodni;
  39.    
  40.     private CardLayout cardLayout = new CardLayout();
  41.     private JPanel panelCards = new JPanel(cardLayout);
  42.    
  43.     private JPopupMenu crveniMeni= new JPopupMenu();
  44.     private JPanel crveniPanel= new JPanel();
  45.     private JPopupMenu crveniKontekstni= new JPopupMenu();
  46.     private JLabel crvenaLabelica = new JLabel();
  47.     private JToggleButton crveniButton;
  48.    
  49.     private JPopupMenu plaviMeni= new JPopupMenu();
  50.     private JPanel plaviPanel = new JPanel();
  51.     private JPopupMenu plaviKontekstni = new JPopupMenu();
  52.     private JLabel plavaLabelica = new JLabel();
  53.     private JToggleButton plaviButton;
  54.    
  55.     private JPopupMenu zeleniMeni = new JPopupMenu();
  56.     private JPanel zeleniPanel = new JPanel();
  57.     private JPopupMenu zeleniKontekstni = new JPopupMenu();
  58.     private JLabel zelenaLabelica = new JLabel();
  59.     private JToggleButton zeleniButton;
  60.    
  61.     private JPopupMenu zutiMeni= new JPopupMenu();
  62.     private JPanel zutiPanel = new JPanel();
  63.     private JPopupMenu zutiKontekstni = new JPopupMenu();
  64.     private JLabel zutaLabelica = new JLabel();
  65.     private JToggleButton zutiButton;
  66.    
  67.     public Prozor(String title)
  68.     {
  69.         super(title);
  70.         setPreferredSize(SIZE);
  71.         setMinimumSize(SIZE);
  72.         setMaximumSize(SIZE);
  73.         setDefaultCloseOperation(EXIT_ON_CLOSE);
  74.         this.setLayout(new BorderLayout());
  75.         kreirajbuttonAkcije();
  76.        
  77.         kreirajCrveniPanel();
  78.         kreirajPlaviPanel();
  79.         kreirajZeleniPanel();
  80.         kreirajZutiPanel();
  81.                
  82.         this.add(panelCards);
  83.        
  84.         pack();
  85.     }
  86.    
  87.     public static void main(String[] args)
  88.     {
  89.         Prozor p = new Prozor("ime");
  90.         p.setVisible(true);
  91.     }
  92.  
  93.     private void kreirajCrveniPanel() {
  94.         crveniPanel.setBackground(Color.RED);
  95.         crveniButton = new JToggleButton("Prikazi vrijeme");
  96.         crveniButton.addActionListener(new ActionListener() {
  97.  
  98.             @Override
  99.             public void actionPerformed(ActionEvent ae)
  100.             {
  101.                 if (crveniButton.isSelected()) {
  102.                     crvenaLabelica.setText(Calendar.getInstance().getTime().toString());
  103.                     crvenaLabelica.setVisible(true);
  104.                 }
  105.                 else
  106.                 {
  107.                     crvenaLabelica.setVisible(false);
  108.                 }
  109.             }
  110.         });
  111.        
  112.         JMenuItem jmPrvi = new JMenuItem("Prvi");
  113.         jmPrvi.addActionListener(new ActionListener() {
  114.  
  115.             @Override
  116.             public void actionPerformed(ActionEvent ae) {
  117.                 cardLayout.first(panelCards);
  118.             }
  119.         });
  120.         JMenuItem jmZadnji = new JMenuItem("Zadnji");
  121.         jmZadnji.addActionListener(new ActionListener() {
  122.  
  123.             @Override
  124.             public void actionPerformed(ActionEvent ae) {
  125.                 cardLayout.last(panelCards);
  126.             }
  127.         });
  128.         JMenuItem jmSljedeci = new JMenuItem("Sljedeći");
  129.         jmSljedeci.addActionListener(new ActionListener() {
  130.  
  131.             @Override
  132.             public void actionPerformed(ActionEvent ae) {
  133.                 cardLayout.next(panelCards);
  134.             }
  135.         });
  136.         JMenuItem jmPrethodni = new JMenuItem("Prethodni");
  137.         jmPrethodni.addActionListener(new ActionListener() {
  138.  
  139.             @Override
  140.             public void actionPerformed(ActionEvent ae) {
  141.                 cardLayout.previous(panelCards);
  142.             }
  143.         });
  144.        
  145.         crveniPanel.addMouseListener(new MouseAdapter()
  146.         {
  147.  
  148.             @Override
  149.             public void mouseReleased(MouseEvent me) {
  150.                 if (me.isPopupTrigger()) {
  151.                     crveniMeni.show(me.getComponent(), me.getX(), me.getY());
  152.                 }
  153.             }
  154.  
  155.            
  156.         });
  157.        
  158.         crveniMeni.add(jmPrvi);
  159.         crveniMeni.add(jmZadnji);
  160.         crveniMeni.add(jmPrethodni);
  161.         crveniMeni.add(jmSljedeci);
  162.         crveniPanel.add(crveniMeni);
  163.         crveniPanel.add(crvenaLabelica);
  164.         crveniPanel.add(crveniButton);
  165.         panelCards.add(crveniPanel);
  166.     }
  167.  
  168.     private void kreirajPlaviPanel() {
  169.         plaviPanel.setBackground(Color.BLUE);
  170.         plaviButton =new JToggleButton("Prikazi vrijeme");
  171.         plaviButton.addActionListener(new ActionListener() {
  172.  
  173.             @Override
  174.             public void actionPerformed(ActionEvent ae) {
  175.                 if (plaviButton.isSelected()) {
  176.                     plavaLabelica.setText(Calendar.getInstance().getTime().toString());
  177.                     plavaLabelica.setVisible(true);
  178.                 }else{
  179.                     plavaLabelica.setVisible(false);
  180.                 }
  181.             }
  182.         });
  183.        
  184.         JMenuItem jmPrvi = new JMenuItem("Prvi");
  185.         jmPrvi.addActionListener(new ActionListener() {
  186.  
  187.             @Override
  188.             public void actionPerformed(ActionEvent ae) {
  189.                 cardLayout.first(panelCards);
  190.             }
  191.         });
  192.         JMenuItem jmZadnji = new JMenuItem("Zadnji");
  193.         jmZadnji.addActionListener(new ActionListener() {
  194.  
  195.             @Override
  196.             public void actionPerformed(ActionEvent ae) {
  197.                 cardLayout.last(panelCards);
  198.             }
  199.         });
  200.         JMenuItem jmSljedeci = new JMenuItem("Sljedeći");
  201.         jmSljedeci.addActionListener(new ActionListener() {
  202.  
  203.             @Override
  204.             public void actionPerformed(ActionEvent ae) {
  205.                 cardLayout.next(panelCards);
  206.             }
  207.         });
  208.         JMenuItem jmPrethodni = new JMenuItem("Prethodni");
  209.         jmPrethodni.addActionListener(new ActionListener() {
  210.  
  211.             @Override
  212.             public void actionPerformed(ActionEvent ae) {
  213.                 cardLayout.previous(panelCards);
  214.             }
  215.         });
  216.        
  217.         plaviPanel.addMouseListener(new MouseAdapter()
  218.         {
  219.  
  220.             @Override
  221.             public void mouseReleased(MouseEvent me) {
  222.                 if (me.isPopupTrigger()) {
  223.                     plaviMeni.show(me.getComponent(), me.getX(), me.getY());
  224.                 }
  225.             }
  226.  
  227.            
  228.         });
  229.        
  230.         plaviMeni.add(jmPrvi);
  231.         plaviMeni.add(jmZadnji);
  232.         plaviMeni.add(jmPrethodni);
  233.         plaviMeni.add(jmSljedeci);
  234.         plaviPanel.add(plaviMeni);
  235.         plaviPanel.add(plavaLabelica);
  236.         plaviPanel.add(plaviButton);
  237.         panelCards.add(plaviPanel);
  238.     }
  239.  
  240.     private void kreirajZeleniPanel() {
  241.         zeleniPanel.setBackground(Color.GREEN);
  242.         zeleniButton=new JToggleButton("Prikazi vrijeme");
  243.         zeleniButton.addActionListener(new ActionListener() {
  244.  
  245.             @Override
  246.             public void actionPerformed(ActionEvent ae) {
  247.                 if (zeleniButton.isSelected()) {
  248.                     zelenaLabelica.setText(Calendar.getInstance().getTime().toString());
  249.                     zelenaLabelica.setVisible(true);
  250.                 }else{
  251.                     zelenaLabelica.setVisible(false);
  252.                 }
  253.             }
  254.         });
  255.        
  256.         JMenuItem jmPrvi = new JMenuItem("Prvi");
  257.         jmPrvi.addActionListener(new ActionListener() {
  258.  
  259.             @Override
  260.             public void actionPerformed(ActionEvent ae) {
  261.                 cardLayout.first(panelCards);
  262.             }
  263.         });
  264.         JMenuItem jmZadnji = new JMenuItem("Zadnji");
  265.         jmZadnji.addActionListener(new ActionListener() {
  266.  
  267.             @Override
  268.             public void actionPerformed(ActionEvent ae) {
  269.                 cardLayout.last(panelCards);
  270.             }
  271.         });
  272.         JMenuItem jmSljedeci = new JMenuItem("Sljedeći");
  273.         jmSljedeci.addActionListener(new ActionListener() {
  274.  
  275.             @Override
  276.             public void actionPerformed(ActionEvent ae) {
  277.                 cardLayout.next(panelCards);
  278.             }
  279.         });
  280.         JMenuItem jmPrethodni = new JMenuItem("Prethodni");
  281.         jmPrethodni.addActionListener(new ActionListener() {
  282.  
  283.             @Override
  284.             public void actionPerformed(ActionEvent ae) {
  285.                 cardLayout.previous(panelCards);
  286.             }
  287.         });
  288.        
  289.         zeleniPanel.addMouseListener(new MouseAdapter()
  290.         {
  291.  
  292.             @Override
  293.             public void mouseReleased(MouseEvent me) {
  294.                 if (me.isPopupTrigger()) {
  295.                     zeleniMeni.show(me.getComponent(), me.getX(), me.getY());
  296.                 }
  297.             }
  298.  
  299.            
  300.         });
  301.        
  302.         zeleniMeni.add(jmPrvi);
  303.         zeleniMeni.add(jmZadnji);
  304.         zeleniMeni.add(jmPrethodni);
  305.         zeleniMeni.add(jmSljedeci);
  306.         zeleniPanel.add(zeleniMeni);
  307.         zeleniPanel.add(zelenaLabelica);
  308.         zeleniPanel.add(zeleniButton);
  309.         panelCards.add(zeleniPanel);
  310.     }
  311.  
  312.     private void kreirajZutiPanel() {
  313.         zutiPanel.setBackground(Color.YELLOW);
  314.         zutiButton=new JToggleButton("Prikazi vrijeme");
  315.         zutiButton.addActionListener(new ActionListener() {
  316.  
  317.             @Override
  318.             public void actionPerformed(ActionEvent ae) {
  319.                 if (zutiButton.isSelected()) {
  320.                     zutaLabelica.setText(Calendar.getInstance().getTime().toString());
  321.                     zutaLabelica.setVisible(true);
  322.                 }else{
  323.                     zutaLabelica.setVisible(false);
  324.                 }
  325.             }
  326.         });
  327.        
  328.         JMenuItem jmPrvi = new JMenuItem("Prvi");
  329.         jmPrvi.addActionListener(new ActionListener() {
  330.  
  331.             @Override
  332.             public void actionPerformed(ActionEvent ae) {
  333.                 cardLayout.first(panelCards);
  334.             }
  335.         });
  336.         JMenuItem jmZadnji = new JMenuItem("Zadnji");
  337.         jmZadnji.addActionListener(new ActionListener() {
  338.  
  339.             @Override
  340.             public void actionPerformed(ActionEvent ae) {
  341.                 cardLayout.last(panelCards);
  342.             }
  343.         });
  344.         JMenuItem jmSljedeci = new JMenuItem("Sljedeći");
  345.         jmSljedeci.addActionListener(new ActionListener() {
  346.  
  347.             @Override
  348.             public void actionPerformed(ActionEvent ae) {
  349.                 cardLayout.next(panelCards);
  350.             }
  351.         });
  352.         JMenuItem jmPrethodni = new JMenuItem("Prethodni");
  353.         jmPrethodni.addActionListener(new ActionListener() {
  354.  
  355.             @Override
  356.             public void actionPerformed(ActionEvent ae) {
  357.                 cardLayout.previous(panelCards);
  358.             }
  359.         });
  360.        
  361.         zutiPanel.addMouseListener(new MouseAdapter()
  362.         {
  363.  
  364.             @Override
  365.             public void mouseReleased(MouseEvent me) {
  366.                 if (me.isPopupTrigger()) {
  367.                     zutiMeni.show(me.getComponent(), me.getX(), me.getY());
  368.                 }
  369.             }
  370.  
  371.            
  372.         });
  373.        
  374.         zutiMeni.add(jmPrvi);
  375.         zutiMeni.add(jmZadnji);
  376.         zutiMeni.add(jmPrethodni);
  377.         zutiMeni.add(jmSljedeci);
  378.         zutiPanel.add(zutiMeni);
  379.        
  380.         zutiPanel.add(zutaLabelica);
  381.         zutiPanel.add(zutiButton);
  382.         panelCards.add(zutiPanel);
  383.     }
  384.  
  385.     private void kreirajbuttonAkcije() {
  386.         prvi= new JButton("Prvi");
  387.         prvi.addActionListener(new ActionListener() {
  388.  
  389.             @Override
  390.             public void actionPerformed(ActionEvent ae)
  391.             {
  392.                 cardLayout.first(panelCards);
  393.             }
  394.         });
  395.        
  396.         zadnji= new JButton("Zadnji");
  397.         zadnji.addActionListener(new ActionListener() {
  398.  
  399.             @Override
  400.             public void actionPerformed(ActionEvent ae)
  401.             {
  402.                 cardLayout.last(panelCards);
  403.             }
  404.         });
  405.        
  406.         sljedeci= new JButton("Sljedeći");
  407.         sljedeci.addActionListener(new ActionListener() {
  408.  
  409.             @Override
  410.             public void actionPerformed(ActionEvent ae)
  411.             {
  412.                 cardLayout.next(panelCards);
  413.             }
  414.         });
  415.        
  416.         prethodni= new JButton("Prethodni");
  417.         prethodni.addActionListener(new ActionListener() {
  418.  
  419.             @Override
  420.             public void actionPerformed(ActionEvent ae)
  421.             {
  422.                 cardLayout.previous(panelCards);
  423.             }
  424.         });
  425.        
  426.         panelButtoni.add(prvi);
  427.         panelButtoni.add(zadnji);
  428.         panelButtoni.add(prethodni);
  429.         panelButtoni.add(sljedeci);
  430.         this.add(panelButtoni,BorderLayout.NORTH);
  431.        
  432.     }
  433.    
  434. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement