Advertisement
Guest User

GUI_g

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