Esempio n. 1
0
  QueryPanel(ControlHandler c) {
    // initialize the important stuff
    control = c;
    control.setQueryPanel(this);

    // make a few buttons and fields
    JButton queryButton = new JButton("Query");
    queryField = new JTextField("", 30); // query
    socketField = new JTextField("0", 3);
    JButton downloadButton = new JButton("Download");

    // add actions
    queryButton.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent event) {
            sendQuery();
          }
        });
    downloadButton.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent event) {
            startDownload();
          }
        });

    // initialize the query table
    queryModel = new QueryTableModel(3, control.getQueryVector());
    queryTable = new JTable(queryModel);
    queryTable.addMouseListener(new TableListener());
    // TableColumnModel columnModel = new TableColumn();
    //    columnModel.getColumn(0).setWidth(350);

    JScrollPane scrollPane = new JScrollPane(queryTable);
    scrollPane.setPreferredSize(new Dimension(625, 150));
    scrollPane.setBorder(BorderFactory.createLoweredBevelBorder());

    // Create a panel to hold the query search
    JPanel commandPanel = new JPanel();
    commandPanel.add(queryButton);
    commandPanel.add(queryField);
    commandPanel.add(downloadButton);
    add(commandPanel);

    // Create a panel to hold the download button
    JPanel query = new JPanel();
    query.setBorder(BorderFactory.createTitledBorder("Queries"));
    query.add(scrollPane);
    add(query);

    // ---------------------------------------------------------------------

    // Download Table
    downloadModel = new DownloadTableModel(3, control.getDownloadVector());
    downloadTable = new JTable(downloadModel);
    downloadTable.addMouseListener(new TableListener());
    JScrollPane downloadPane = new JScrollPane(downloadTable);
    downloadPane.setPreferredSize(new Dimension(625, 80));
    downloadPane.setBorder(BorderFactory.createLoweredBevelBorder());

    // Buttons
    JButton cancelDownload = new JButton("Cancel Selected");
    JButton cancelAllDownload = new JButton("Cancel All");
    JButton clearDownloadButton = new JButton("Clear completed");

    cancelDownload.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent event) {
            control.removeDownloadAt(downloadRow);
          }
        });
    clearDownloadButton.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent event) {
            control.removeCompletedDownloads();
          }
        });

    // A panel for the buttons and things
    JPanel downloadCommand = new JPanel();
    downloadCommand.add(cancelDownload);
    downloadCommand.add(cancelAllDownload);
    downloadCommand.add(clearDownloadButton);
    JPanel down = new JPanel();
    down.setBorder(BorderFactory.createTitledBorder("Downloads"));
    down.add(downloadPane);
    add(down);
    add(downloadCommand);
  }