Advertisement
Guest User

GUI_g

a guest
Apr 12th, 2012
238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.53 KB | None | 0 0
  1. import java.awt.*;
  2. import java.awt.event.ActionEvent;
  3. import java.awt.event.MouseAdapter;
  4. import java.awt.event.MouseEvent;
  5. import java.util.LinkedList;
  6. import javax.swing.*;
  7. import javax.swing.JTable;
  8. import java.util.List.*;
  9.  
  10.  
  11. public class GUI_g extends JFrame {
  12.    
  13.        
  14.                public String[] channels = {"Channel 1", "Channel 2"};
  15.                public JTable listTable;
  16.  
  17.    
  18.     public void buildGui() {
  19.  
  20.         JFrame frame = new JFrame("Hotel TV Scheduler");
  21.                 frame.setSize(1024, 768);
  22.                
  23.                 JPanel mainPanel = new JPanel();
  24.         mainPanel.setLayout(new BorderLayout(0,0));
  25.                                                
  26.                 JPanel chPanel = new JPanel();
  27.                 chPanel.setLayout(new GridLayout(3,1));
  28.                                                
  29.                 JPanel listPanel = new JPanel();
  30.                 listPanel.setLayout(new GridLayout(3,2,1,0));
  31.                
  32.                 JPanel infoPanel = new JPanel();
  33.         infoPanel.setLayout(new GridLayout(0,3, 1, 0));
  34.                
  35.                
  36.                 JPanel addPanel = new JPanel();
  37.         addPanel.setLayout(new GridLayout(0,3));
  38.                
  39.                 JPanel chlblPanel = new JPanel();
  40.                 chlblPanel.setLayout(new GridLayout(1,2));
  41.                
  42.                 JPanel tablePanel = new JPanel();
  43.                 tablePanel.setLayout(new GridLayout(1,2));
  44.                
  45.                 JPanel rmvbtnPanel = new JPanel();
  46.                 rmvbtnPanel.setLayout(new GridLayout(1,2));
  47.                
  48.                 JPanel centrePanel = new JPanel();
  49.                 centrePanel.setLayout(new GridLayout(0,3));
  50.                                        
  51.                
  52.               //  mainPanel.add(chPanel, BorderLayout.WEST);
  53.               //  mainPanel.add(listPanel, BorderLayout.EAST);
  54.                 mainPanel.add(centrePanel, BorderLayout.CENTER);
  55.                                
  56.                 LinkedList schedule = new LinkedList();
  57.                 schedule = (LinkedList) Processing.readAllData();              
  58.                 final ProgramTableModel progTableModel = new ProgramTableModel(schedule);
  59.                
  60.                
  61.                 JTable chOneTable = new JTable(progTableModel);
  62.                 JScrollPane  scrollPaneCh = new JScrollPane(chOneTable);
  63.                
  64.                 JTable chTwoTable = new JTable();
  65.                
  66.                
  67.                
  68.                
  69.                          
  70.                 final JTable listTable = new JTable(progTableModel);
  71.                 JScrollPane  scrollPane = new JScrollPane(listTable);
  72.                
  73.                
  74.  
  75.  
  76.                 JLabel ch1Label = new JLabel("Channel 1");
  77.                
  78.                
  79.                 JLabel ch2Label = new JLabel("Channel 2");
  80.                 JLabel listLabel = new JLabel("List");
  81.                
  82.                 JButton rmvChOneButton = new JButton("Remove Channel");
  83.                 JButton rmvChTwoButton = new JButton("Remove Channel");
  84.                
  85.                 chlblPanel.add(ch1Label);
  86.                 chlblPanel.add(ch2Label);
  87.                
  88.                 tablePanel.add(chOneTable);
  89.              //   tablePanel.add(chTwoTable);
  90.                
  91.                 rmvbtnPanel.add(rmvChOneButton);
  92.                 rmvbtnPanel.add(rmvChTwoButton);            
  93.    
  94.                 chPanel.add(chlblPanel);
  95.                 chPanel.add(tablePanel);
  96.                 chPanel.add(rmvbtnPanel);
  97.                
  98.                 listPanel.add(listLabel);
  99.                 listPanel.add(listTable);                
  100.                
  101.                 JLabel titleLabel = new JLabel("Title");
  102.                 JLabel genreLabel = new JLabel("Genre");
  103.                 JLabel durationLabel = new JLabel("Duration");
  104.                 JLabel actorLabel = new JLabel("Actor");
  105.                 JLabel directorLabel = new JLabel("Director");
  106.                 JLabel rentableLabel = new JLabel("Rentable");
  107.                 JLabel synLabel = new JLabel("Synopsis");
  108.                
  109.                 final JTextField txtTitle = new JTextField();          
  110.                 final JTextField txtGenre = new JTextField();
  111.                 final JTextField txtDuration = new JTextField();
  112.                 final JTextField txtActor = new JTextField();
  113.                 final JTextField txtDirector = new JTextField();
  114.                 final JTextField txtSynopsis = new JTextField();
  115.                                
  116.                 final JCheckBox rentCB = new JCheckBox();
  117.                
  118.                 JButton btnAddProg = new JButton("Add Program");
  119.                
  120.                
  121.                
  122.                
  123.                 JList channelList = new JList(channels);
  124.                 JList timeList = new JList();
  125.                
  126.                 infoPanel.add(titleLabel);
  127.                 infoPanel.add(txtTitle);
  128.                 infoPanel.add(new JLabel(" "));
  129.                 infoPanel.add(genreLabel);
  130.                 infoPanel.add(txtGenre);
  131.                 infoPanel.add(new JLabel(" "));
  132.                 infoPanel.add(durationLabel);
  133.                 infoPanel.add(txtDuration);
  134.                 infoPanel.add(new JLabel(" "));
  135.                 infoPanel.add(actorLabel);
  136.                 infoPanel.add(txtActor);
  137.                 infoPanel.add(new JLabel(" "));
  138.                 infoPanel.add(directorLabel);
  139.                 infoPanel.add(txtDirector);
  140.                 infoPanel.add(new JLabel(" "));
  141.                 infoPanel.add(rentableLabel);
  142.                 infoPanel.add(rentCB);
  143.                 infoPanel.add(new JLabel(" "));
  144.                 infoPanel.add(synLabel);
  145.                 infoPanel.add(txtSynopsis);
  146.                 infoPanel.add(new JLabel(" "));
  147.                 infoPanel.add(btnAddProg);
  148.                 infoPanel.add(channelList);
  149.                 infoPanel.add(timeList);
  150.                
  151.                            
  152.                  listTable.addMouseListener(new MouseAdapter() {
  153.                  public void mouseClicked(MouseEvent e) {
  154.                     if (e.getClickCount() == 1) {
  155.                   JTable target = (JTable)e.getSource();
  156.                   int row = target.getSelectedRow();
  157.                   int column = target.getSelectedColumn();
  158.  
  159.                   String title = listTable.getValueAt(row, column).toString();
  160.                   String duration = listTable.getValueAt(row, column+1).toString();
  161.                   String genre = listTable.getValueAt(row, column+2).toString();
  162.                   String actor = listTable.getValueAt(row, column+3).toString();
  163.                   String director = listTable.getValueAt(row, column+4).toString();
  164.                   //String rentable = listTable.getValueAt(row, column+5).toString();
  165.                   //String synopsis = listTable.getValueAt(row, column+6).toString();
  166.                  
  167.                   txtTitle.setText(title);
  168.                   txtDuration.setText(duration);
  169.                   txtGenre.setText(genre);
  170.                  
  171.                   if (listTable.getValueAt(row, column+3) == null) {
  172.                      
  173.                       listTable.setValueAt("N/A", row, column+3);
  174.                       txtActor.setText("N/A");
  175.                      
  176.                   }
  177.                  
  178.                   else {
  179.                      
  180.                       txtActor.setText(actor);
  181.                   }
  182.                  
  183.                   if (listTable.getValueAt(row, column+4) == null) {
  184.                      
  185.                       listTable.setValueAt("N/A", row, column+4);
  186.                       txtDirector.setText("N/A");
  187.                      
  188.                   } else {
  189.                  
  190.                   txtDirector.setText(director);
  191.                                    
  192.                   }
  193.                  
  194.                  
  195.                  
  196.                   progTableModel.getData().get(listTable.getSelectedRow());  
  197.                        
  198.                  
  199.              
  200.                
  201.                  
  202.                 }
  203.                   }
  204.                 });
  205.                
  206.                
  207.                
  208.                
  209.                 centrePanel.add(chPanel);
  210.                 centrePanel.add(infoPanel);
  211.                centrePanel.add(listPanel);
  212.                    
  213.                 frame.add(mainPanel);
  214.                 frame.setVisible(true);
  215.                
  216.         }
  217.        
  218.    
  219. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement