Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.*;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.MouseAdapter;
- import java.awt.event.MouseEvent;
- import java.util.LinkedList;
- import javax.swing.*;
- import javax.swing.JTable;
- import java.util.List.*;
- public class GUI_g extends JFrame {
- public String[] channels = {"Channel 1", "Channel 2"};
- public JTable listTable;
- public String ptmCol[] = {"Genre","Title","Duration","Actor", "Director", "Rentable"};
- public void buildGui() {
- final JFrame frame = new JFrame("Hotel TV Scheduler");
- frame.setSize(1024, 768);
- JPanel mainPanel = new JPanel();
- mainPanel.setLayout(new BorderLayout(0,0));
- final JPanel chPanel = new JPanel();
- chPanel.setLayout(new BoxLayout(chPanel, BoxLayout.Y_AXIS));
- final JPanel listPanel = new JPanel();
- listPanel.setLayout(new BoxLayout(listPanel, BoxLayout.Y_AXIS));
- JPanel infoPanel = new JPanel();
- infoPanel.setLayout(new GridLayout(0,2, 2, 0));
- final JPanel tablePanel = new JPanel();
- tablePanel.setLayout(new GridLayout(1,2));
- final JPanel rmvbtnPanel = new JPanel();
- rmvbtnPanel.setLayout(new GridLayout(1,2));
- JPanel centrePanel = new JPanel();
- centrePanel.setLayout(new GridLayout(0,1));
- mainPanel.add(chPanel, BorderLayout.WEST);
- mainPanel.add(listPanel, BorderLayout.EAST);
- mainPanel.add(centrePanel, BorderLayout.CENTER);
- LinkedList schedule = new LinkedList();
- schedule = (LinkedList) Processing.readAllData();
- final ProgramTableModel progTableModel = new ProgramTableModel(schedule);
- final LinkedList channel1DataTitle = new LinkedList();
- for(int i = 0; i < 36; i++)
- channel1DataTitle.add(i, "");
- final LinkedList channel1DataGenre = new LinkedList();
- for(int i = 0; i < 36; i++)
- channel1DataGenre.add(i, "");
- ChannelTableModel ctm = new ChannelTableModel(channel1DataTitle, channel1DataGenre);
- final JTable chOneTable = new JTable(ctm);
- JScrollPane scrollPaneCh = new JScrollPane(chOneTable);
- final JTable listTable = new JTable(progTableModel);
- JScrollPane scrollPaneList = new JScrollPane(listTable);
- String[] day = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ,"Sunday"};
- JComboBox dayList = new JComboBox(day);
- JButton rmvButton = new JButton("Remove Program");
- JButton dayButton = new JButton("Choose");
- JButton clearButton = new JButton("Clear Channel");
- tablePanel.add(scrollPaneCh);
- rmvbtnPanel.add(rmvButton);
- rmvbtnPanel.add(clearButton);
- chPanel.add(dayList);
- chPanel.add(dayButton);
- chPanel.add(chOneTable);
- chPanel.add(rmvButton);
- JLabel listLabel = new JLabel("List:");
- String genre[] = {"Movie", "Drama", "Comedy", "Hotel Info", "Music"};
- JComboBox genreList = new JComboBox(genre);
- genreList.setPrototypeDisplayValue("Hotel Info");
- JButton genreButton = new JButton("Search");
- listPanel.add(listLabel);
- listPanel.add(scrollPaneList);
- listPanel.add(genreList);
- listPanel.add(genreButton);
- JLabel titleLabel = new JLabel("Title");
- JLabel genreLabel = new JLabel("Genre");
- JLabel durationLabel = new JLabel("Duration");
- JLabel actorLabel = new JLabel("Actor");
- JLabel directorLabel = new JLabel("Director");
- JLabel rentableLabel = new JLabel("Rentable");
- JLabel synLabel = new JLabel("Synopsis");
- final JTextField txtTitle = new JTextField();
- final JTextField txtGenre = new JTextField();
- final JTextField txtDuration = new JTextField();
- final JTextField txtActor = new JTextField();
- final JTextField txtDirector = new JTextField();
- final JTextField txtSynopsis = new JTextField();
- final JCheckBox rentCB = new JCheckBox();
- JButton btnAddProg = new JButton("Add Program");
- JList channelList = new JList(channels);
- JList timeList = new JList();
- infoPanel.add(titleLabel);
- infoPanel.add(txtTitle);
- infoPanel.add(genreLabel);
- infoPanel.add(txtGenre);
- infoPanel.add(durationLabel);
- infoPanel.add(txtDuration);
- infoPanel.add(actorLabel);
- infoPanel.add(txtActor);
- infoPanel.add(directorLabel);
- infoPanel.add(txtDirector);
- infoPanel.add(rentableLabel);
- infoPanel.add(rentCB);
- infoPanel.add(synLabel);
- infoPanel.add(txtSynopsis);
- infoPanel.add(btnAddProg);
- listTable.addMouseListener(new MouseAdapter() {
- public void mouseClicked(MouseEvent e) {
- if (e.getClickCount() == 1) {
- JTable target = (JTable)e.getSource();
- int row = target.getSelectedRow();
- int column = 0;
- String title = listTable.getValueAt(row, column).toString();
- String duration = listTable.getValueAt(row, column+1).toString();
- String genre = listTable.getValueAt(row, column+2).toString();
- String actor = listTable.getValueAt(row, column+3).toString();
- String director = listTable.getValueAt(row, column+4).toString();
- //String rentable = listTable.getValueAt(row, column+5).toString();
- //String synopsis = listTable.getValueAt(row, column+6).toString();
- txtTitle.setText(title);
- txtDuration.setText(duration);
- txtGenre.setText(genre);
- txtActor.setText(actor);
- txtDirector.setText(director);
- }
- }
- });
- btnAddProg.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- try {
- String value = progTableModel.getValueAt(listTable.getSelectedRow(), listTable.getSelectedColumn()).toString();
- String value2 = progTableModel.getValueAt(listTable.getSelectedRow(), listTable.getSelectedColumn()+2).toString();
- channel1DataTitle.set(chOneTable.getSelectedRow(), value);
- channel1DataGenre.set(chOneTable.getSelectedRow(), value2);
- chOneTable.repaint();
- } catch (IndexOutOfBoundsException f) {
- JOptionPane.showMessageDialog(frame,
- "Please select a row in the Channel table!",
- "Channel row not selected",
- JOptionPane.PLAIN_MESSAGE);
- }
- }
- });
- rmvButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- String value = "";
- String value2 = "";
- channel1DataTitle.set(chOneTable.getSelectedRow(), value);
- channel1DataGenre.set(chOneTable.getSelectedRow(), value2);
- chOneTable.repaint();
- }
- });
- centrePanel.add(infoPanel);
- frame.add(mainPanel);
- frame.setVisible(true);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement