Search in sources :

Example 1 with JXStatusBar

use of org.jdesktop.swingx.JXStatusBar in project jgnash by ccavanaugh.

the class MainFrame method buildUI.

private void buildUI() {
    ActionParser actionParser = new ActionParser(this);
    actionParser.preLoadActions("jgnash.ui.actions");
    actionParser.preLoadAction("copy-command", new DefaultEditorKit.CopyAction());
    actionParser.preLoadAction("cut-command", new DefaultEditorKit.CutAction());
    actionParser.preLoadAction("paste-command", new DefaultEditorKit.PasteAction());
    actionParser.preLoadAction("exit-command", new AbstractAction() {

        @Override
        public void actionPerformed(final ActionEvent e) {
            shutDown();
        }
    });
    actionParser.preLoadAction("open-command", new OpenFileAction());
    actionParser.preLoadAction("open-command-tb", new OpenFileAction());
    actionParser.preLoadAction("account-filter-command", new AbstractEnabledAction() {

        @Override
        public void actionPerformed(final ActionEvent e) {
            expandingAccountPanel.showAccountFilterDialog();
        }
    });
    actionParser.preLoadAction("register-filter-command", new AbstractEnabledAction() {

        @Override
        public void actionPerformed(final ActionEvent e) {
            registerTreePanel.showAccountFilterDialog();
        }
    });
    actionParser.preLoadAction("currency-background-update-command", new UpdateExchangeRateAction());
    actionParser.preLoadAction("security-background-update-command", new UpdateSecuritiesAction());
    try (final InputStream stream = MainFrame.class.getResourceAsStream("/jgnash/resource/main-frame-actions.xml")) {
        actionParser.loadFile(stream);
    } catch (final IOException exception) {
        logger.log(Level.SEVERE, exception.getMessage(), exception);
    }
    menuBar = actionParser.createMenuBar("main-menu");
    JToolBar toolBar = actionParser.createToolBar("main-toolbar");
    toolBar.setFloatable(false);
    toolBar.setRollover(true);
    viewMenu = (JMenu) actionParser.getJMenuItem("view-menu-command");
    reportMenu = (JMenu) actionParser.getJMenuItem("report-menu-command");
    windowMenu = (JMenu) actionParser.getJMenuItem("window-menu-command");
    Objects.requireNonNull(windowMenu);
    windowMenu.setEnabled(false);
    editAction = actionParser.getAction("edit-menu-command");
    if (EngineFactory.getEngine(EngineFactory.DEFAULT) == null) {
        setOpenState(false);
    }
    setTitle(Main.VERSION);
    mainView = buildMainView();
    backgroundOperationLabel = new JXBusyLabel(new Dimension(18, 18));
    statusField = new JTextField();
    statusField.setEditable(false);
    statusField.setFont(statusField.getFont().deriveFont(statusField.getFont().getSize2D() - 1f));
    infoColor = statusField.getForeground();
    JXStatusBar statusBar = new JXStatusBar();
    statusBar.setResizeHandleEnabled(true);
    statusBar.add(statusField, new JXStatusBar.Constraint(JXStatusBar.Constraint.ResizeBehavior.FILL));
    if (ThemeManager.isLookAndFeelSubstance()) {
        statusBar.add(new SubstanceFontSlider());
    }
    statusBar.add(backgroundOperationLabel);
    statusBar.add(new MemoryMonitor(), new JXStatusBar.Constraint(120));
    JPanel contentPanel = new JPanel(new BorderLayout());
    contentPanel.add(toolBar, BorderLayout.NORTH);
    contentPanel.add(mainView, BorderLayout.CENTER);
    contentPanel.add(statusBar, BorderLayout.SOUTH);
    JPanel rootPanel = new JPanel(new BorderLayout());
    rootPanel.add(menuBar, BorderLayout.NORTH);
    rootPanel.add(contentPanel, BorderLayout.CENTER);
    waitPanel = new WaitMessagePanel();
    busyLayerUI = new BusyLayerUI();
    JLayer<JPanel> rootLayer = new JLayer<>(rootPanel, busyLayerUI);
    getContentPane().add(rootLayer, BorderLayout.CENTER);
    setGlassPane(waitPanel);
}
Also used : JPanel(javax.swing.JPanel) SubstanceFontSlider(jgnash.ui.components.SubstanceFontSlider) JLayer(javax.swing.JLayer) ActionEvent(java.awt.event.ActionEvent) JTextField(javax.swing.JTextField) ActionParser(jgnash.ui.util.builder.ActionParser) BorderLayout(java.awt.BorderLayout) DefaultEditorKit(javax.swing.text.DefaultEditorKit) AbstractAction(javax.swing.AbstractAction) JXBusyLabel(org.jdesktop.swingx.JXBusyLabel) WaitMessagePanel(jgnash.ui.components.WaitMessagePanel) AbstractEnabledAction(jgnash.ui.actions.AbstractEnabledAction) InputStream(java.io.InputStream) IOException(java.io.IOException) JToolBar(javax.swing.JToolBar) Dimension(java.awt.Dimension) MemoryMonitor(jgnash.ui.components.MemoryMonitor) JXStatusBar(org.jdesktop.swingx.JXStatusBar)

Example 2 with JXStatusBar

use of org.jdesktop.swingx.JXStatusBar in project jgnash by ccavanaugh.

the class DynamicJasperReportFrame method init.

private void init() {
    statusField = new JTextField();
    statusField.setEditable(false);
    statusField.setFont(statusField.getFont().deriveFont(statusField.getFont().getSize2D() - 1f));
    statusField.setHorizontalAlignment(SwingConstants.CENTER);
    JXStatusBar statusBar = new JXStatusBar();
    JXStatusBar.Constraint c1 = new JXStatusBar.Constraint(JXStatusBar.Constraint.ResizeBehavior.FILL);
    statusBar.add(statusField, c1);
    statusBar.setResizeHandleEnabled(true);
    setIconImage(IconUtils.getImage("/jgnash/resource/gnome-money.png"));
    waitPanel = new WaitMessagePanel();
    setGlassPane(waitPanel);
    mainPanel = new JPanel();
    addWindowListener(new WindowAdapter() {

        @Override
        public void windowClosing(WindowEvent evt) {
            unregisterLogHandler();
            viewer.clear();
            getContentPane().removeAll();
        }
    });
    mainPanel.setLayout(new BorderLayout());
    getContentPane().add(mainPanel, BorderLayout.CENTER);
    getContentPane().add(statusBar, BorderLayout.SOUTH);
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    setMinimumSize(new Dimension(500, 440));
    pack();
    DialogUtils.addBoundsListener(this);
}
Also used : WaitMessagePanel(jgnash.ui.components.WaitMessagePanel) JPanel(javax.swing.JPanel) JXStatusBar(org.jdesktop.swingx.JXStatusBar) BorderLayout(java.awt.BorderLayout) WindowEvent(java.awt.event.WindowEvent) WindowAdapter(java.awt.event.WindowAdapter) Dimension(java.awt.Dimension) JTextField(javax.swing.JTextField)

Aggregations

BorderLayout (java.awt.BorderLayout)2 Dimension (java.awt.Dimension)2 JPanel (javax.swing.JPanel)2 JTextField (javax.swing.JTextField)2 WaitMessagePanel (jgnash.ui.components.WaitMessagePanel)2 JXStatusBar (org.jdesktop.swingx.JXStatusBar)2 ActionEvent (java.awt.event.ActionEvent)1 WindowAdapter (java.awt.event.WindowAdapter)1 WindowEvent (java.awt.event.WindowEvent)1 IOException (java.io.IOException)1 InputStream (java.io.InputStream)1 AbstractAction (javax.swing.AbstractAction)1 JLayer (javax.swing.JLayer)1 JToolBar (javax.swing.JToolBar)1 DefaultEditorKit (javax.swing.text.DefaultEditorKit)1 AbstractEnabledAction (jgnash.ui.actions.AbstractEnabledAction)1 MemoryMonitor (jgnash.ui.components.MemoryMonitor)1 SubstanceFontSlider (jgnash.ui.components.SubstanceFontSlider)1 ActionParser (jgnash.ui.util.builder.ActionParser)1 JXBusyLabel (org.jdesktop.swingx.JXBusyLabel)1