Example usage for javax.swing.table DefaultTableModel DefaultTableModel

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

Introduction

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

Prototype

public DefaultTableModel(Object[][] data, Object[] columnNames) 

Source Link

Document

Constructs a DefaultTableModel and initializes the table by passing data and columnNames to the setDataVector method.

Usage

From source file:generadorqr.jifrGestionArticulos.java

public static DefaultTableModel LlenarTablaArticulos() {
    try {//ww w. j  a va2s . c o  m
        String titulos[] = { "ID", "CATEGORIA", "NOMBRE", "CANTIDAD", "DESCRIPCION", "IMG 1", "IMG 2", "IMG 3",
                "SONIDO", "VIDEO", "IMAGEN QR" };
        String SQLTA = "SELECT a.IDARTICULO, c.NOMBRECATEGORIA, a.NOMBREARTICULO,a.CANTIDADARTICULO, a.DESCRIPCIONARTICULO, a.IMAGENUNOARTICULO, a.IMAGENDOSARTICULO, a.IMAGENTRESARTICULO, a.SONIDOARTICULO, a.VIDEOARTICULO, a.IMAGENQRARTICULO FROM articulos AS a INNER JOIN categorias AS c USING(IDCATEGORIA) ORDER BY a.IDARTICULO, c.NOMBRECATEGORIA, a.NOMBREARTICULO ASC";
        DefaultTableModel model = new DefaultTableModel(null, titulos);
        Statement sent = conn.createStatement();
        ResultSet rs = sent.executeQuery(SQLTA);
        String[] fila = new String[11];
        while (rs.next()) {
            fila[0] = rs.getString("IDARTICULO");
            fila[1] = rs.getString("NOMBRECATEGORIA");
            fila[2] = rs.getString("NOMBREARTICULO");
            fila[3] = rs.getString("CANTIDADARTICULO");
            fila[4] = rs.getString("DESCRIPCIONARTICULO");
            fila[5] = rs.getString("IMAGENUNOARTICULO");
            fila[6] = rs.getString("IMAGENDOSARTICULO");
            fila[7] = rs.getString("IMAGENTRESARTICULO");
            fila[8] = rs.getString("SONIDOARTICULO");
            fila[9] = rs.getString("VIDEOARTICULO");
            fila[10] = rs.getString("IMAGENQRARTICULO");
            model.addRow(fila);
        }
        return model;
    } catch (Exception e) {
        return null;
    }
}

From source file:de.fionera.javamailer.gui.mainView.controllerMain.java

/**
 * Adds the Actionlisteners to the Mainview
 *
 * @param viewMain The Mainview/*from   w w w .  ja v  a  2  s.c  om*/
 */
private void addActionListener(viewMain viewMain) {
    /**
     * Changes the Amount in the AmountLabel when the slider is moved
     */
    viewMain.getSetMailSettingsPanel().getSliderAmountMails().addChangeListener(e -> {
        Main.amountMails = ((JSlider) e.getSource()).getValue();
        viewMain.getSetMailSettingsPanel().getLabelNumberAmountMails()
                .setText("" + ((JSlider) e.getSource()).getValue());
    });

    /**
     * Changes the Delay in the DelayLabel when the slider is moved
     */
    viewMain.getSetMailSettingsPanel().getSliderDelayMails().addChangeListener(e -> {
        Main.delayMails = ((JSlider) e.getSource()).getValue();
        viewMain.getSetMailSettingsPanel().getLabelNumberDelayMails()
                .setText("" + ((JSlider) e.getSource()).getValue());
    });

    /**
     * Closes the Program, when close is clicked
     */
    viewMain.getCloseItem().addActionListener(e -> System.exit(0));

    /**
     * Opens the Settings when the settingsbutton is clicked
     */
    viewMain.getSettingsItem().addActionListener(e -> new controllerSettings());

    /**
     * Save current Setup
     */
    viewMain.getSaveSettings().addActionListener(e -> {
        JFileChooser jChooser = new JFileChooser();
        JFrame parentFrame = new JFrame();

        FileNameExtensionFilter filter = new FileNameExtensionFilter("Setup file", "jms", "Blub");
        jChooser.setFileFilter(filter);

        jChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
        jChooser.setDialogTitle("Select Setup");

        int userSelection = jChooser.showSaveDialog(parentFrame);

        if (userSelection == JFileChooser.APPROVE_OPTION) {
            File fileToSave = new File(jChooser.getSelectedFile() + ".jms");

            saveSetup(viewMain, fileToSave, new ObjectMapper());
        }
    });

    /**
     * Load Setup
     */
    viewMain.getLoadSettings().addActionListener(e -> {
        JFileChooser jChooser = new JFileChooser();

        FileNameExtensionFilter filter = new FileNameExtensionFilter("Setup file", "jms", "Blub");
        jChooser.setFileFilter(filter);

        jChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
        jChooser.setDialogTitle("Select Setup");
        jChooser.showOpenDialog(null);

        File file = jChooser.getSelectedFile();

        if (file != null) {
            if (file.getName().endsWith("jms")) {
                try {
                    loadSetup(viewMain, file, new ObjectMapper());
                } catch (Exception error) {
                    error.printStackTrace();
                }
            }
        }
    });

    /**
     * Opens the Open File dialog and start the Parsing of it
     */
    viewMain.getSelectRecipientsPanel().getSelectExcelFileButton().addActionListener(e -> {
        DefaultTableModel model;
        JFileChooser jChooser = new JFileChooser();

        jChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);

        jChooser.addChoosableFileFilter(new FileNameExtensionFilter("Microsoft Excel 97 - 2003 (.xls)", "xls"));
        jChooser.addChoosableFileFilter(new FileNameExtensionFilter("Microsoft Excel (.xlsx)", "xlsx"));
        jChooser.setDialogTitle("Select only Excel workbooks");
        jChooser.showOpenDialog(null);
        File file = jChooser.getSelectedFile();
        if (file != null) {
            parseFilesForImport parseFilesForImport = new parseFilesForImport();

            if (file.getName().endsWith("xls")) {
                ArrayList returnedData = parseFilesForImport.parseXLSFile(file);

                model = new DefaultTableModel((String[][]) returnedData.get(0), (String[]) returnedData.get(1));

                int tableWidth = model.getColumnCount() * 150;
                int tableHeight = model.getRowCount() * 25;
                viewMain.getSelectRecipientsPanel().getTable()
                        .setPreferredSize(new Dimension(tableWidth, tableHeight));

            } else if (file.getName().endsWith("xlsx")) {
                ArrayList returnedData = parseFilesForImport.parseXLSXFile(file);

                model = new DefaultTableModel((String[][]) returnedData.get(0), (String[]) returnedData.get(1));

                int tableWidth = model.getColumnCount() * 150;
                int tableHeight = model.getRowCount() * 25;
                viewMain.getSelectRecipientsPanel().getTable()
                        .setPreferredSize(new Dimension(tableWidth, tableHeight));

            } else {
                JOptionPane.showMessageDialog(null, "Please select only Excel file.", "Error",
                        JOptionPane.ERROR_MESSAGE);

                model = new DefaultTableModel();
            }
        } else {
            model = new DefaultTableModel();

        }

        viewMain.getSelectRecipientsPanel().getTable().setModel(model);

        int tableWidth = model.getColumnCount() * 150;
        int tableHeight = model.getRowCount() * 25;
        viewMain.getSelectRecipientsPanel().getTable().setPreferredSize(new Dimension(tableWidth, tableHeight));
        viewMain.getCheckAllSettings().getLabelRecipientsAmount().setText("" + model.getRowCount());
        viewMain.getCheckAllSettings().getLabelTimeAmount()
                .setText(""
                        + viewMain.getSetMailSettingsPanel().getSliderDelayMails().getValue()
                                * viewMain.getSelectRecipientsPanel().getTable().getRowCount()
                                / viewMain.getSetMailSettingsPanel().getSliderAmountMails().getValue()
                        + " Seconds");
    });

    /**
     * Starts the sending of th Mails, when the send button is clicked
     */
    viewMain.getCheckAllSettings().getSendMails().addActionListener(e -> {

        String subject = viewMain.getSetMailSettingsPanel().getFieldSubject().getText();
        Sender sender = (Sender) viewMain.getSetMailSettingsPanel().getSelectSender().getSelectedItem();
        JTable table = viewMain.getSelectRecipientsPanel().getTable();

        if (table != null && sender != null && !subject.equals("")) {
            new sendMails(viewMain);
        }
    });

    /**
     * Clears the Table on buttonclick
     */
    viewMain.getSelectRecipientsPanel().getClearTableButton().addActionListener(e -> {
        viewMain.getSelectRecipientsPanel().getTable().setModel(new DefaultTableModel());
        viewMain.getSelectRecipientsPanel().getTable().setBackground(null);

    });

    /**
     * Removes a single Row on menu click in the editMailPanel
     */
    viewMain.getSelectRecipientsPanel().getDeleteRow().addActionListener(e -> {
        ((DefaultTableModel) viewMain.getSelectRecipientsPanel().getTable().getModel())
                .removeRow(viewMain.getSelectRecipientsPanel().getTable().getSelectedRowCount());
        viewMain.getSelectRecipientsPanel().getTable().setBackground(null);

    });

    /**
     * The Changes the displayed Value when the Time in the Timespinner is getting changed.
     */
    viewMain.getSetMailSettingsPanel().getTimeSpinner().addChangeListener(e -> {
        parseDate.parseDate(viewMain);
        viewMain.getSetMailSettingsPanel().getLabelSendingIn().setText(parseDate.getDays() + " Days, "
                + parseDate.getHours() + " hours and " + parseDate.getMinutes() + " minutes remaining");
        viewMain.getSetMailSettingsPanel().getLabelSendingAt().setText(parseDate.getDate().toString());
        viewMain.getSetMailSettingsPanel().setDate(parseDate.getDate());

    });
    viewMain.getSetMailSettingsPanel().getDatePicker().addActionListener(e -> {
        parseDate.parseDate(viewMain);
        viewMain.getSetMailSettingsPanel().getLabelSendingIn().setText(parseDate.getDays() + " Days, "
                + parseDate.getHours() + " hours and " + parseDate.getMinutes() + " minutes remaining");
        viewMain.getSetMailSettingsPanel().getLabelSendingAt().setText(parseDate.getDate().toString());
        viewMain.getSetMailSettingsPanel().setDate(parseDate.getDate());
    });

    /**
     * Actionevent for the Edit Sender Button
     */
    viewMain.getSetMailSettingsPanel().getButtonEditSender()
            .addActionListener(e -> new controllerEditSender(controllerMain));

    /**
     * Actionevent for the Import Button in the EditMail View
     */
    viewMain.getEditMailPanel().getImportWord().addActionListener(e -> {
        JFileChooser jChooser = new JFileChooser();

        jChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);

        jChooser.addChoosableFileFilter(new FileNameExtensionFilter("Microsoft Word 97 - 2003 (.doc)", "doc"));
        jChooser.addChoosableFileFilter(new FileNameExtensionFilter("HTML File (.html)", "html"));
        jChooser.setDialogTitle("Select only Word Documents");
        jChooser.showOpenDialog(null);
        File file = jChooser.getSelectedFile();
        if (file != null) {
            parseFilesForImport parseFilesForImport = new parseFilesForImport();

            if (file.getName().endsWith("doc")) {
                String returnedData = parseFilesForImport.parseDOCFile(file);
                viewMain.getEditMailPanel().setEditorText(returnedData);

            } else if (file.getName().endsWith("html")) {
                String content = "";
                try {
                    content = Jsoup.parse(file, "UTF-8").toString();
                } catch (IOException e1) {
                    e1.printStackTrace();
                }

                viewMain.getEditMailPanel().setEditorText(content);

            } else {
                JOptionPane.showMessageDialog(null, "Please select a Document file.", "Error",
                        JOptionPane.ERROR_MESSAGE);
            }
        }
    });

    /**
     * The Tab Changelistener
     * The first if Statement sets the Labels on the Checkallsettings Panel to the right Values
     */
    viewMain.getTabbedPane().addChangeListener(e -> {
        if (viewMain.getTabbedPane().getSelectedComponent() == viewMain.getCheckAllSettings()) {

            viewMain.getCheckAllSettings().getLabelMailBelow()
                    .setText(viewMain.getEditMailPanel().getEditorText()); //Displays the Mail

            viewMain.getCheckAllSettings().getLabelRecipientsAmount()
                    .setText("" + viewMain.getSelectRecipientsPanel().getTable().getModel().getRowCount()); //Displays the Amount of Recipients

            if (viewMain.getSetMailSettingsPanel().getSelectSender().getSelectedItem() != null) {
                viewMain.getCheckAllSettings().getLabelFromInserted().setText(
                        viewMain.getSetMailSettingsPanel().getSelectSender().getSelectedItem().toString());
            } else {
                viewMain.getCheckAllSettings().getLabelFromInserted().setText("Select a Sender first");
            }

            viewMain.getCheckAllSettings().getLabelSubjectInserted()
                    .setText(viewMain.getSetMailSettingsPanel().getFieldSubject().getText()); //Displays the Subject

            if (viewMain.getSetMailSettingsPanel().getCheckBoxDelayMails().isSelected()) {
                viewMain.getCheckAllSettings().getLabelDelay().setVisible(true);
                viewMain.getCheckAllSettings().getLabelAmount().setVisible(true);
                viewMain.getCheckAllSettings().getLabelTime().setVisible(true);
                viewMain.getCheckAllSettings().getLabelDelayNumber().setVisible(true);
                viewMain.getCheckAllSettings().getLabelAmountNumber().setVisible(true);
                viewMain.getCheckAllSettings().getLabelTimeAmount().setVisible(true);

                viewMain.getCheckAllSettings().getLabelDelayNumber()
                        .setText("" + viewMain.getSetMailSettingsPanel().getSliderDelayMails().getValue()); //The Delay Number
                viewMain.getCheckAllSettings().getLabelAmountNumber()
                        .setText("" + viewMain.getSetMailSettingsPanel().getSliderAmountMails().getValue()); //The Amount of Mail in one package
                viewMain.getCheckAllSettings().getLabelTimeAmount()
                        .setText(""
                                + viewMain.getSetMailSettingsPanel().getSliderDelayMails().getValue()
                                        * viewMain.getSelectRecipientsPanel().getTable().getRowCount()
                                        / viewMain.getSetMailSettingsPanel().getSliderAmountMails().getValue()
                                + " Seconds"); //The Time the Sending needs

            } else {
                viewMain.getCheckAllSettings().getLabelDelay().setVisible(false);
                viewMain.getCheckAllSettings().getLabelAmount().setVisible(false);
                viewMain.getCheckAllSettings().getLabelTime().setVisible(false);
                viewMain.getCheckAllSettings().getLabelDelayNumber().setVisible(false);
                viewMain.getCheckAllSettings().getLabelAmountNumber().setVisible(false);
                viewMain.getCheckAllSettings().getLabelTimeAmount().setVisible(false);
            }

            if (viewMain.getSetMailSettingsPanel().getCheckBoxSendLater().isSelected()) {
                viewMain.getCheckAllSettings().getLabelSendingAt().setVisible(true);
                viewMain.getCheckAllSettings().getLabelSendingWhen().setVisible(true);
                viewMain.getCheckAllSettings().getLabelSendingAt()
                        .setText(viewMain.getSetMailSettingsPanel().getDate().toString());

            } else {
                viewMain.getCheckAllSettings().getLabelSendingAt().setVisible(false);
                viewMain.getCheckAllSettings().getLabelSendingWhen().setVisible(false);
            }

        }
    });

}

From source file:com.ga.forms.DailyLogUI.java

private ArrayList updateDailyLogTable(ArrayList logs, String currMonth, String currTear) {
    String[] columnNames = new String[] { "Date", "Day", "In", "Out", "Break", "Duration", "Under-Time",
            "Over-Time" };
    Object[][] data = null;/* w w w  . j  a v  a 2  s. c  om*/
    ArrayList duration = null;
    if (!logs.isEmpty()) {
        duration = new ArrayList();
        data = new Object[logs.size()][columnNames.length];
        for (int logIndex = 0; logIndex < logs.size(); logIndex++) {
            JSONObject logJSONOBject = new JSONObject((Map) logs.get(logIndex));

            data[logIndex][0] = logJSONOBject.get("date");
            data[logIndex][1] = logJSONOBject.get("day");
            data[logIndex][2] = logJSONOBject.get("check-in");
            data[logIndex][3] = logJSONOBject.get("check-out");
            data[logIndex][4] = logJSONOBject.get("break");
            data[logIndex][5] = logJSONOBject.get("duration");
            data[logIndex][6] = logJSONOBject.get("under-time");
            data[logIndex][7] = logJSONOBject.get("over-time");
            duration.add(logJSONOBject.get("duration"));
        }
    }
    DefaultTableModel dailyLogTableModel = new DefaultTableModel(data, columnNames);
    dailyLogTable.setModel(dailyLogTableModel);
    return duration;
}

From source file:net.sourceforge.atunes.kernel.controllers.stats.StatsDialogController.java

private void setTable(JTable table, Object[] headers, Object[][] content) {
    table.setModel(new DefaultTableModel(content, headers));
    table.getColumnModel().getColumn(0).setPreferredWidth(420);
    table.getColumnModel().getColumn(0).setWidth(table.getColumnModel().getColumn(0).getWidth());
    table.getColumnModel().getColumn(2).setPreferredWidth(30);
    table.getColumnModel().getColumn(2).setWidth(table.getColumnModel().getColumn(2).getWidth());
    table.getColumnModel().getColumn(1).setCellRenderer(new SubstanceDefaultTableCellRenderer() {
        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
                boolean hasFocus, int row, int column) {
            JLabel l = (JLabel) super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row,
                    column);//w w  w.j  a  va2 s.  co  m
            l.setHorizontalAlignment(SwingConstants.RIGHT);
            return l;
        }
    });
    table.getColumnModel().getColumn(2).setCellRenderer(new SubstanceDefaultTableCellRenderer() {
        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
                boolean hasFocus, int row, int column) {
            JLabel l = (JLabel) super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row,
                    column);
            l.setHorizontalAlignment(SwingConstants.RIGHT);
            return l;
        }
    });
}

From source file:com.mirth.connect.client.ui.attachments.RegexAttachmentDialog.java

private void initOutboundReplacementTable() {
    DefaultTableModel model = new DefaultTableModel(new Object[][] {},
            new String[] { "Replace All", "Replace With" }) {
        public boolean isCellEditable(int rowIndex, int columnIndex) {
            return true;
        }/*from  w w w . j  a  v a2 s.  c  om*/
    };

    outboundReplacementTable.setSortable(false);
    outboundReplacementTable.getTableHeader().setReorderingAllowed(false);
    outboundReplacementTable.setModel(model);

    outboundReplacementTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(ListSelectionEvent evt) {
            outboundDeleteButton.setEnabled(outboundReplacementTable.getSelectedRow() != -1);
        }
    });

    if (Preferences.userNodeForPackage(Mirth.class).getBoolean("highlightRows", true)) {
        outboundReplacementTable.setHighlighters(HighlighterFactory
                .createAlternateStriping(UIConstants.HIGHLIGHTER_COLOR, UIConstants.BACKGROUND_COLOR));
    }

    outboundDeleteButton.setEnabled(false);
}

From source file:Methods.CalculusSecant.java

public static DefaultTableModel getTableData() {// Method used to retrieve data from Stack and transform it in an array and populate a model table 

    Object[][] tableData = new Object[data[0].length][7];
    int i = (Xold1.size() - 1);

    while (!Xold1.isEmpty()) {//while statement used to retrieve data from stack and copy it in an 2d arrray
        tableData[i][1] = Double.parseDouble(Xold1.popElement1().toString());
        tableData[i][2] = Double.parseDouble(Xold1.popElement2().toString());
        tableData[i][3] = Double.parseDouble(Xold2.popElement1().toString());
        tableData[i][4] = Double.parseDouble(Xold2.popElement2().toString());
        i--;/*from w  ww  .  j a  v a 2s.  co m*/
    }

    for (i = 0; i < data[0].length; i++) {
        tableData[i][0] = i + 1;
        tableData[i][5] = data[0][i];
        tableData[i][6] = data[1][i];
    }

    String[] columnNames = { "Iteration", "Xold1", "f(Xold1)", "Xold2", "f(Xold2)", "Xnew", "f(Xnew)" };

    DefaultTableModel model = new DefaultTableModel(tableData, columnNames);

    return model;
}

From source file:org.hsh.bfr.db.gui.dbtable.editoren.MyChartDialog.java

private void initComponents() {
    // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
    splitPane1 = new JSplitPane();
    scrollPane1 = new JScrollPane();
    table1 = new JTable();
    panel1 = new JPanel();
    button1 = new JButton();
    panel2 = new JPanel();
    button2 = new JButton();
    button3 = new JButton();
    button4 = new JButton();
    CellConstraints cc = new CellConstraints();

    //======== this ========
    setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
    Container contentPane = getContentPane();
    contentPane.setLayout(new FormLayout("default:grow", "2*(default, $lgap), default"));

    //======== splitPane1 ========
    {/*  ww w .  jav a 2 s  . c om*/
        splitPane1.setDividerLocation(200);

        //======== scrollPane1 ========
        {
            scrollPane1.setPreferredSize(new Dimension(200, 423));

            //---- table1 ----
            table1.setModel(
                    new DefaultTableModel(
                            new Object[][] { { "3.0", "5" }, { null, null }, { null, null }, { null, null },
                                    { null, null }, { null, null }, { null, null }, { null, null },
                                    { null, null }, { null, null }, { null, null }, { null, null },
                                    { null, null }, { null, null }, { null, null }, { null, null },
                                    { null, null }, { null, null }, { null, null }, { null, null }, },
                            new String[] { "Zeit (h)", "Temperatur" }) {
                        /**
                         * 
                         */
                        private static final long serialVersionUID = 1L;
                        Class<?>[] columnTypes = new Class<?>[] { String.class, String.class };

                        @Override
                        public Class<?> getColumnClass(int columnIndex) {
                            return columnTypes[columnIndex];
                        }
                    });
            {
                TableColumnModel cm = table1.getColumnModel();
                cm.getColumn(0).setPreferredWidth(100);
            }
            scrollPane1.setViewportView(table1);
        }
        splitPane1.setLeftComponent(scrollPane1);

        //======== panel1 ========
        {
            panel1.setLayout(new FormLayout("default:grow", "fill:default:grow"));

            //---- button1 ----
            button1.setText("text");
            panel1.add(button1, cc.xy(1, 1));
        }
        splitPane1.setRightComponent(panel1);
    }
    contentPane.add(splitPane1, cc.xy(1, 1));

    //======== panel2 ========
    {
        panel2.setLayout(new FormLayout("3*(default:grow, $lcgap), default:grow", "default"));
        ((FormLayout) panel2.getLayout()).setColumnGroups(new int[][] { { 1, 3, 5, 7 } });

        //---- button2 ----
        button2.setText("OK");
        button2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                button2ActionPerformed(e);
            }
        });
        panel2.add(button2, cc.xy(3, 1));

        //---- button3 ----
        button3.setText("Abbrechen");
        button3.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                button3ActionPerformed(e);
            }
        });
        panel2.add(button3, cc.xy(5, 1));

        //---- button4 ----
        button4.setText("Hilfe");
        button4.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                button4ActionPerformed(e);
            }
        });
        panel2.add(button4, cc.xy(7, 1));
    }
    contentPane.add(panel2, cc.xy(1, 5));
    setSize(555, 390);
    setLocationRelativeTo(null);
    // JFormDesigner - End of component initialization  //GEN-END:initComponents
}

From source file:edu.ucla.stat.SOCR.chart.util.MixtureEMExperiment.java

protected void initResutlsTable() {

    String[] resultsHeading = new String[2];
    resultsHeading[0] = "Kernel";
    resultsHeading[1] = "Resutls";

    Object[][] dataObject = new Object[10][2];

    tModel_results = new DefaultTableModel(dataObject, resultsHeading);

    resultsTable = new CustomJTable(tModel_results);

    /*{//from   w  w w .  ja va2s  . c om
      public Component prepareRenderer(TableCellRenderer renderer,
      int rowIndex, int vColIndex) {
        Component c = super.prepareRenderer(renderer, rowIndex, vColIndex);
       // 
        if (rowIndex % 2 == 0) {
     c.setBackground(Color.yellow);
        } else {
        // If not shaded, match the table's background
     c.setBackground(getBackground());
        }
        return c;
     }
    };*/
    resultsTable.setGridColor(Color.gray);
    resultsTable.setShowGrid(true);

    // this is a fix for the BAD SGI Java VM - not up to date as of dec. 22, 2003
    try {
        resultsTable.setDragEnabled(true);
    } catch (Exception e) {
    }
    //columnModel = resultsTable.getColumnModel();
    //resultsTable.setTableHeader(new EditableHeader(columnModel));
    resultsTable.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
    resultsTable.setCellSelectionEnabled(true);
    resultsTable.setColumnSelectionAllowed(true);
    resultsTable.setRowSelectionAllowed(true);
}

From source file:com.mirth.connect.client.ui.browsers.message.MessageBrowserAdvancedFilter.java

private void initMetaDataSearchTable() {
    metaDataSearchTable.setModel(new DefaultTableModel(new Object[][] {},
            new String[] { "Metadata", "Operator", "Value", "Ignore Case" }) {
        public boolean isCellEditable(int rowIndex, int columnIndex) {
            if (columnIndex == 3 && cachedMetaDataColumns.get(getValueAt(rowIndex, 0))
                    .getType() != MetaDataColumnType.STRING) {
                return false;
            }//from   ww  w. ja  v a2 s.c  o  m

            return true;
        }

        @Override
        public void setValueAt(Object value, int row, int column) {
            int metaDataColumnIndex = findColumn("Metadata");
            int operatorColumnIndex = findColumn("Operator");
            int valueColumnIndex = findColumn("Value");
            int ignoreCaseColumnIndex = findColumn("Ignore Case");

            if (column == valueColumnIndex) {
                MetaDataColumn metaDataColumn = cachedMetaDataColumns.get(getValueAt(row, metaDataColumnIndex));

                if (StringUtils.isNotEmpty((String) value)) {
                    try {
                        metaDataColumn.getType().castValue(value);
                    } catch (MetaDataColumnException e) {
                        parent.alertError(parent,
                                "Invalid value for column type " + metaDataColumn.getType().toString());
                        return;
                    }
                }
            } else if (column == metaDataColumnIndex) {
                if (!value.equals(getValueAt(row, metaDataColumnIndex))) {
                    MetaDataSearchOperator operator = MetaDataSearchOperator.EQUAL;

                    super.setValueAt(operator, row, operatorColumnIndex);

                    MetaDataColumn metaDataColumn = cachedMetaDataColumns.get(value);
                    if (metaDataColumn.getType() != MetaDataColumnType.STRING) {
                        super.setValueAt(Boolean.FALSE, row, ignoreCaseColumnIndex);
                    }
                }

                super.setValueAt("", row, valueColumnIndex);
            }
            super.setValueAt(value, row, column);
        }
    });

    metaDataSearchTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    metaDataSearchTable.setDragEnabled(false);
    metaDataSearchTable.setSortable(false);
    metaDataSearchTable.getTableHeader().setReorderingAllowed(false);

    addMetaDataSearchButton.setEnabled(!messageBrowser.getMetaDataColumns().isEmpty());

    metaDataSearchTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(ListSelectionEvent evt) {
            deleteMetaDataSearchButton.setEnabled(getSelectedRow(metaDataSearchTable) != -1);
        }
    });

    if (Preferences.userNodeForPackage(Mirth.class).getBoolean("highlightRows", true)) {
        metaDataSearchTable.setHighlighters(HighlighterFactory
                .createAlternateStriping(UIConstants.HIGHLIGHTER_COLOR, UIConstants.BACKGROUND_COLOR));
    }

    List<MetaDataColumn> metaDataColumns = messageBrowser.getMetaDataColumns();
    cachedMetaDataColumns.clear();

    String[] metaDataNames = new String[metaDataColumns.size()];
    for (int i = 0; i < metaDataColumns.size(); i++) {
        String columnName = metaDataColumns.get(i).getName();
        metaDataNames[i] = columnName;
        cachedMetaDataColumns.put(columnName, metaDataColumns.get(i));
    }

    MirthComboBoxTableCellEditor metaDataEditor = new MirthComboBoxTableCellEditor(metaDataSearchTable,
            metaDataNames, 1, false, null);
    metaDataEditor.getComboBox().setAutoResizeDropdown(true);

    TableColumn metaDataColumn = metaDataSearchTable.getColumnModel().getColumn(0);
    metaDataColumn.setCellRenderer(new MirthComboBoxTableCellRenderer(metaDataNames));
    metaDataColumn.setCellEditor(metaDataEditor);
    metaDataColumn.setMinWidth(METADATA_NAME_COLUMN_WIDTH);
    metaDataColumn.setMaxWidth(METADATA_NAME_COLUMN_WIDTH * 2);
    metaDataColumn.setPreferredWidth(METADATA_NAME_COLUMN_WIDTH);

    // Need to create this custom editor since the combo box values are dynamic based on metadata column type. 
    MirthComboBoxTableCellEditor operatorEditor = new MirthComboBoxTableCellEditor(metaDataSearchTable,
            MetaDataSearchOperator.values(), 1, false, null) {

        public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row,
                int column) {

            MetaDataColumn metaDataColumn = cachedMetaDataColumns.get(table.getValueAt(row, 0));

            comboBox.setModel(new DefaultComboBoxModel(
                    MetaDataSearchOperator.valuesForColumnType(metaDataColumn.getType())));

            return super.getTableCellEditorComponent(table, value, isSelected, row, column);
        }

    };

    TableColumn operatorColumn = metaDataSearchTable.getColumnModel().getColumn(1);
    operatorColumn.setCellRenderer(new MirthComboBoxTableCellRenderer(MetaDataSearchOperator.values()));
    operatorColumn.setCellEditor(operatorEditor);
    operatorColumn.setMinWidth(METADATA_OPERATOR_COLUMN_WIDTH);
    operatorColumn.setMaxWidth(METADATA_OPERATOR_COLUMN_WIDTH);

    TableColumn caseColumn = metaDataSearchTable.getColumnModel().getColumn(3);
    caseColumn.setMinWidth(METADATA_CASE_COLUMN_WIDTH);
    caseColumn.setMaxWidth(METADATA_CASE_COLUMN_WIDTH);

    deleteMetaDataSearchButton.setEnabled(false);
}