Search in sources :

Example 71 with DefaultFormBuilder

use of com.jgoodies.forms.builder.DefaultFormBuilder in project jgnash by ccavanaugh.

the class ReminderOptions method layoutMainPanel.

private void layoutMainPanel() {
    initComponents();
    FormLayout layout = new FormLayout("right:p, $lcgap, max(75dlu;p):g", "");
    DefaultFormBuilder builder = new DefaultFormBuilder(layout, this);
    builder.rowGroupingEnabled(true);
    builder.border(Borders.DIALOG);
    builder.append(confirmDeleteButton, 3);
}
Also used : FormLayout(com.jgoodies.forms.layout.FormLayout) DefaultFormBuilder(com.jgoodies.forms.builder.DefaultFormBuilder)

Example 72 with DefaultFormBuilder

use of com.jgoodies.forms.builder.DefaultFormBuilder in project jgnash by ccavanaugh.

the class WizardDialog method layoutMainPanel.

private void layoutMainPanel() {
    initComponents();
    CellConstraints cc = new CellConstraints();
    FormLayout lay = new FormLayout("p, $rgap, min(220dlu;d):g", "");
    DefaultFormBuilder builder = new DefaultFormBuilder(lay);
    builder.border(Borders.DIALOG);
    builder.appendRow(RowSpec.decode("f:p:g"));
    builder.append(buildTaskPanel(), pagePanel);
    builder.appendSeparator();
    builder.nextLine();
    builder.appendRelatedComponentsGapRow();
    builder.nextLine();
    builder.appendRow("p");
    builder.add(buildButtonPanel(), cc.xyw(1, builder.getRow(), 3));
    getContentPane().add(builder.getPanel());
}
Also used : FormLayout(com.jgoodies.forms.layout.FormLayout) DefaultFormBuilder(com.jgoodies.forms.builder.DefaultFormBuilder) CellConstraints(com.jgoodies.forms.layout.CellConstraints)

Example 73 with DefaultFormBuilder

use of com.jgoodies.forms.builder.DefaultFormBuilder in project jgnash by ccavanaugh.

the class WizardDialog method buildButtonPanel.

private JPanel buildButtonPanel() {
    FormLayout lay = new FormLayout("$glue, $button, $rgap, $button, $rgap, $button, $ugap, $button", "f:p");
    DefaultFormBuilder builder = new DefaultFormBuilder(lay);
    builder.nextColumn();
    builder.append(backButton, nextButton, finishButton);
    builder.append(cancelButton);
    return builder.getPanel();
}
Also used : FormLayout(com.jgoodies.forms.layout.FormLayout) DefaultFormBuilder(com.jgoodies.forms.builder.DefaultFormBuilder)

Example 74 with DefaultFormBuilder

use of com.jgoodies.forms.builder.DefaultFormBuilder in project jgnash by ccavanaugh.

the class PayeePieChart method createPanel.

private JPanel createPanel() {
    JButton refreshButton = new JButton(rb.getString("Button.Refresh"));
    JButton addFilterButton = new JButton(rb.getString("Button.AddFilter"));
    final JButton saveButton = new JButton(rb.getString("Button.SaveFilters"));
    JButton deleteFilterButton = new JButton(rb.getString("Button.DeleteFilter"));
    JButton clearPrefButton = new JButton(rb.getString("Button.MasterDelete"));
    filterCombo = new JComboBox<>();
    startField = new DatePanel();
    endField = new DatePanel();
    txtAddFilter = new TextField();
    filterList = new ArrayList<>();
    filtersChanged = false;
    useFilters = new JCheckBox(rb.getString("Label.UseFilters"));
    useFilters.setSelected(true);
    showPercentCheck = new JCheckBox(rb.getString("Button.ShowPercentValues"));
    combo = AccountListComboBox.getFullInstance();
    final LocalDate dStart = DateUtils.getFirstDayOfTheMonth(LocalDate.now().minusYears(DEBIT));
    long start = pref.getLong(START_DATE, DateUtils.asEpochMilli(dStart));
    startField.setDate(DateUtils.asLocalDate(start));
    currentAccount = combo.getSelectedAccount();
    PieDataset[] data = createPieDataSet(currentAccount);
    JFreeChart chartCredit = createPieChart(currentAccount, data, CREDIT);
    chartPanelCredit = new ChartPanel(chartCredit, true, true, true, false, true);
    //                         (chart, properties, save, print, zoom, tooltips)
    JFreeChart chartDebit = createPieChart(currentAccount, data, DEBIT);
    chartPanelDebit = new ChartPanel(chartDebit, true, true, true, false, true);
    FormLayout layout = new FormLayout("p, $lcgap, 70dlu, 8dlu, p, $lcgap, 70dlu, $ugap, p, $lcgap:g, left:p", "d, $rgap, d, $ugap, f:p:g, $rgap, d");
    DefaultFormBuilder builder = new DefaultFormBuilder(layout);
    layout.setRowGroups(new int[][] { { DEBIT, 3 } });
    // row 1
    builder.append(combo, 9);
    builder.append(useFilters);
    builder.nextLine();
    builder.nextLine();
    // row 3
    builder.append(rb.getString("Label.StartDate"), startField);
    builder.append(rb.getString("Label.EndDate"), endField);
    builder.append(refreshButton);
    builder.append(showPercentCheck);
    builder.nextLine();
    builder.nextLine();
    // row 5
    FormLayout subLayout = new FormLayout("180dlu:g, 1dlu, 180dlu:g", "f:180dlu:g");
    DefaultFormBuilder subBuilder = new DefaultFormBuilder(subLayout);
    subBuilder.append(chartPanelCredit);
    subBuilder.append(chartPanelDebit);
    builder.append(subBuilder.getPanel(), 11);
    builder.nextLine();
    builder.nextLine();
    // row 7
    builder.append(txtAddFilter, 3);
    builder.append(addFilterButton, 3);
    builder.append(saveButton);
    builder.nextLine();
    // row
    builder.append(filterCombo, 3);
    builder.append(deleteFilterButton, 3);
    builder.append(clearPrefButton);
    builder.nextLine();
    JPanel panel = builder.getPanel();
    combo.addActionListener(e -> {
        Account newAccount = combo.getSelectedAccount();
        if (filtersChanged) {
            int result = JOptionPane.showConfirmDialog(null, rb.getString("Message.SaveFilters"), "Warning", JOptionPane.YES_NO_OPTION);
            if (result == JOptionPane.YES_OPTION) {
                saveButton.doClick();
            }
        }
        filtersChanged = false;
        String[] list = POUND_DELIMITER_PATTERN.split(pref.get(FILTER_TAG + newAccount.hashCode(), ""));
        filterList.clear();
        for (String filter : list) {
            if (!filter.isEmpty()) {
                filterList.add(filter);
            }
        }
        refreshFilters();
        setCurrentAccount(newAccount);
        pref.putLong(START_DATE, DateUtils.asEpochMilli(startField.getLocalDate()));
    });
    refreshButton.addActionListener(e -> {
        setCurrentAccount(currentAccount);
        pref.putLong(START_DATE, DateUtils.asEpochMilli(startField.getLocalDate()));
    });
    clearPrefButton.addActionListener(e -> {
        int result = JOptionPane.showConfirmDialog(null, rb.getString("Message.MasterDelete"), "Warning", JOptionPane.YES_NO_OPTION);
        if (result == JOptionPane.YES_OPTION) {
            try {
                pref.clear();
            } catch (Exception ex) {
                System.out.println("Exception clearing preferences" + ex);
            }
        }
    });
    saveButton.addActionListener(e -> {
        final StringBuilder sb = new StringBuilder();
        for (String filter : filterList) {
            sb.append(filter);
            sb.append('#');
        }
        pref.put(FILTER_TAG + currentAccount.hashCode(), sb.toString());
        filtersChanged = false;
    });
    addFilterButton.addActionListener(e -> {
        String newFilter = txtAddFilter.getText();
        filterList.remove(newFilter);
        if (!newFilter.isEmpty()) {
            filterList.add(newFilter);
            filtersChanged = true;
            txtAddFilter.setText("");
        }
        refreshFilters();
    });
    deleteFilterButton.addActionListener(e -> {
        if (!filterList.isEmpty()) {
            String filter = (String) filterCombo.getSelectedItem();
            filterList.remove(filter);
            filtersChanged = true;
        }
        refreshFilters();
    });
    useFilters.addActionListener(e -> setCurrentAccount(currentAccount));
    showPercentCheck.addActionListener(e -> {
        ((PiePlot) chartPanelCredit.getChart().getPlot()).setLabelGenerator(showPercentCheck.isSelected() ? percentLabels : defaultLabels);
        ((PiePlot) chartPanelDebit.getChart().getPlot()).setLabelGenerator(showPercentCheck.isSelected() ? percentLabels : defaultLabels);
    });
    return panel;
}
Also used : FormLayout(com.jgoodies.forms.layout.FormLayout) JPanel(javax.swing.JPanel) Account(jgnash.engine.Account) ChartPanel(org.jfree.chart.ChartPanel) JButton(javax.swing.JButton) LocalDate(java.time.LocalDate) JFreeChart(org.jfree.chart.JFreeChart) JCheckBox(javax.swing.JCheckBox) PieDataset(org.jfree.data.general.PieDataset) DefaultPieDataset(org.jfree.data.general.DefaultPieDataset) DatePanel(jgnash.ui.components.DatePanel) DefaultFormBuilder(com.jgoodies.forms.builder.DefaultFormBuilder) TextField(java.awt.TextField) PiePlot(org.jfree.chart.plot.PiePlot)

Example 75 with DefaultFormBuilder

use of com.jgoodies.forms.builder.DefaultFormBuilder in project jgnash by ccavanaugh.

the class PortfolioReport method buildOptionPanel.

private JPanel buildOptionPanel() {
    FormLayout layout = new FormLayout("p, 8dlu, p", "");
    DefaultFormBuilder builder = new DefaultFormBuilder(layout);
    builder.append(subAccountCheckBox);
    builder.append(verboseCheckBox);
    return builder.getPanel();
}
Also used : FormLayout(com.jgoodies.forms.layout.FormLayout) DefaultFormBuilder(com.jgoodies.forms.builder.DefaultFormBuilder)

Aggregations

DefaultFormBuilder (com.jgoodies.forms.builder.DefaultFormBuilder)122 FormLayout (com.jgoodies.forms.layout.FormLayout)122 JScrollPane (javax.swing.JScrollPane)26 JPanel (javax.swing.JPanel)17 JButton (javax.swing.JButton)16 JLabel (javax.swing.JLabel)13 BorderLayout (java.awt.BorderLayout)9 ButtonBarBuilder (com.jgoodies.forms.builder.ButtonBarBuilder)7 LocalDate (java.time.LocalDate)7 JTextField (javax.swing.JTextField)7 JCheckBox (javax.swing.JCheckBox)6 Account (jgnash.engine.Account)6 DatePanel (jgnash.ui.components.DatePanel)6 TextAdapter (org.apache.cayenne.modeler.util.TextAdapter)6 ChartPanel (org.jfree.chart.ChartPanel)6 JFreeChart (org.jfree.chart.JFreeChart)6 NumberFormat (java.text.NumberFormat)5 RowSpec (com.jgoodies.forms.layout.RowSpec)4 ResourceBundle (java.util.ResourceBundle)4 CellConstraints (com.jgoodies.forms.layout.CellConstraints)3