Search in sources :

Example 81 with JToggleButton

use of javax.swing.JToggleButton in project zaproxy by zaproxy.

the class HttpPanelSender method getButtonUseCookies.

private JToggleButton getButtonUseCookies() {
    if (useCookies == null) {
        useCookies = new JToggleButton(new ImageIcon(HttpPanelSender.class.getResource("/resource/icon/fugue/cookie.png")), true);
        useCookies.setToolTipText(Constant.messages.getString("manReq.checkBox.useCookies"));
        useCookies.addItemListener(e -> setUseCookies(e.getStateChange() == ItemEvent.SELECTED));
    }
    return useCookies;
}
Also used : ImageIcon(javax.swing.ImageIcon) JToggleButton(javax.swing.JToggleButton)

Example 82 with JToggleButton

use of javax.swing.JToggleButton in project jadx by skylot.

the class MainWindow method initMenuAndToolbar.

private void initMenuAndToolbar() {
    Action openAction = new AbstractAction(NLS.str("file.open_action"), ICON_OPEN) {

        @Override
        public void actionPerformed(ActionEvent e) {
            openFileOrProject();
        }
    };
    openAction.putValue(Action.SHORT_DESCRIPTION, NLS.str("file.open_action"));
    openAction.putValue(Action.ACCELERATOR_KEY, getKeyStroke(KeyEvent.VK_O, UiUtils.ctrlButton()));
    Action addFilesAction = new AbstractAction(NLS.str("file.add_files_action"), ICON_ADD_FILES) {

        @Override
        public void actionPerformed(ActionEvent e) {
            addFiles();
        }
    };
    addFilesAction.putValue(Action.SHORT_DESCRIPTION, NLS.str("file.add_files_action"));
    newProjectAction = new AbstractAction(NLS.str("file.new_project")) {

        @Override
        public void actionPerformed(ActionEvent e) {
            newProject();
        }
    };
    newProjectAction.putValue(Action.SHORT_DESCRIPTION, NLS.str("file.new_project"));
    saveProjectAction = new AbstractAction(NLS.str("file.save_project")) {

        @Override
        public void actionPerformed(ActionEvent e) {
            saveProject();
        }
    };
    saveProjectAction.putValue(Action.SHORT_DESCRIPTION, NLS.str("file.save_project"));
    Action saveProjectAsAction = new AbstractAction(NLS.str("file.save_project_as")) {

        @Override
        public void actionPerformed(ActionEvent e) {
            saveProjectAs();
        }
    };
    saveProjectAsAction.putValue(Action.SHORT_DESCRIPTION, NLS.str("file.save_project_as"));
    Action saveAllAction = new AbstractAction(NLS.str("file.save_all"), ICON_SAVE_ALL) {

        @Override
        public void actionPerformed(ActionEvent e) {
            saveAll(false);
        }
    };
    saveAllAction.putValue(Action.SHORT_DESCRIPTION, NLS.str("file.save_all"));
    saveAllAction.putValue(Action.ACCELERATOR_KEY, getKeyStroke(KeyEvent.VK_S, UiUtils.ctrlButton()));
    Action exportAction = new AbstractAction(NLS.str("file.export_gradle"), ICON_EXPORT) {

        @Override
        public void actionPerformed(ActionEvent e) {
            saveAll(true);
        }
    };
    exportAction.putValue(Action.SHORT_DESCRIPTION, NLS.str("file.export_gradle"));
    exportAction.putValue(Action.ACCELERATOR_KEY, getKeyStroke(KeyEvent.VK_E, UiUtils.ctrlButton()));
    JMenu recentProjects = new JMenu(NLS.str("menu.recent_projects"));
    recentProjects.addMenuListener(new RecentProjectsMenuListener(recentProjects));
    Action prefsAction = new AbstractAction(NLS.str("menu.preferences"), ICON_PREF) {

        @Override
        public void actionPerformed(ActionEvent e) {
            new JadxSettingsWindow(MainWindow.this, settings).setVisible(true);
        }
    };
    prefsAction.putValue(Action.SHORT_DESCRIPTION, NLS.str("menu.preferences"));
    prefsAction.putValue(Action.ACCELERATOR_KEY, getKeyStroke(KeyEvent.VK_P, UiUtils.ctrlButton() | KeyEvent.SHIFT_DOWN_MASK));
    Action exitAction = new AbstractAction(NLS.str("file.exit"), ICON_EXIT) {

        @Override
        public void actionPerformed(ActionEvent e) {
            closeWindow();
        }
    };
    isFlattenPackage = settings.isFlattenPackage();
    flatPkgMenuItem = new JCheckBoxMenuItem(NLS.str("menu.flatten"), ICON_FLAT_PKG);
    flatPkgMenuItem.setState(isFlattenPackage);
    JCheckBoxMenuItem heapUsageBarMenuItem = new JCheckBoxMenuItem(NLS.str("menu.heapUsageBar"));
    heapUsageBarMenuItem.setState(settings.isShowHeapUsageBar());
    heapUsageBarMenuItem.addActionListener(event -> {
        settings.setShowHeapUsageBar(!settings.isShowHeapUsageBar());
        heapUsageBar.setVisible(settings.isShowHeapUsageBar());
    });
    JCheckBoxMenuItem alwaysSelectOpened = new JCheckBoxMenuItem(NLS.str("menu.alwaysSelectOpened"));
    alwaysSelectOpened.setState(settings.isAlwaysSelectOpened());
    alwaysSelectOpened.addActionListener(event -> {
        settings.setAlwaysSelectOpened(!settings.isAlwaysSelectOpened());
        if (settings.isAlwaysSelectOpened()) {
            this.syncWithEditor();
        }
    });
    Action syncAction = new AbstractAction(NLS.str("menu.sync"), ICON_SYNC) {

        @Override
        public void actionPerformed(ActionEvent e) {
            syncWithEditor();
        }
    };
    syncAction.putValue(Action.SHORT_DESCRIPTION, NLS.str("menu.sync"));
    syncAction.putValue(Action.ACCELERATOR_KEY, getKeyStroke(KeyEvent.VK_T, UiUtils.ctrlButton()));
    Action textSearchAction = new AbstractAction(NLS.str("menu.text_search"), ICON_SEARCH) {

        @Override
        public void actionPerformed(ActionEvent e) {
            ContentPanel panel = tabbedPane.getSelectedCodePanel();
            if (panel instanceof AbstractCodeContentPanel) {
                AbstractCodeArea codeArea = ((AbstractCodeContentPanel) panel).getCodeArea();
                String preferText = codeArea.getSelectedText();
                if (StringUtils.isEmpty(preferText)) {
                    preferText = codeArea.getWordUnderCaret();
                }
                if (!StringUtils.isEmpty(preferText)) {
                    SearchDialog.searchText(MainWindow.this, preferText);
                    return;
                }
            }
            SearchDialog.search(MainWindow.this, SearchDialog.SearchPreset.TEXT);
        }
    };
    textSearchAction.putValue(Action.SHORT_DESCRIPTION, NLS.str("menu.text_search"));
    textSearchAction.putValue(Action.ACCELERATOR_KEY, getKeyStroke(KeyEvent.VK_F, UiUtils.ctrlButton() | KeyEvent.SHIFT_DOWN_MASK));
    Action clsSearchAction = new AbstractAction(NLS.str("menu.class_search"), ICON_FIND) {

        @Override
        public void actionPerformed(ActionEvent e) {
            SearchDialog.search(MainWindow.this, SearchDialog.SearchPreset.CLASS);
        }
    };
    clsSearchAction.putValue(Action.SHORT_DESCRIPTION, NLS.str("menu.class_search"));
    clsSearchAction.putValue(Action.ACCELERATOR_KEY, getKeyStroke(KeyEvent.VK_N, UiUtils.ctrlButton()));
    Action commentSearchAction = new AbstractAction(NLS.str("menu.comment_search"), ICON_COMMENT_SEARCH) {

        @Override
        public void actionPerformed(ActionEvent e) {
            SearchDialog.search(MainWindow.this, SearchDialog.SearchPreset.COMMENT);
        }
    };
    commentSearchAction.putValue(Action.SHORT_DESCRIPTION, NLS.str("menu.comment_search"));
    commentSearchAction.putValue(Action.ACCELERATOR_KEY, getKeyStroke(KeyEvent.VK_SEMICOLON, UiUtils.ctrlButton() | KeyEvent.SHIFT_DOWN_MASK));
    Action deobfAction = new AbstractAction(NLS.str("menu.deobfuscation"), ICON_DEOBF) {

        @Override
        public void actionPerformed(ActionEvent e) {
            toggleDeobfuscation();
        }
    };
    deobfAction.putValue(Action.SHORT_DESCRIPTION, NLS.str("preferences.deobfuscation"));
    deobfAction.putValue(Action.ACCELERATOR_KEY, getKeyStroke(KeyEvent.VK_D, UiUtils.ctrlButton() | KeyEvent.ALT_DOWN_MASK));
    deobfToggleBtn = new JToggleButton(deobfAction);
    deobfToggleBtn.setSelected(settings.isDeobfuscationOn());
    deobfToggleBtn.setText("");
    deobfMenuItem = new JCheckBoxMenuItem(deobfAction);
    deobfMenuItem.setState(settings.isDeobfuscationOn());
    Action logAction = new AbstractAction(NLS.str("menu.log"), ICON_LOG) {

        @Override
        public void actionPerformed(ActionEvent e) {
            LogViewerDialog.open(MainWindow.this);
        }
    };
    logAction.putValue(Action.SHORT_DESCRIPTION, NLS.str("menu.log"));
    logAction.putValue(Action.ACCELERATOR_KEY, getKeyStroke(KeyEvent.VK_L, UiUtils.ctrlButton() | KeyEvent.SHIFT_DOWN_MASK));
    Action aboutAction = new AbstractAction(NLS.str("menu.about"), ICON_INFO) {

        @Override
        public void actionPerformed(ActionEvent e) {
            new AboutDialog().setVisible(true);
        }
    };
    Action backAction = new AbstractAction(NLS.str("nav.back"), ICON_BACK) {

        @Override
        public void actionPerformed(ActionEvent e) {
            tabbedPane.navBack();
        }
    };
    backAction.putValue(Action.SHORT_DESCRIPTION, NLS.str("nav.back"));
    backAction.putValue(Action.ACCELERATOR_KEY, getKeyStroke(KeyEvent.VK_ESCAPE, 0));
    Action forwardAction = new AbstractAction(NLS.str("nav.forward"), ICON_FORWARD) {

        @Override
        public void actionPerformed(ActionEvent e) {
            tabbedPane.navForward();
        }
    };
    forwardAction.putValue(Action.SHORT_DESCRIPTION, NLS.str("nav.forward"));
    forwardAction.putValue(Action.ACCELERATOR_KEY, getKeyStroke(KeyEvent.VK_RIGHT, KeyEvent.ALT_DOWN_MASK, SystemInfo.IS_MAC));
    Action quarkAction = new AbstractAction("Quark Engine", ICON_QUARK) {

        @Override
        public void actionPerformed(ActionEvent e) {
            new QuarkDialog(MainWindow.this).setVisible(true);
        }
    };
    quarkAction.putValue(Action.SHORT_DESCRIPTION, "Quark Engine");
    Action openDeviceAction = new AbstractAction(NLS.str("debugger.process_selector"), ICON_DEBUGGER) {

        @Override
        public void actionPerformed(ActionEvent e) {
            ADBDialog dialog = new ADBDialog(MainWindow.this);
            dialog.setVisible(true);
        }
    };
    openDeviceAction.putValue(Action.SHORT_DESCRIPTION, NLS.str("debugger.process_selector"));
    JMenu file = new JMenu(NLS.str("menu.file"));
    file.setMnemonic(KeyEvent.VK_F);
    file.add(openAction);
    file.add(addFilesAction);
    file.addSeparator();
    file.add(newProjectAction);
    file.add(saveProjectAction);
    file.add(saveProjectAsAction);
    file.addSeparator();
    file.add(saveAllAction);
    file.add(exportAction);
    file.addSeparator();
    file.add(recentProjects);
    file.addSeparator();
    file.add(prefsAction);
    file.addSeparator();
    file.add(exitAction);
    JMenu view = new JMenu(NLS.str("menu.view"));
    view.setMnemonic(KeyEvent.VK_V);
    view.add(flatPkgMenuItem);
    view.add(syncAction);
    view.add(heapUsageBarMenuItem);
    view.add(alwaysSelectOpened);
    JMenu nav = new JMenu(NLS.str("menu.navigation"));
    nav.setMnemonic(KeyEvent.VK_N);
    nav.add(textSearchAction);
    nav.add(clsSearchAction);
    nav.add(commentSearchAction);
    nav.addSeparator();
    nav.add(backAction);
    nav.add(forwardAction);
    JMenu tools = new JMenu(NLS.str("menu.tools"));
    tools.setMnemonic(KeyEvent.VK_T);
    tools.add(deobfMenuItem);
    tools.add(quarkAction);
    tools.add(openDeviceAction);
    JMenu help = new JMenu(NLS.str("menu.help"));
    help.setMnemonic(KeyEvent.VK_H);
    help.add(logAction);
    help.add(aboutAction);
    JMenuBar menuBar = new JMenuBar();
    menuBar.add(file);
    menuBar.add(view);
    menuBar.add(nav);
    menuBar.add(tools);
    menuBar.add(help);
    setJMenuBar(menuBar);
    flatPkgButton = new JToggleButton(ICON_FLAT_PKG);
    flatPkgButton.setSelected(isFlattenPackage);
    ActionListener flatPkgAction = e -> toggleFlattenPackage();
    flatPkgMenuItem.addActionListener(flatPkgAction);
    flatPkgButton.addActionListener(flatPkgAction);
    flatPkgButton.setToolTipText(NLS.str("menu.flatten"));
    updateLink = new Link("", JadxUpdate.JADX_RELEASES_URL);
    updateLink.setVisible(false);
    JToolBar toolbar = new JToolBar();
    toolbar.setFloatable(false);
    toolbar.add(openAction);
    toolbar.add(addFilesAction);
    toolbar.addSeparator();
    toolbar.add(saveAllAction);
    toolbar.add(exportAction);
    toolbar.addSeparator();
    toolbar.add(syncAction);
    toolbar.add(flatPkgButton);
    toolbar.addSeparator();
    toolbar.add(textSearchAction);
    toolbar.add(clsSearchAction);
    toolbar.add(commentSearchAction);
    toolbar.addSeparator();
    toolbar.add(backAction);
    toolbar.add(forwardAction);
    toolbar.addSeparator();
    toolbar.add(deobfToggleBtn);
    toolbar.add(quarkAction);
    toolbar.add(openDeviceAction);
    toolbar.addSeparator();
    toolbar.add(logAction);
    toolbar.addSeparator();
    toolbar.add(prefsAction);
    toolbar.addSeparator();
    toolbar.add(Box.createHorizontalGlue());
    toolbar.add(updateLink);
    mainPanel.add(toolbar, BorderLayout.NORTH);
}
Also used : DropTarget(java.awt.dnd.DropTarget) Arrays(java.util.Arrays) Link(jadx.gui.utils.Link) AbstractCodeArea(jadx.gui.ui.codearea.AbstractCodeArea) GraphicsEnvironment(java.awt.GraphicsEnvironment) JCheckBoxMenuItem(javax.swing.JCheckBoxMenuItem) JadxSettings(jadx.gui.settings.JadxSettings) SearchDialog(jadx.gui.ui.dialog.SearchDialog) EMPTY_RUNNABLE(io.reactivex.internal.functions.Functions.EMPTY_RUNNABLE) ExportTask(jadx.gui.jobs.ExportTask) SummaryNode(jadx.gui.ui.treenodes.SummaryNode) JFileChooser(javax.swing.JFileChooser) TimerTask(java.util.TimerTask) JFrame(javax.swing.JFrame) Path(java.nio.file.Path) FileUtils(jadx.core.utils.files.FileUtils) EnumSet(java.util.EnumSet) JToolBar(javax.swing.JToolBar) Release(jadx.gui.update.data.Release) FileUtils.fileNamesToPaths(jadx.gui.utils.FileUtils.fileNamesToPaths) ToolTipManager(javax.swing.ToolTipManager) TreePath(javax.swing.tree.TreePath) StringUtils(jadx.core.utils.StringUtils) Set(java.util.Set) ContentPanel(jadx.gui.ui.panel.ContentPanel) KeyEvent(java.awt.event.KeyEvent) WindowAdapter(java.awt.event.WindowAdapter) Component(java.awt.Component) Executors(java.util.concurrent.Executors) Box(javax.swing.Box) DefaultMutableTreeNode(javax.swing.tree.DefaultMutableTreeNode) AbstractAction(javax.swing.AbstractAction) AboutDialog(jadx.gui.ui.dialog.AboutDialog) JadxProject(jadx.gui.settings.JadxProject) JPanel(javax.swing.JPanel) WindowConstants(javax.swing.WindowConstants) AbstractCodeContentPanel(jadx.gui.ui.codearea.AbstractCodeContentPanel) ActionListener(java.awt.event.ActionListener) JSplitPane(javax.swing.JSplitPane) TreeExpansionEvent(javax.swing.event.TreeExpansionEvent) TaskStatus(jadx.gui.jobs.TaskStatus) DnDConstants(java.awt.dnd.DnDConstants) Action(javax.swing.Action) KeyAdapter(java.awt.event.KeyAdapter) ArrayList(java.util.ArrayList) JumpPosition(jadx.gui.utils.JumpPosition) ImageIcon(javax.swing.ImageIcon) CacheObject(jadx.gui.utils.CacheObject) QuarkDialog(jadx.gui.plugins.quark.QuarkDialog) DefaultTreeCellRenderer(javax.swing.tree.DefaultTreeCellRenderer) JMethod(jadx.gui.treemodel.JMethod) ResourceFile(jadx.api.ResourceFile) ProgressPanel(jadx.gui.ui.panel.ProgressPanel) Files(java.nio.file.Files) TreeSelectionModel(javax.swing.tree.TreeSelectionModel) MouseEvent(java.awt.event.MouseEvent) JScrollPane(javax.swing.JScrollPane) JadxSettingsWindow(jadx.gui.settings.JadxSettingsWindow) JadxUpdate(jadx.gui.update.JadxUpdate) MenuEvent(javax.swing.event.MenuEvent) JavaNode(jadx.api.JavaNode) FontUtils(jadx.gui.utils.FontUtils) Utils(jadx.core.utils.Utils) IndexTask(jadx.gui.jobs.IndexTask) JDebuggerPanel(jadx.gui.ui.panel.JDebuggerPanel) SystemInfo(jadx.gui.utils.SystemInfo) LogViewerDialog(jadx.gui.ui.dialog.LogViewerDialog) JDialog(javax.swing.JDialog) LafManager(jadx.gui.utils.LafManager) JToggleButton(javax.swing.JToggleButton) LoggerFactory(org.slf4j.LoggerFactory) Timer(java.util.Timer) IndexService(jadx.gui.jobs.IndexService) JField(jadx.gui.treemodel.JField) Locale(java.util.Locale) ApkSignature(jadx.gui.treemodel.ApkSignature) CommentsIndex(jadx.gui.utils.search.CommentsIndex) MouseAdapter(java.awt.event.MouseAdapter) IssuesPanel(jadx.gui.ui.panel.IssuesPanel) HeadlessException(java.awt.HeadlessException) BorderLayout(java.awt.BorderLayout) JLoadableNode(jadx.gui.treemodel.JLoadableNode) DefaultTreeModel(javax.swing.tree.DefaultTreeModel) JMenuBar(javax.swing.JMenuBar) Font(java.awt.Font) IUpdateCallback(jadx.gui.update.JadxUpdate.IUpdateCallback) JMenu(javax.swing.JMenu) LogCollector(jadx.gui.utils.logs.LogCollector) Collectors(java.util.stream.Collectors) WindowEvent(java.awt.event.WindowEvent) Theme(org.fife.ui.rsyntaxtextarea.Theme) MenuListener(javax.swing.event.MenuListener) Nullable(org.jetbrains.annotations.Nullable) RenameDialog(jadx.gui.ui.dialog.RenameDialog) Dimension(java.awt.Dimension) List(java.util.List) JadxArgs(jadx.api.JadxArgs) TextSearchIndex(jadx.gui.utils.search.TextSearchIndex) Toolkit(java.awt.Toolkit) Rectangle(java.awt.Rectangle) FileNameExtensionFilter(javax.swing.filechooser.FileNameExtensionFilter) TreeNode(javax.swing.tree.TreeNode) ADBDialog(jadx.gui.ui.dialog.ADBDialog) GraphicsDevice(java.awt.GraphicsDevice) NLS(jadx.gui.utils.NLS) HashSet(java.util.HashSet) JPackagePopupMenu(jadx.gui.ui.popupmenu.JPackagePopupMenu) AWTEvent(java.awt.AWTEvent) FocusAdapter(java.awt.event.FocusAdapter) SwingUtilities(javax.swing.SwingUtilities) KeyStroke.getKeyStroke(javax.swing.KeyStroke.getKeyStroke) JMenuItem(javax.swing.JMenuItem) UiUtils(jadx.gui.utils.UiUtils) DisplayMode(java.awt.DisplayMode) BreakpointManager(jadx.gui.device.debugger.BreakpointManager) JNode(jadx.gui.treemodel.JNode) JClass(jadx.gui.treemodel.JClass) TreeWillExpandListener(javax.swing.event.TreeWillExpandListener) EditorViewState(jadx.gui.ui.codearea.EditorViewState) ExecutorService(java.util.concurrent.ExecutorService) ProcessResult(jadx.gui.jobs.ProcessResult) JPackage(jadx.gui.treemodel.JPackage) Logger(org.slf4j.Logger) DecompileTask(jadx.gui.jobs.DecompileTask) JPopupMenu(javax.swing.JPopupMenu) FileInputStream(java.io.FileInputStream) JOptionPane(javax.swing.JOptionPane) JTree(javax.swing.JTree) ActionEvent(java.awt.event.ActionEvent) JadxWrapper(jadx.gui.JadxWrapper) BackgroundExecutor(jadx.gui.jobs.BackgroundExecutor) Level(ch.qos.logback.classic.Level) JResource(jadx.gui.treemodel.JResource) FocusEvent(java.awt.event.FocusEvent) JRoot(jadx.gui.treemodel.JRoot) Collections(java.util.Collections) FileUtils.toPaths(jadx.gui.utils.FileUtils.toPaths) InputStream(java.io.InputStream) AbstractAction(javax.swing.AbstractAction) Action(javax.swing.Action) AboutDialog(jadx.gui.ui.dialog.AboutDialog) QuarkDialog(jadx.gui.plugins.quark.QuarkDialog) ActionEvent(java.awt.event.ActionEvent) JadxSettingsWindow(jadx.gui.settings.JadxSettingsWindow) AbstractCodeContentPanel(jadx.gui.ui.codearea.AbstractCodeContentPanel) JToolBar(javax.swing.JToolBar) ADBDialog(jadx.gui.ui.dialog.ADBDialog) JCheckBoxMenuItem(javax.swing.JCheckBoxMenuItem) ContentPanel(jadx.gui.ui.panel.ContentPanel) AbstractCodeContentPanel(jadx.gui.ui.codearea.AbstractCodeContentPanel) JToggleButton(javax.swing.JToggleButton) ActionListener(java.awt.event.ActionListener) AbstractCodeArea(jadx.gui.ui.codearea.AbstractCodeArea) AbstractAction(javax.swing.AbstractAction) JMenu(javax.swing.JMenu) JMenuBar(javax.swing.JMenuBar) Link(jadx.gui.utils.Link)

Example 83 with JToggleButton

use of javax.swing.JToggleButton in project vcell by virtualcell.

the class VFrap_OverlayEditorPanelJAI method getEraseButton.

public JToggleButton getEraseButton() {
    if (eraseButton == null) {
        eraseButton = new JToggleButton(new ImageIcon(getClass().getResource("/images/eraser.gif")));
        eraseButton.setPreferredSize(new Dimension(32, 32));
        eraseButton.setMargin(new Insets(2, 2, 2, 2));
        eraseButton.setToolTipText("Erase");
    }
    return eraseButton;
}
Also used : ImageIcon(javax.swing.ImageIcon) Insets(java.awt.Insets) JToggleButton(javax.swing.JToggleButton) Dimension(java.awt.Dimension)

Example 84 with JToggleButton

use of javax.swing.JToggleButton in project vcell by virtualcell.

the class VFrap_OverlayEditorPanelJAI method getAutoCropButton.

public JToggleButton getAutoCropButton() {
    if (autoCropButton == null) {
        autoCropButton = new JToggleButton(new ImageIcon(getClass().getResource("/images/autoCrop.gif")));
        autoCropButton.setPreferredSize(new Dimension(32, 32));
        autoCropButton.setMargin(new Insets(2, 2, 2, 2));
        autoCropButton.setToolTipText("Auto Crop");
        autoCropButton.addActionListener(new ActionListener() {

            public void actionPerformed(final ActionEvent e) {
                try {
                    waitCursor(true);
                    if (isAutoCroppable()) {
                        Rectangle cropRect = null;
                        if (imageDataset != null) {
                            cropRect = imageDataset.getNonzeroBoundingRectangle();
                        }
                        imagePane.setCrop(new Point((int) (cropRect.x * imagePane.getZoom()), (int) (cropRect.y * imagePane.getZoom())), new Point((int) ((cropRect.x + cropRect.width) * imagePane.getZoom()), (int) ((cropRect.y + cropRect.height) * imagePane.getZoom())));
                        waitCursor(false);
                        if (!cropConfirm(cropRect)) {
                            imagePane.setCrop(null, null);
                            return;
                        }
                        waitCursor(true);
                        imagePane.setCrop(null, null);
                        firePropertyChange(FRAP_DATA_CROP_PROPERTY, null, cropRect);
                    } else {
                        DialogUtils.showInfoDialog(VFrap_OverlayEditorPanelJAI.this, "AutoCrop: No zero values around outer edges.");
                    }
                } catch (Exception e1) {
                    e1.printStackTrace();
                    DialogUtils.showErrorDialog(VFrap_OverlayEditorPanelJAI.this, "Error AutoCrop:\n" + e1.getMessage());
                } finally {
                    waitCursor(false);
                }
            }
        });
    }
    return autoCropButton;
}
Also used : ImageIcon(javax.swing.ImageIcon) Insets(java.awt.Insets) JToggleButton(javax.swing.JToggleButton) ActionListener(java.awt.event.ActionListener) ActionEvent(java.awt.event.ActionEvent) Rectangle(java.awt.Rectangle) Dimension(java.awt.Dimension) Point(java.awt.Point) CannotUndoException(javax.swing.undo.CannotUndoException) UserCancelException(org.vcell.util.UserCancelException)

Example 85 with JToggleButton

use of javax.swing.JToggleButton in project vcell by virtualcell.

the class VFrap_OverlayEditorPanelJAI method getPaintButton.

public JToggleButton getPaintButton() {
    if (paintButton == null) {
        paintButton = new JToggleButton(new ImageIcon(getClass().getResource("/images/paint.gif")));
        paintButton.setSelected(true);
        paintButton.setPreferredSize(new Dimension(32, 32));
        paintButton.setMargin(new Insets(2, 2, 2, 2));
        paintButton.setToolTipText("Paint");
    }
    return paintButton;
}
Also used : ImageIcon(javax.swing.ImageIcon) Insets(java.awt.Insets) JToggleButton(javax.swing.JToggleButton) Dimension(java.awt.Dimension)

Aggregations

JToggleButton (javax.swing.JToggleButton)179 ActionEvent (java.awt.event.ActionEvent)92 ActionListener (java.awt.event.ActionListener)90 ImageIcon (javax.swing.ImageIcon)76 Dimension (java.awt.Dimension)69 JPanel (javax.swing.JPanel)58 JButton (javax.swing.JButton)46 JLabel (javax.swing.JLabel)39 Point (java.awt.Point)29 JScrollPane (javax.swing.JScrollPane)19 BorderLayout (java.awt.BorderLayout)17 ChangeEvent (javax.swing.event.ChangeEvent)15 Insets (java.awt.Insets)14 ItemEvent (java.awt.event.ItemEvent)14 ChangeListener (javax.swing.event.ChangeListener)14 ItemListener (java.awt.event.ItemListener)13 Component (java.awt.Component)12 FlowLayout (java.awt.FlowLayout)12 BoxLayout (javax.swing.BoxLayout)12 JToolBar (javax.swing.JToolBar)12