Example usage for javax.swing.table DefaultTableModel setDataVector

List of usage examples for javax.swing.table DefaultTableModel setDataVector

Introduction

In this page you can find the example usage for javax.swing.table DefaultTableModel setDataVector.

Prototype

public void setDataVector(Object[][] dataVector, Object[] columnIdentifiers) 

Source Link

Document

Replaces the value in the dataVector instance variable with the values in the array dataVector.

Usage

From source file:com.net2plan.gui.GUINet2Plan.java

private void showKeyCombinations() {
    Component component = container.getComponent(0);
    if (!(component instanceof IGUIModule)) {
        ErrorHandling.showErrorDialog("No tool is active", "Unable to show key associations");
        return;/* w  ww .j a va  2  s.  com*/
    }

    final JDialog dialog = new JDialog();
    dialog.setTitle("Key combinations");
    SwingUtils.configureCloseDialogOnEscape(dialog);
    dialog.setModalityType(Dialog.ModalityType.APPLICATION_MODAL);
    dialog.setSize(new Dimension(500, 300));
    dialog.setLocationRelativeTo(null);
    dialog.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
    dialog.setLayout(new MigLayout("fill, insets 0 0 0 0"));

    final String[] tableHeader = StringUtils.arrayOf("Key combination", "Action");

    DefaultTableModel model = new ClassAwareTableModel();
    model.setDataVector(new Object[1][tableHeader.length], tableHeader);

    AdvancedJTable table = new AdvancedJTable(model);
    JScrollPane scrollPane = new JScrollPane(table);
    dialog.add(scrollPane, "grow");

    RowSorter<TableModel> sorter = new TableRowSorter<TableModel>(model);
    table.setRowSorter(sorter);

    table.getTableHeader().addMouseListener(new ColumnFitAdapter());

    IGUIModule module = (IGUIModule) component;
    Map<String, KeyStroke> keyCombinations = module.getKeyCombinations();
    if (!keyCombinations.isEmpty()) {
        model.removeRow(0);

        for (Entry<String, KeyStroke> keyCombination : keyCombinations.entrySet()) {
            String description = keyCombination.getKey();
            KeyStroke keyStroke = keyCombination.getValue();
            model.addRow(StringUtils.arrayOf(description, keyStroke.toString().replaceAll(" pressed ", " ")));
        }
    }

    dialog.setVisible(true);
}

From source file:com.net2plan.gui.utils.onlineSimulationPane.OnlineSimulationPane.java

/**
 * Shows the future event list./*from  w w  w .  j  a v a 2 s.c  om*/
 *
 * @since 0.3.0
 */
public void viewFutureEventList() {
    final JDialog dialog = new JDialog();
    dialog.setTitle("Future event list");
    SwingUtils.configureCloseDialogOnEscape(dialog);
    dialog.setModalityType(Dialog.ModalityType.APPLICATION_MODAL);
    dialog.setSize(new Dimension(500, 300));
    dialog.setLocationRelativeTo(null);
    dialog.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
    dialog.setLayout(new MigLayout("fill, insets 0 0 0 0"));

    final String[] tableHeader = StringUtils.arrayOf("Id", "Time", "Priority", "Type", "To module",
            "Custom object");
    Object[][] data = new Object[1][tableHeader.length];

    DefaultTableModel model = new ClassAwareTableModel();
    model.setDataVector(new Object[1][tableHeader.length], tableHeader);

    JTable table = new AdvancedJTable(model);
    RowSorter<TableModel> sorter = new TableRowSorter<TableModel>(model);
    table.setRowSorter(sorter);
    JScrollPane scrollPane = new JScrollPane(table);
    dialog.add(scrollPane, "grow");

    PriorityQueue<SimEvent> futureEventList = simKernel.getSimCore().getFutureEventList().getPendingEvents();
    if (!futureEventList.isEmpty()) {
        int numEvents = futureEventList.size();
        SimEvent[] futureEventList_array = futureEventList.toArray(new SimEvent[numEvents]);
        Arrays.sort(futureEventList_array, futureEventList.comparator());
        data = new Object[numEvents][tableHeader.length];

        for (int eventId = 0; eventId < numEvents; eventId++) {
            //            List<SimAction> actions = futureEventList_array[eventId].getEventActionList();
            Object customObject = futureEventList_array[eventId].getEventObject();
            data[eventId][0] = eventId;
            data[eventId][1] = StringUtils
                    .secondsToYearsDaysHoursMinutesSeconds(futureEventList_array[eventId].getEventTime());
            data[eventId][2] = futureEventList_array[eventId].getEventPriority();
            data[eventId][3] = futureEventList_array[eventId].getEventType();
            data[eventId][4] = futureEventList_array[eventId].getEventDestinationModule().toString();
            data[eventId][5] = customObject == null ? "none" : customObject;
        }
    }

    model.setDataVector(data, tableHeader);
    table.getTableHeader().addMouseListener(new ColumnFitAdapter());
    table.setDefaultRenderer(Double.class, new CellRenderers.NumberCellRenderer());

    dialog.setVisible(true);
}

From source file:org.isatools.isacreator.gui.formelements.SubForm.java

protected void removeColumn(int curColDelete) {

    if ((curColDelete == -1) || (curColDelete == 0)) {
        return;//from w  w w. j a  va2 s  . c o m
    }

    if (defaultTableModel.getColumnCount() == 2 && curColDelete == (defaultTableModel.getColumnCount() - 1)) {
        clearColumn(curColDelete);
        return;
    } else {
        clearColumn(curColDelete);
    }

    if (fieldType == FieldTypes.ASSAY && (dataEntryForm != null) && !uneditableRecords.contains(curColDelete)) {
        clearColumn(curColDelete);
        return;
    }

    DefaultTableModel model = (DefaultTableModel) scrollTable.getModel();

    // get the column. because 1 was added on previously to take account of the first column, we need to remove
    // it this time since the column indexes are now coming from the table.
    TableColumn col = scrollTable.getColumnModel().getColumn(curColDelete - 1);
    int columnModelIndex = col.getModelIndex();
    Vector data = model.getDataVector();
    Vector<String> colIds = new Vector<String>();

    for (int i = 0; i < model.getColumnCount(); i++) {
        colIds.addElement(model.getColumnName(i));
    }

    scrollTable.removeColumn(col);
    colIds.removeElementAt(columnModelIndex);

    // remove any data present in the column on deletion
    for (Object aData : data) {
        Vector row = (Vector) aData;
        row.removeElementAt(columnModelIndex);
    }

    model.setDataVector(data, colIds);

    // decrease each column index after deleted column by 1 so that indexes can be kept intact.
    Enumeration columnEnumeration = scrollTable.getColumnModel().getColumns();

    while (columnEnumeration.hasMoreElements()) {
        TableColumn c = (TableColumn) columnEnumeration.nextElement();

        if (c.getModelIndex() >= columnModelIndex) {
            c.setModelIndex(c.getModelIndex() - 1);
        }
    }

    if (fieldType == FieldTypes.ASSAY && uneditableRecords.contains(defaultTableModel.getColumnCount() - 1)) {
        uneditableRecords.remove(defaultTableModel.getColumnCount() - 1);
    }

    // update the model
    model.fireTableStructureChanged();
    updateTables();
}

From source file:org.openmicroscopy.shoola.agents.fsimporter.chooser.FileSelectionTable.java

/** Removes the selected files from the queue. */
private void removeSelectedFiles() {
    table.removeKeyListener(keyListener);
    int[] rows = table.getSelectedRows();
    if (rows == null || rows.length == 0)
        return;/*from ww  w . java  2  s.  com*/
    DefaultTableModel dtm = (DefaultTableModel) table.getModel();
    Vector<?> v = dtm.getDataVector();
    List<Object> indexes = new ArrayList<Object>();
    for (int i = 0; i < table.getRowCount(); i++) {
        if (table.isRowSelected(i))
            indexes.add(v.get(i));
    }
    v.removeAll(indexes);
    dtm.setDataVector(v, this.columnHeadings);
    table.clearSelection();
    formatTableModel();
    table.repaint();
    table.addKeyListener(keyListener);
    int n = table.getRowCount();
    firePropertyChange(REMOVE_PROPERTY, n - 1, n);
    enabledControl(table.getRowCount() > 0);
    model.onSelectionChanged();
}

From source file:uk.ac.ebi.demo.picr.swing.PICRBLASTDemo.java

public PICRBLASTDemo() {

    //set general layout
    setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS));

    add(Box.createVerticalStrut(5));

    //create components
    JPanel row1 = new JPanel();
    row1.setLayout(new BoxLayout(row1, BoxLayout.X_AXIS));
    row1.add(Box.createHorizontalStrut(5));
    row1.setBorder(BorderFactory.createTitledBorder(""));
    row1.add(new JLabel("Fragment:"));
    row1.add(Box.createHorizontalStrut(10));
    final JTextArea sequenceArea = new JTextArea(5, 40);
    sequenceArea.setMaximumSize(sequenceArea.getPreferredSize());
    row1.add(Box.createHorizontalStrut(10));

    row1.add(sequenceArea);/*from w ww  .j  a v a2 s  . c  o m*/
    row1.add(Box.createHorizontalGlue());

    JPanel row2 = new JPanel(new FlowLayout(FlowLayout.LEFT));
    row2.setBorder(BorderFactory.createTitledBorder("Target Databases"));
    final JList databaseList = new JList();
    JScrollPane listScroller = new JScrollPane(databaseList);
    listScroller.setMaximumSize(new Dimension(100, 10));
    JButton loadDBButton = new JButton("Load Databases");
    row2.add(listScroller);
    row2.add(loadDBButton);

    JPanel row3 = new JPanel(new FlowLayout(FlowLayout.LEFT));
    JCheckBox onlyActiveCheckBox = new JCheckBox("Only Active");
    onlyActiveCheckBox.setSelected(true);
    row3.add(new JLabel("Options:  "));
    row3.add(onlyActiveCheckBox);

    add(row1);
    add(row2);
    add(row3);

    final String[] columns = new String[] { "Database", "Accession", "Version", "Taxon ID" };
    final JTable dataTable = new JTable(new Object[0][0], columns);
    dataTable.setShowGrid(true);
    add(new JScrollPane(dataTable));

    JPanel buttonPanel = new JPanel();
    JButton mapAccessionButton = new JButton("Generate Mapping!");
    buttonPanel.add(mapAccessionButton);
    add(buttonPanel);

    //create listeners!

    //update boolean flag in communication class
    onlyActiveCheckBox.addChangeListener(new ChangeListener() {
        public void stateChanged(ChangeEvent e) {
            client.setOnlyActive(((JCheckBox) e.getSource()).isSelected());
        }
    });

    //performs mapping call and updates interface with results
    mapAccessionButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {

            try {

                if (!"".equals(sequenceArea.getText())) {
                    //TODO filters and database are hardcoded here.  They should be added to the input panel at a later revision.
                    java.util.List<UPEntry> entries = client.performBlastMapping(sequenceArea.getText(),
                            databaseList.getSelectedValues(), "90", "", "IDENTITY", "UniprotKB", "", false,
                            new BlastParameter());

                    //compute size of array
                    if (entries != null) {
                        int size = 0;
                        for (UPEntry entry : entries) {
                            for (CrossReference xref : entry.getIdenticalCrossReferences()) {
                                size++;
                            }
                            for (CrossReference xref : entry.getLogicalCrossReferences()) {
                                size++;
                            }
                        }

                        if (size > 0) {

                            final Object[][] data = new Object[size][4];
                            int i = 0;
                            for (UPEntry entry : entries) {
                                for (CrossReference xref : entry.getIdenticalCrossReferences()) {
                                    data[i][0] = xref.getDatabaseName();
                                    data[i][1] = xref.getAccession();
                                    data[i][2] = xref.getAccessionVersion();
                                    data[i][3] = xref.getTaxonId();
                                    i++;
                                }
                                for (CrossReference xref : entry.getLogicalCrossReferences()) {
                                    data[i][0] = xref.getDatabaseName();
                                    data[i][1] = xref.getAccession();
                                    data[i][2] = xref.getAccessionVersion();
                                    data[i][3] = xref.getTaxonId();
                                    i++;
                                }
                            }

                            //refresh
                            DefaultTableModel dataModel = new DefaultTableModel();
                            dataModel.setDataVector(data, columns);
                            dataTable.setModel(dataModel);

                            System.out.println("update done");

                        } else {
                            JOptionPane.showMessageDialog(null, "No Mappind data found.");
                        }
                    } else {
                        JOptionPane.showMessageDialog(null, "No Mappind data found.");
                    }
                } else {
                    JOptionPane.showMessageDialog(null, "You must enter a valid FASTA sequence to map.");
                }
            } catch (SOAPFaultException soapEx) {
                JOptionPane.showMessageDialog(null, "A SOAP Error occurred.");
                soapEx.printStackTrace();
            }
        }
    });

    //loads list of mapping databases from communication class
    loadDBButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {

            try {

                java.util.List<String> databases = client.loadDatabases();
                if (databases != null && databases.size() > 0) {

                    databaseList.setListData(databases.toArray());
                    System.out.println("database refresh done");

                } else {
                    JOptionPane.showMessageDialog(null, "No Databases Loaded!.");
                }

            } catch (SOAPFaultException soapEx) {
                JOptionPane.showMessageDialog(null, "A SOAP Error occurred.");
                soapEx.printStackTrace();
            }
        }
    });

}