Advertisement
jovanovski

ИА Лаб2

Oct 24th, 2012
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 10.92 KB | None | 0 0
  1. import java.awt.*;
  2. import java.awt.event.ActionEvent;
  3. import java.awt.event.ActionListener;
  4.  
  5. import javax.swing.*;
  6. import javax.swing.event.ChangeEvent;
  7. import javax.swing.event.ChangeListener;
  8.  
  9. public class Forma1 {
  10.  
  11.     /**
  12.      * @param args
  13.      */
  14.    
  15.     private static final Insets insets= new Insets(0,0,5,0);
  16.     static JLabel actual = new JLabel("Actual Price:");
  17.     static JLabel price = new JLabel("200$");
  18.    
  19.     public static void okForma(int cena){
  20.         JFrame ramka = new JFrame();
  21.         Container contentPane= ramka.getContentPane();
  22.         SpringLayout layout = new SpringLayout();
  23.         ramka.setLayout(layout);
  24.         ramka.setSize(600,600);
  25.         JLabel tekst = new JLabel("IMA KOMJUTER ZA");
  26.         tekst.setSize(600, 40);
  27.         tekst.setHorizontalAlignment(JLabel.CENTER);
  28.         tekst.setFont(new Font("Serif", Font.BOLD, 40));
  29.         tekst.setForeground(Color.blue);
  30.         JLabel tekst2 = new JLabel("TOCNO "+cena+"$");
  31.         tekst2.setSize(600, 40);
  32.         tekst2.setHorizontalAlignment(JLabel.CENTER);
  33.         tekst2.setFont(new Font("Serif", Font.BOLD, 40));
  34.         tekst2.setForeground(Color.blue);
  35.         ramka.add(tekst);
  36.         ramka.add(tekst2);
  37.         layout.putConstraint(SpringLayout.NORTH, tekst, 200, SpringLayout.NORTH, contentPane);
  38.         layout.putConstraint(SpringLayout.NORTH, tekst2, 80, SpringLayout.NORTH, tekst);
  39.         layout.putConstraint(SpringLayout.WEST, tekst, 80, SpringLayout.WEST, contentPane);    
  40.         layout.putConstraint(SpringLayout.WEST, tekst2, 150, SpringLayout.WEST, contentPane);      
  41.  
  42.         ramka.setVisible(true);
  43.     }
  44.     public static void nookForma(){
  45.         JFrame ramka = new JFrame();
  46.         Container contentPane= ramka.getContentPane();
  47.         SpringLayout layout = new SpringLayout();
  48.         ramka.setLayout(layout);
  49.         ramka.setSize(600,600);
  50.         JLabel tekst = new JLabel("NEMA KOMJUTER");
  51.         tekst.setSize(600, 40);
  52.         tekst.setHorizontalAlignment(JLabel.CENTER);
  53.         tekst.setFont(new Font("Serif", Font.BOLD, 40));
  54.         tekst.setForeground(Color.red);
  55.         JLabel tekst2 = new JLabel("SO TAKVI BARANJA");
  56.         tekst2.setSize(600, 40);
  57.         tekst2.setHorizontalAlignment(JLabel.CENTER);
  58.         tekst2.setFont(new Font("Serif", Font.BOLD, 40));
  59.         tekst2.setForeground(Color.red);
  60.         ramka.add(tekst);
  61.         ramka.add(tekst2);
  62.         layout.putConstraint(SpringLayout.NORTH, tekst, 200, SpringLayout.NORTH, contentPane);
  63.         layout.putConstraint(SpringLayout.NORTH, tekst2, 80, SpringLayout.NORTH, tekst);
  64.         layout.putConstraint(SpringLayout.WEST, tekst, 100, SpringLayout.WEST, contentPane);       
  65.         layout.putConstraint(SpringLayout.WEST, tekst2, 80, SpringLayout.WEST, contentPane);   
  66.         ramka.setVisible(true);
  67.     }
  68.     public static void orderForma(String ime, String prezime, String address){
  69.         JFrame ramka = new JFrame();
  70.         Container contentPane= ramka.getContentPane();
  71.         SpringLayout layout = new SpringLayout();
  72.         ramka.setLayout(layout);
  73.         ramka.setSize(600,600);
  74.         JLabel tekst = new JLabel("GO PRATIV KOMJUTEROT");
  75.         tekst.setSize(600, 40);
  76.         tekst.setHorizontalAlignment(JLabel.CENTER);
  77.         tekst.setFont(new Font("Serif", Font.BOLD, 40));
  78.         tekst.setForeground(Color.green);
  79.         JLabel tekst2 = new JLabel("KAJ: "+ime+" "+prezime);
  80.         tekst2.setSize(600, 40);
  81.         tekst2.setHorizontalAlignment(JLabel.CENTER);
  82.         tekst2.setFont(new Font("Serif", Font.BOLD, 40));
  83.         tekst2.setForeground(Color.green);
  84.         JLabel tekst3 = new JLabel("ADRESA: "+address);
  85.         tekst3.setSize(600, 40);
  86.         tekst3.setHorizontalAlignment(JLabel.CENTER);
  87.         tekst3.setFont(new Font("Serif", Font.BOLD, 40));
  88.         tekst3.setForeground(Color.green);
  89.         ramka.add(tekst);
  90.         ramka.add(tekst2);
  91.         ramka.add(tekst3);
  92.         layout.putConstraint(SpringLayout.NORTH, tekst, 200, SpringLayout.NORTH, contentPane);
  93.         layout.putConstraint(SpringLayout.NORTH, tekst2, 80, SpringLayout.NORTH, tekst);
  94.         layout.putConstraint(SpringLayout.NORTH, tekst3, 80, SpringLayout.NORTH, tekst2);      
  95.         layout.putConstraint(SpringLayout.WEST, tekst, 30, SpringLayout.WEST, contentPane);
  96.         layout.putConstraint(SpringLayout.WEST, tekst2, Integer.valueOf((600-tekst2.getWidth())/2), SpringLayout.WEST, contentPane);       
  97.         layout.putConstraint(SpringLayout.WEST, tekst3, Integer.valueOf((600-tekst3.getWidth())/2), SpringLayout.WEST, contentPane);
  98.         ramka.setVisible(true);
  99.     }
  100.    
  101.    
  102.     public static void NovaForma(){
  103.        
  104.             JFrame forma = new JFrame();
  105.             forma.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  106.             forma.setSize(400,900);
  107.             forma.setLayout(new GridBagLayout());
  108.             forma.setResizable(false);
  109.             //--
  110.             JPanel panel1 = new JPanel();
  111.             panel1.setBorder(BorderFactory.createTitledBorder("Delivery Information"));
  112.             SpringLayout layout = new SpringLayout();
  113.             panel1.setLayout(new GridBagLayout());
  114.                 addComponent(panel1, new JLabel("Name"), 0, 0, 1, 1, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL );
  115.                 addComponent(panel1, new JLabel("Surname"), 0, 1, 1, 1, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL );
  116.                 addComponent(panel1, new JLabel("Address"), 0, 2, 1, 1, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL );
  117.                
  118.                 final JTextField ime = new JTextField();
  119.                 final JTextField prezime = new JTextField();
  120.                 final JTextField address = new JTextField();
  121.                
  122.                 addComponent(panel1, ime, 1, 0, 1, 1, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL );
  123.                 addComponent(panel1, prezime, 1, 1, 1, 1, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL );
  124.                 addComponent(panel1, address, 1, 2, 1, 1, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL );
  125.                
  126.             addComponent(forma, panel1, 0, 0, 4, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
  127.             //--
  128.            
  129.             JPanel panel2 = new JPanel();
  130.             panel2.setBorder(BorderFactory.createTitledBorder("CPU"));
  131.             panel2.setLayout(new GridBagLayout());
  132.            
  133.                 ButtonGroup grupa1 = new ButtonGroup();
  134.                 final JRadioButton rbtn1 = new JRadioButton("1.52 GHz");
  135.                 final JRadioButton rbtn2 = new JRadioButton("1.89 GHz");
  136.                 final JRadioButton rbtn3 = new JRadioButton("2.00 GHz");
  137.                 final JRadioButton rbtn4 = new JRadioButton("2.54 GHz");
  138.                 grupa1.add(rbtn1);
  139.                 grupa1.add(rbtn2);
  140.                 grupa1.add(rbtn3);
  141.                 grupa1.add(rbtn4);
  142.                
  143.                 addComponent(panel2, rbtn1, 0, 0, 1, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
  144.                 addComponent(panel2, rbtn2, 1, 0, 1, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
  145.                 addComponent(panel2, rbtn3, 0, 1, 1, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
  146.                 addComponent(panel2, rbtn4, 1, 1, 1, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
  147.                
  148.             addComponent(forma, panel2, 0, 1, 2, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
  149.            
  150.             //--
  151.            
  152.             JPanel panel3 = new JPanel();
  153.             panel3.setBorder(BorderFactory.createTitledBorder("RAM Memory"));
  154.             panel3.setLayout(new GridBagLayout());
  155.            
  156.                 ButtonGroup grupa2 = new ButtonGroup();
  157.                 final JRadioButton r1btn1 = new JRadioButton("512 MB");
  158.                 final JRadioButton r1btn2 = new JRadioButton("1 GB");
  159.                 final JRadioButton r1btn3 = new JRadioButton("2 GB");
  160.                 final JRadioButton r1btn4 = new JRadioButton("4 GB");
  161.                 grupa2.add(r1btn1);
  162.                 grupa2.add(r1btn2);
  163.                 grupa2.add(r1btn3);
  164.                 grupa2.add(r1btn4);
  165.                
  166.                 addComponent(panel3, r1btn1, 0, 0, 1, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
  167.                 addComponent(panel3, r1btn2, 1, 0, 1, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
  168.                 addComponent(panel3, r1btn3, 0, 1, 1, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
  169.                 addComponent(panel3, r1btn4, 1, 1, 1, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
  170.                
  171.             addComponent(forma, panel3, 2, 1, 2, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
  172.            
  173.             //--
  174.            
  175.            
  176.             JPanel panel4 = new JPanel();
  177.             panel4.setBorder(BorderFactory.createTitledBorder("Price"));
  178.             //panel4.setLayout(new GridBagLayout());
  179.             panel4.setLayout(layout);
  180.            
  181.                 final JSlider slider = new JSlider();
  182.                 slider.setMinimum(200);
  183.                 slider.setMaximum(700);
  184.                 slider.setMajorTickSpacing(500);
  185.                 slider.setMinorTickSpacing(100);
  186.                 slider.setSnapToTicks(true);
  187.                 slider.setPaintLabels(true);
  188.                 slider.setPaintTicks(true);
  189.                 slider.setSnapToTicks(true);
  190.                 slider.setOrientation(JSlider.VERTICAL);
  191.                 slider.addChangeListener(new ChangeListener() {
  192.                    
  193.                     @Override
  194.                     public void stateChanged(ChangeEvent arg0) {
  195.                         if(!slider.getValueIsAdjusting()) {
  196.                         setPrice(Integer.valueOf(slider.getValue()));
  197.                         }
  198.                     }
  199.                 });
  200.                
  201.                 panel4.add(slider);
  202.                 panel4.add(actual);
  203.                 panel4.add(price);
  204.                 layout.putConstraint(SpringLayout.NORTH, actual, 170, SpringLayout.NORTH, panel4);
  205.                 layout.putConstraint(SpringLayout.WEST, actual, 80, SpringLayout.WEST, slider);
  206.                 layout.putConstraint(SpringLayout.NORTH, price, 20, SpringLayout.NORTH, actual);
  207.                 layout.putConstraint(SpringLayout.WEST, price, 123, SpringLayout.WEST, slider);            
  208.    
  209.             addComponent(forma, panel4, 0, 2, 3, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
  210.            
  211.             //--
  212.             JPanel panel5 = new JPanel();
  213.             panel5.setLayout(new GridBagLayout());
  214.            
  215.             final JButton order = new JButton("Order");
  216.             order.setEnabled(false);
  217.             order.addActionListener(new ActionListener() {
  218.                
  219.                 @Override
  220.                 public void actionPerformed(ActionEvent arg0) {
  221.                     orderForma(ime.getText(), prezime.getText(), address.getText());
  222.                    
  223.                 }
  224.             });
  225.            
  226.             final JButton check = new JButton("Check Configuration");
  227.             check.addActionListener(new ActionListener() {
  228.                
  229.                 @Override
  230.                 public void actionPerformed(ActionEvent e) {
  231.                     DataBase a = new DataBase();
  232.                     a.initDatabase();
  233.                     String ram="", cpu="";
  234.                     if(r1btn1.isSelected()){ram = "512 MB";}
  235.                     if(r1btn2.isSelected()){ram = "1 GB";}
  236.                     if(r1btn3.isSelected()){ram = "2 GB";}
  237.                     if(r1btn4.isSelected()){ram = "4 GB";}
  238.                    
  239.                     if(rbtn1.isSelected()){cpu = "1.52 GHz";}
  240.                     if(rbtn2.isSelected()){cpu = "1.89 GHz";}
  241.                     if(r1btn3.isSelected()){cpu = "2.0 GHz";}
  242.                     if(rbtn4.isSelected()){cpu = "2.54 GHz";}
  243.                    
  244.                     Computer rez = a.searchComputer(cpu, ram, Integer.valueOf(slider.getValue()));
  245.                     if(rez!=null)
  246.                         {
  247.                         okForma(Integer.valueOf(slider.getValue()));
  248.                         order.setEnabled(true);}
  249.                     else {
  250.                         nookForma();
  251.                         order.setEnabled(false);
  252.                         }
  253.                 }
  254.             });
  255.            
  256.  
  257.                 addComponent(panel5, check, 0, 0, 1, 1, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL);
  258.                 addComponent(panel5, order, 1, 0, 1, 1, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL);
  259.                
  260.             addComponent(forma, panel5, 3, 2, 1, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
  261.             forma.setVisible(true);
  262.         }
  263.    
  264.     public static void setPrice(int br){
  265.         price.setText(br+"$");
  266.     }
  267.    
  268.     public static void main(String[] args) {
  269.  
  270.         NovaForma();
  271.  
  272.     }
  273.    
  274.     private static void addComponent(Container container, Component component, int gridx, int gridy, int gridwidth, int gridheight, int anchor, int fill) {
  275.         GridBagConstraints gbc= new GridBagConstraints(gridx, gridy, gridwidth, gridheight, 1.0, 6.0, anchor, fill, insets, 0, 0);
  276.         container.add(component, gbc);
  277.     }
  278.  
  279. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement