Example usage for java.awt BorderLayout EAST

List of usage examples for java.awt BorderLayout EAST

Introduction

In this page you can find the example usage for java.awt BorderLayout EAST.

Prototype

String EAST

To view the source code for java.awt BorderLayout EAST.

Click Source Link

Document

The east layout constraint (right side of container).

Usage

From source file:org.esa.snap.rcp.statistics.ChartPagePanel.java

protected void createUI(final ChartPanel chartPanel, final JPanel optionsPanel, BindingContext bindingContext) {
    roiMaskSelector = new RoiMaskSelector(bindingContext);

    final JPanel extendedOptionsPanel = GridBagUtils.createPanel();
    GridBagConstraints extendedOptionsPanelConstraints = GridBagUtils.createConstraints(
            "insets.left=4,insets.right=2,anchor=NORTHWEST,fill=HORIZONTAL,insets.top=2,weightx=1");
    GridBagUtils.addToPanel(extendedOptionsPanel, new JSeparator(), extendedOptionsPanelConstraints, "gridy=0");
    GridBagUtils.addToPanel(extendedOptionsPanel, roiMaskSelector.createPanel(),
            extendedOptionsPanelConstraints, "gridy=1,insets.left=-4");
    GridBagUtils.addToPanel(extendedOptionsPanel, new JPanel(), extendedOptionsPanelConstraints,
            "gridy=1,insets.left=-4");
    GridBagUtils.addToPanel(extendedOptionsPanel, optionsPanel, extendedOptionsPanelConstraints,
            "insets.left=0,insets.right=0,gridy=2,fill=VERTICAL,fill=HORIZONTAL,weighty=1");
    GridBagUtils.addToPanel(extendedOptionsPanel, new JSeparator(), extendedOptionsPanelConstraints,
            "insets.left=4,insets.right=2,gridy=5,anchor=SOUTHWEST");

    final SimpleScrollPane optionsScrollPane = new SimpleScrollPane(extendedOptionsPanel,
            ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
    optionsScrollPane.setBorder(null);//from  www  .  java 2s .  c  o  m
    optionsScrollPane.getVerticalScrollBar().setUnitIncrement(20);

    final JPanel rightPanel = new JPanel(new BorderLayout());
    rightPanel.add(createTopPanel(), BorderLayout.NORTH);
    rightPanel.add(optionsScrollPane, BorderLayout.CENTER);
    rightPanel.add(createChartBottomPanel(chartPanel), BorderLayout.SOUTH);

    final ImageIcon collapseIcon = UIUtils.loadImageIcon("icons/PanelRight12.png");
    final ImageIcon collapseRolloverIcon = ToolButtonFactory.createRolloverIcon(collapseIcon);
    final ImageIcon expandIcon = UIUtils.loadImageIcon("icons/PanelLeft12.png");
    final ImageIcon expandRolloverIcon = ToolButtonFactory.createRolloverIcon(expandIcon);

    hideAndShowButton = ToolButtonFactory.createButton(collapseIcon, false);
    hideAndShowButton.setToolTipText("Collapse Options Panel");
    hideAndShowButton.setName("switchToChartButton");
    hideAndShowButton.addActionListener(new ActionListener() {

        public boolean rightPanelShown;

        @Override
        public void actionPerformed(ActionEvent e) {
            rightPanel.setVisible(rightPanelShown);
            if (rightPanelShown) {
                hideAndShowButton.setIcon(collapseIcon);
                hideAndShowButton.setRolloverIcon(collapseRolloverIcon);
                hideAndShowButton.setToolTipText("Collapse Options Panel");
            } else {
                hideAndShowButton.setIcon(expandIcon);
                hideAndShowButton.setRolloverIcon(expandRolloverIcon);
                hideAndShowButton.setToolTipText("Expand Options Panel");
            }
            rightPanelShown = !rightPanelShown;
        }
    });

    backgroundPanel = new JPanel(new BorderLayout());
    backgroundPanel.add(chartPanel, BorderLayout.CENTER);
    backgroundPanel.add(rightPanel, BorderLayout.EAST);

    JLayeredPane layeredPane = new JLayeredPane();
    layeredPane.add(backgroundPanel, new Integer(0));
    layeredPane.add(hideAndShowButton, new Integer(1));
    add(layeredPane);
}

From source file:edu.purdue.cc.bionet.ui.DistributionAnalysisDisplayPanel.java

/**
 * Creates a new view containing the specified experiments.
 * /*from  w  w  w  .  j a  v  a 2s .  c om*/
 * @param experiments The experiments to display in this view.
 * @return A boolean indicating whether creating the view was successful.
 */
public boolean createView(Collection<Experiment> experiments) {
    this.experiments = experiments;
    this.molecules = new TreeSet<Molecule>();
    this.samples = new TreeSet<Sample>();
    for (Experiment e : experiments) {
        this.molecules.addAll(e.getMolecules());
        this.samples.addAll(e.getSamples());
    }
    SampleGroup sampleGroup = new SampleGroup(Settings.getLanguage().get("All Samples"), this.samples);
    ArrayList<SampleGroup> sampleGroups = new ArrayList<SampleGroup>();
    sampleGroups.add(sampleGroup);
    Language language = Settings.getLanguage();

    this.topPanel = new JPanel(new BorderLayout());
    this.bottomPanel = new JPanel(new GridLayout(1, 1));
    this.experimentGraphPanel = new JPanel(new GridLayout(1, 1));

    this.selectorTree = new ExperimentSelectorTreePanel(experiments);
    this.mainSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
    this.graphSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);

    JPanel topRightPanel = new JPanel(new BorderLayout());
    topRightPanel.add(this.fitSelectorPanel, BorderLayout.NORTH);
    topRightPanel.add(new JPanel(), BorderLayout.CENTER);
    this.topPanel.add(topRightPanel, BorderLayout.EAST);
    this.topPanel.add(this.experimentGraphPanel, BorderLayout.CENTER);

    this.add(mainSplitPane, BorderLayout.CENTER);
    this.mainSplitPane.setLeftComponent(this.selectorTree);
    this.mainSplitPane.setDividerLocation(200);
    this.mainSplitPane.setRightComponent(this.graphSplitPane);
    this.graphSplitPane.setTopComponent(this.topPanel);
    this.graphSplitPane.setBottomComponent(this.bottomPanel);
    this.setSampleGroups(sampleGroups);

    this.addComponentListener(this);

    return true;
}

From source file:org.cloudml.ui.graph.Visu.java

public void createFrame() {
    final VisualizationViewer<Vertex, Edge> vv = v.getVisualisationViewer();

    vv.getRenderContext().setVertexIconTransformer(new Transformer<Vertex, Icon>() {
        public Icon transform(final Vertex v) {
            return new Icon() {

                public int getIconHeight() {
                    return 40;
                }//from   ww  w  .  j a v a 2 s .  c o m

                public int getIconWidth() {
                    return 40;
                }

                public void paintIcon(java.awt.Component c, Graphics g, int x, int y) {
                    ImageIcon img;
                    if (v.getType() == "node") {
                        img = new ImageIcon(this.getClass().getResource("/server.png"));
                    } else if (v.getType() == "platform") {
                        img = new ImageIcon(this.getClass().getResource("/dbms.png"));
                    } else {
                        img = new ImageIcon(this.getClass().getResource("/soft.png"));
                    }
                    ImageObserver io = new ImageObserver() {

                        public boolean imageUpdate(Image img, int infoflags, int x, int y, int width,
                                int height) {
                            // TODO Auto-generated method stub
                            return false;
                        }
                    };
                    g.drawImage(img.getImage(), x, y, getIconHeight(), getIconWidth(), io);

                    if (!vv.getPickedVertexState().isPicked(v)) {
                        g.setColor(Color.black);
                    } else {
                        g.setColor(Color.red);

                        properties.setModel(new CPIMTable(v));
                        runtimeProperties.setModel(new CPSMTable(v));
                    }
                    g.drawString(v.getName(), x - 10, y + 50);
                }
            };
        }
    });

    // create a frame to hold the graph
    final JFrame frame = new JFrame();
    Container content = frame.getContentPane();
    final GraphZoomScrollPane panel = new GraphZoomScrollPane(vv);
    content.add(panel, BorderLayout.CENTER);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    final ModalGraphMouse gm = new DefaultModalGraphMouse<Integer, Number>();
    vv.setGraphMouse(gm);

    final ScalingControl scaler = new CrossoverScalingControl();

    JButton plus = new JButton("+");
    plus.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            scaler.scale(vv, 1.1f, vv.getCenter());
        }
    });
    JButton save = new JButton("save");
    save.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            JFileChooser fc = new JFileChooser();
            int returnVal = fc.showDialog(frame, "save");
            File result = fc.getSelectedFile();
            JsonCodec codec = new JsonCodec();
            OutputStream streamResult;
            try {
                streamResult = new FileOutputStream(result);
                codec.save(dmodel, streamResult);
            } catch (FileNotFoundException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
        }
    });
    JButton saveImage = new JButton("save as image");
    saveImage.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            JFileChooser fc = new JFileChooser();
            int returnVal = fc.showDialog(frame, "save");
            File result = fc.getSelectedFile();
            JsonCodec codec = new JsonCodec();
            v.writeJPEGImage(result);
        }
    });
    //WE NEED TO UPDATE THE FACADE AND THE GUI
    JButton load = new JButton("load");
    load.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            JFileChooser fc = new JFileChooser();
            int returnVal = fc.showDialog(frame, "load");
            File result = fc.getSelectedFile();
            JsonCodec codec = new JsonCodec();
            try {
                InputStream stream = new FileInputStream(result);
                Deployment model = (Deployment) codec.load(stream);
                dmodel = model;
                v.setDeploymentModel(dmodel);
                ArrayList<Vertex> V = v.drawFromDeploymentModel();
                nodeTypes.removeAll();
                nodeTypes.setModel(fillList());

                properties.setModel(new CPIMTable(V.get(0)));
                runtimeProperties.setModel(new CPSMTable(V.get(0)));

                CommandFactory fcommand = new CommandFactory();
                CloudMlCommand load = fcommand.loadDeployment(result.getPath());
                cml.fireAndWait(load);

            } catch (FileNotFoundException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }

        }
    });
    JButton minus = new JButton("-");
    minus.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            scaler.scale(vv, 1 / 1.1f, vv.getCenter());
        }
    });
    JButton deploy = new JButton("Deploy!");
    deploy.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            //cad.deploy(dmodel);
            System.out.println("deploy");
            CommandFactory fcommand = new CommandFactory();
            CloudMlCommand deploy = fcommand.deploy();
            cml.fireAndWait(deploy);
        }
    });

    //right panel
    JPanel intermediary = new JPanel();
    intermediary.setLayout(new BoxLayout(intermediary, BoxLayout.PAGE_AXIS));
    intermediary.setBorder(BorderFactory.createLineBorder(Color.black));

    JLabel jlCPIM = new JLabel();
    jlCPIM.setText("CPIM");

    JLabel jlCPSM = new JLabel();
    jlCPSM.setText("CPSM");

    properties = new JTable(null);
    //properties.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
    JTableHeader h = properties.getTableHeader();
    JPanel props = new JPanel();
    props.setLayout(new BorderLayout());
    props.add(new JScrollPane(properties), BorderLayout.CENTER);
    props.add(h, BorderLayout.NORTH);

    runtimeProperties = new JTable(null);
    //runtimeProperties.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
    JTableHeader h2 = runtimeProperties.getTableHeader();
    JPanel runProps = new JPanel();
    runProps.setLayout(new BorderLayout());
    runProps.add(h2, BorderLayout.NORTH);
    runProps.add(new JScrollPane(runtimeProperties), BorderLayout.CENTER);

    intermediary.add(jlCPIM);
    intermediary.add(props);
    intermediary.add(jlCPSM);
    intermediary.add(runProps);

    content.add(intermediary, BorderLayout.EAST);

    //Left panel
    JPanel selection = new JPanel();
    JLabel nodes = new JLabel();
    nodes.setText("Types");
    selection.setLayout(new BoxLayout(selection, BoxLayout.PAGE_AXIS));
    nodeTypes = new JList(fillList());
    nodeTypes.setLayoutOrientation(JList.VERTICAL);
    nodeTypes.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    nodeTypes.setVisibleRowCount(10);
    JScrollPane types = new JScrollPane(nodeTypes);
    types.setPreferredSize(new Dimension(150, 80));
    selection.add(nodes);
    selection.add(types);

    content.add(selection, BorderLayout.WEST);

    ((DefaultModalGraphMouse<Integer, Number>) gm)
            .add(new MyEditingGraphMousePlugin(0, vv, v.getGraph(), nodeTypes, dmodel));
    JPanel controls = new JPanel();
    controls.add(plus);
    controls.add(minus);
    controls.add(save);
    controls.add(saveImage);
    controls.add(load);
    controls.add(deploy);
    controls.add(((DefaultModalGraphMouse<Integer, Number>) gm).getModeComboBox());
    content.add(controls, BorderLayout.SOUTH);

    frame.pack();
    frame.setVisible(true);
}

From source file:gov.llnl.lc.infiniband.opensm.plugin.gui.chart.PortHeatMapPlotPanel.java

private PortHeatMapPlotPanel(OMS_Collection history, ArrayList<IB_Vertex> includedNodes,
        EnumSet<IB_Depth> includedDepths) {
    super(new BorderLayout());

    // creates the main chart panel, which creates the PortHeatMapDataSet
    // (so all the data has been initialized here, available for all subsequent actions)
    overallDimension = new java.awt.Dimension(900, 500);
    heatPanel = (ChartPanel) createHeatPanel(history, includedNodes, includedDepths);
    heatPanel.setPreferredSize(overallDimension);

    // add the vertical and horizontal crosshairs
    CrosshairOverlay overlay = new CrosshairOverlay();
    TimeXhair = new Crosshair(0);
    TimeXhair.setPaint(TimeSliceColor); // vertical slice (single timestamp) for dataset1, SingleTimeChart plot 1, slider 2, etc
    PortXhair = new Crosshair(0);
    PortXhair.setPaint(PortSliceColor); // horizontal slice (single port) for dataset2, SinglePortChart, slider 1
    overlay.addDomainCrosshair(TimeXhair);
    overlay.addRangeCrosshair(PortXhair);
    heatPanel.addOverlay(overlay);/*from  w  ww .j  av a 2s  .c  o  m*/
    TimeXhair.setLabelVisible(true);
    TimeXhair.setLabelAnchor(RectangleAnchor.BOTTOM_RIGHT);
    TimeXhair.setLabelBackgroundPaint(new Color(255, 255, 0, 100));
    PortXhair.setLabelVisible(true);
    PortXhair.setLabelBackgroundPaint(new Color(255, 255, 0, 100));

    add(heatPanel);

    JPanel PortSliderPanel = new JPanel(new BorderLayout());

    // all ports, single timestamp (right vertical plot) - uses TimeXhair and slider 2 from the horizontal panel (TimeSliderPanel)
    XYSeriesCollection dataset1 = new XYSeriesCollection();
    SingleTimeChart = ChartFactory.createXYLineChart("Vertical Cross-section (all ports single timestamp)",
            PortAxisLabel, UtilizationAxisLabel, dataset1, PlotOrientation.HORIZONTAL, false, false, false);
    XYPlot plot1 = (XYPlot) SingleTimeChart.getPlot();
    plot1.getDomainAxis().setLowerMargin(0.0);
    plot1.getDomainAxis().setUpperMargin(0.0);
    plot1.setDomainAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);
    plot1.getRenderer().setSeriesPaint(0, TimeSliceColor);

    // this is the right
    ChartPanel SingleTimeChartPanel = new ChartPanel(SingleTimeChart);
    SingleTimeChartPanel.setMinimumDrawWidth(0);
    SingleTimeChartPanel.setMinimumDrawHeight(0);

    SingleTimeChartPanel.setPreferredSize(new Dimension(200, (int) (overallDimension.getWidth() / 3)));
    ((XYPlot) SingleTimeChart.getPlot()).getRangeAxis().setRange(new Range(0, 1));
    ((XYPlot) SingleTimeChart.getPlot()).getDomainAxis().setRange(new Range(0, 1));

    // this slider panel holds the slider and the Single Time Snapshot of all ports, on the right or EAST (for use with plot2)
    PortSlider = new JSlider(0, 1, 0);
    PortSlider.addChangeListener(this);
    PortSlider.setOrientation(JSlider.VERTICAL);

    PortSliderPanel.add(SingleTimeChartPanel);
    PortSliderPanel.add(PortSlider, BorderLayout.WEST);

    TimeSliderPanel = new JPanel(new BorderLayout());

    // single port, all timestamps (lower horizontal plot) - uses PortXhair and slider 1 from the vertical panel (PortSliderPanel)
    XYSeriesCollection dataset2 = new XYSeriesCollection();
    SinglePortChart = ChartFactory.createXYLineChart("Horizontal Cross-section (single port over time)",
            TimeAxisLabel, UtilizationAxisLabel, dataset2, PlotOrientation.VERTICAL, false, false, false);
    XYPlot plot2 = (XYPlot) SinglePortChart.getPlot();
    plot2.getDomainAxis().setLowerMargin(0.0);
    plot2.getDomainAxis().setUpperMargin(0.0);
    plot2.getRenderer().setSeriesPaint(0, PortSliceColor);

    ChartPanel SinglePortChartPanel = new ChartPanel(SinglePortChart);
    SinglePortChartPanel.setMinimumDrawWidth(0);
    SinglePortChartPanel.setMinimumDrawHeight(0);

    SinglePortChartPanel.setPreferredSize(new Dimension(200, (int) (overallDimension.getHeight() / 3)));
    ((XYPlot) SinglePortChart.getPlot()).getRangeAxis().setRange(new Range(0, 1));
    ((XYPlot) SinglePortChart.getPlot()).getDomainAxis().setRange(new Range(0, 1));

    DepthPanel = new HeatMapDepthPanel(null);
    DepthPanel.setPreferredSize(
            new Dimension((int) (overallDimension.getWidth() / 4), (int) (overallDimension.getHeight() / 3)));
    TimeSliderPanel.add(DepthPanel, BorderLayout.EAST);

    // this slider panel holds the slider and the Single Port for all times, in the BOTTOM (for use with plot1)
    TimeSlider = new JSlider(0, 1, 0);
    TimeSlider.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 200));
    TimeSlider.addChangeListener(this);

    TimeSliderPanel.add(SinglePortChartPanel);
    TimeSliderPanel.add(TimeSlider, BorderLayout.NORTH);
    add(PortSliderPanel, BorderLayout.EAST);
    add(TimeSliderPanel, BorderLayout.SOUTH);
    heatChart.setNotify(true);
}

From source file:org.datacleaner.widgets.result.DateGapAnalyzerResultSwingRenderer.java

@Override
public JComponent render(DateGapAnalyzerResult result) {

    final TaskSeriesCollection dataset = new TaskSeriesCollection();
    final Set<String> groupNames = result.getGroupNames();
    final TaskSeries completeDurationTaskSeries = new TaskSeries(LABEL_COMPLETE_DURATION);
    final TaskSeries gapsTaskSeries = new TaskSeries(LABEL_GAPS);
    final TaskSeries overlapsTaskSeries = new TaskSeries(LABEL_OVERLAPS);
    for (final String groupName : groupNames) {
        final String groupDisplayName;

        if (groupName == null) {
            if (groupNames.size() == 1) {
                groupDisplayName = "All";
            } else {
                groupDisplayName = LabelUtils.NULL_LABEL;
            }//  ww  w .j a va2s. c  o m
        } else {
            groupDisplayName = groupName;
        }

        final TimeInterval completeDuration = result.getCompleteDuration(groupName);
        final Task completeDurationTask = new Task(groupDisplayName,
                createTimePeriod(completeDuration.getFrom(), completeDuration.getTo()));
        completeDurationTaskSeries.add(completeDurationTask);

        // plot gaps
        {
            final SortedSet<TimeInterval> gaps = result.getGaps(groupName);

            int i = 1;
            Task rootTask = null;
            for (TimeInterval interval : gaps) {
                final TimePeriod timePeriod = createTimePeriod(interval.getFrom(), interval.getTo());

                if (rootTask == null) {
                    rootTask = new Task(groupDisplayName, timePeriod);
                    gapsTaskSeries.add(rootTask);
                } else {
                    Task task = new Task(groupDisplayName + " gap" + i, timePeriod);
                    rootTask.addSubtask(task);
                }

                i++;
            }
        }

        // plot overlaps
        {
            final SortedSet<TimeInterval> overlaps = result.getOverlaps(groupName);

            int i = 1;
            Task rootTask = null;
            for (TimeInterval interval : overlaps) {
                final TimePeriod timePeriod = createTimePeriod(interval.getFrom(), interval.getTo());

                if (rootTask == null) {
                    rootTask = new Task(groupDisplayName, timePeriod);
                    overlapsTaskSeries.add(rootTask);
                } else {
                    Task task = new Task(groupDisplayName + " overlap" + i, timePeriod);
                    rootTask.addSubtask(task);
                }

                i++;
            }
        }
    }
    dataset.add(overlapsTaskSeries);
    dataset.add(gapsTaskSeries);
    dataset.add(completeDurationTaskSeries);

    final SlidingGanttCategoryDataset slidingDataset = new SlidingGanttCategoryDataset(dataset, 0,
            GROUPS_VISIBLE);

    final JFreeChart chart = ChartFactory.createGanttChart(
            "Date gaps and overlaps in " + result.getFromColumnName() + " / " + result.getToColumnName(),
            result.getGroupColumnName(), "Time", slidingDataset, true, true, false);
    ChartUtils.applyStyles(chart);

    // make sure the 3 timeline types have correct coloring
    {
        final CategoryPlot plot = (CategoryPlot) chart.getPlot();

        plot.setDrawingSupplier(new DCDrawingSupplier(WidgetUtils.ADDITIONAL_COLOR_GREEN_BRIGHT,
                WidgetUtils.ADDITIONAL_COLOR_RED_BRIGHT, WidgetUtils.BG_COLOR_BLUE_BRIGHT));
    }

    final int visibleLines = Math.min(GROUPS_VISIBLE, groupNames.size());
    final ChartPanel chartPanel = ChartUtils.createPanel(chart, ChartUtils.WIDTH_WIDE, visibleLines * 50 + 200);

    chartPanel.addChartMouseListener(new ChartMouseListener() {
        @Override
        public void chartMouseMoved(ChartMouseEvent event) {
            Cursor cursor = Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR);
            ChartEntity entity = event.getEntity();
            if (entity instanceof PlotEntity) {
                cursor = Cursor.getPredefinedCursor(Cursor.E_RESIZE_CURSOR);
            }
            chartPanel.setCursor(cursor);
        }

        @Override
        public void chartMouseClicked(ChartMouseEvent event) {
            // do nothing
        }
    });

    final JComponent decoratedChartPanel;

    final StringBuilder chartDescription = new StringBuilder("<html>");
    chartDescription.append("<p>The chart displays the recorded timeline based on FROM and TO dates.</p>");
    chartDescription.append(
            "<p>The <b>red items</b> represent gaps in the timeline and the <b>green items</b> represent points in the timeline where more than one record show activity.</p>");
    chartDescription.append(
            "<p>You can <b>zoom in</b> by clicking and dragging the area that you want to examine in further detail.</p>");

    if (groupNames.size() > GROUPS_VISIBLE) {
        final JScrollBar scroll = new JScrollBar(JScrollBar.VERTICAL);
        scroll.setMinimum(0);
        scroll.setMaximum(groupNames.size());
        scroll.addAdjustmentListener(new AdjustmentListener() {

            @Override
            public void adjustmentValueChanged(AdjustmentEvent e) {
                int value = e.getAdjustable().getValue();
                slidingDataset.setFirstCategoryIndex(value);
            }
        });

        chartPanel.addMouseWheelListener(new MouseWheelListener() {

            @Override
            public void mouseWheelMoved(MouseWheelEvent e) {
                int scrollType = e.getScrollType();
                if (scrollType == MouseWheelEvent.WHEEL_UNIT_SCROLL) {
                    int wheelRotation = e.getWheelRotation();
                    scroll.setValue(scroll.getValue() + wheelRotation);
                }
            }
        });

        final DCPanel outerPanel = new DCPanel();
        outerPanel.setLayout(new BorderLayout());
        outerPanel.add(chartPanel, BorderLayout.CENTER);
        outerPanel.add(scroll, BorderLayout.EAST);
        chartDescription.append("<p>Use the right <b>scrollbar</b> to scroll up and down on the chart.</p>");
        decoratedChartPanel = outerPanel;
    } else {
        decoratedChartPanel = chartPanel;
    }

    chartDescription.append("</html>");

    final JLabel chartDescriptionLabel = new JLabel(chartDescription.toString());

    final DCPanel panel = new DCPanel();
    panel.setLayout(new VerticalLayout());
    panel.add(chartDescriptionLabel);
    panel.add(decoratedChartPanel);

    return panel;
}

From source file:AltiConsole.AltiConsoleMainScreen.java

/**
 * Constructs main screen of the application.
 * /*from w w  w.j  a  v a 2  s  . com*/
 * @param title
 *            the frame title.
 */
public AltiConsoleMainScreen(final String title) {

    super(title);
    trans = Application.getTranslator();

    // //////// Menu code starts her //////////////
    // File
    fileMenu = new JMenu();
    fileMenu.setText(trans.get("AltiConsoleMainScreen.File"));

    // Load data
    loadDataMenuItem = new JMenuItem();
    loadDataMenuItem.setText(trans.get("AltiConsoleMainScreen.RetrieveFlightData"));
    loadDataMenuItem.setActionCommand("RETRIEVE_FLIGHT");
    loadDataMenuItem.addActionListener(this);

    eraseAllDataMenuItem = new JMenuItem();
    eraseAllDataMenuItem.setText(trans.get("AltiConsoleMainScreen.EraseFlightData"));
    eraseAllDataMenuItem.setActionCommand("ERASE_FLIGHT");
    eraseAllDataMenuItem.addActionListener(this);

    // Save as
    saveASMenuItem = new JMenuItem();
    saveASMenuItem.setText(trans.get("AltiConsoleMainScreen.saveFlightData"));
    saveASMenuItem.setActionCommand("SAVE_FLIGHT");
    saveASMenuItem.addActionListener(this);

    // Exit
    exitMenuItem = new JMenuItem();
    exitMenuItem.setText(trans.get("AltiConsoleMainScreen.Exit"));
    exitMenuItem.setActionCommand("EXIT");
    exitMenuItem.addActionListener(this);

    fileMenu.add(saveASMenuItem);

    fileMenu.add(loadDataMenuItem);
    fileMenu.add(eraseAllDataMenuItem);
    fileMenu.add(exitMenuItem);

    // Option menu
    optionMenu = new JMenu(trans.get("AltiConsoleMainScreen.Option"));
    preferencesMenuItem = new JMenuItem(trans.get("AltiConsoleMainScreen.Preferences"));
    preferencesMenuItem.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            System.out.println("pref\n");
            Preferences.showPreferences(AltiConsoleMainScreen.this);
            //LicenseDialog.showPreferences(AltiConsoleMainScreen.this);
            System.out.println("change units\n");
            String Units;
            System.out.println(UserPref.getAppUnits());
            if (Utils.equals(UserPref.getAppUnits(), "Unit.Metrics"))
                Units = trans.get("Unit.Metrics");
            else
                Units = trans.get("Unit.Imperial");

            chart.getXYPlot().getRangeAxis()
                    .setLabel(trans.get("AltiConsoleMainScreen.altitude") + " (" + Units + ")");
            if (Serial.getConnected()) {
                RetrievingFlight();
            }

        }
    });

    optionMenu.add(preferencesMenuItem);

    // Configuration menu
    altiConfigMenu = new JMenu(trans.get("AltiConsoleMainScreen.ConfigAltimeter"));

    retrieveAltiConfigMenuItem = new JMenuItem(trans.get("AltiConsoleMainScreen.RetrieveAltiConfig"));
    retrieveAltiConfigMenuItem.setActionCommand("RETRIEVE_ALTI_CFG");
    retrieveAltiConfigMenuItem.addActionListener(this);
    altiConfigMenu.add(retrieveAltiConfigMenuItem);

    uploadFirmwareMenuItem = new JMenuItem(trans.get("AltiConsoleMainScreen.UploadFirmware"));

    uploadFirmwareMenuItem.setActionCommand("UPLOAD_FIRMWARE");
    uploadFirmwareMenuItem.addActionListener(this);
    altiConfigMenu.add(uploadFirmwareMenuItem);

    // Help
    helpMenu = new JMenu(trans.get("AltiConsoleMainScreen.Help"));
    jJMenuBar = new JMenuBar();

    // Manual
    onLineHelpMenuItem = new JMenuItem(trans.get("AltiConsoleMainScreen.onLineHelp"));
    onLineHelpMenuItem.setActionCommand("ON_LINE_HELP");
    onLineHelpMenuItem.addActionListener(this);

    // license
    licenseMenuItem = new JMenuItem(trans.get("AltiConsoleMainScreen.license"));
    licenseMenuItem.setActionCommand("LICENSE");
    licenseMenuItem.addActionListener(this);

    // AboutScreen
    aboutMenuItem = new JMenuItem();
    aboutMenuItem.setText(trans.get("AltiConsoleMainScreen.About"));
    aboutMenuItem.setActionCommand("ABOUT");
    aboutMenuItem.addActionListener(this);

    helpMenu.add(onLineHelpMenuItem);
    helpMenu.add(licenseMenuItem);
    helpMenu.add(aboutMenuItem);

    jJMenuBar.add(fileMenu);
    jJMenuBar.add(optionMenu);
    jJMenuBar.add(altiConfigMenu);
    jJMenuBar.add(helpMenu);
    this.setJMenuBar(jJMenuBar);

    // ///// end of Menu code

    // Button
    retrieveFlights = new JButton();
    retrieveFlights.setText(trans.get("AltiConsoleMainScreen.RetrieveFlights"));
    retrieveFlights.setActionCommand("RETRIEVE_FLIGHT");
    retrieveFlights.addActionListener(this);
    retrieveFlights.setToolTipText(trans.get("AltiConsoleMainScreen.ttipRetrieveFlight"));

    // combo serial rate
    String[] serialRateStrings = { "300", "1200", "2400", "4800", "9600", "14400", "19200", "28800", "38400",
            "57600", "115200" };

    serialRatesLabel = new JLabel(trans.get("AltiConsoleMainScreen.comPortSpeed") + " ");
    serialRates = new JComboBox();
    System.out.println(UserPref.getDefComSpeed() + "\n");
    for (int i = 0; i < serialRateStrings.length; i++) {
        serialRates.addItem(serialRateStrings[i]);

        if (Utils.equals(UserPref.getDefComSpeed(), serialRateStrings[i])) {
            serialRates.setSelectedIndex(i);
        }
    }
    serialRates.setToolTipText(trans.get("AltiConsoleMainScreen.ttipChoosePortSpeed"));

    comPortsLabel = new JLabel(trans.get("AltiConsoleMainScreen.port") + " ");
    comPorts = new JComboBox();

    comPorts.setActionCommand("comPorts");
    comPorts.addActionListener(this);
    comPorts.setToolTipText(trans.get("AltiConsoleMainScreen.ttipChooseAltiport"));
    listData = new DefaultListModel();

    flightList = new JXList(listData);
    flightList.addListSelectionListener(new ValueReporter());

    JPanel TopPanelLeft = new JPanel();
    TopPanelLeft.setLayout(new BorderLayout());
    TopPanelLeft.add(comPortsLabel, BorderLayout.WEST);
    TopPanelLeft.add(comPorts, BorderLayout.EAST);

    JPanel TopPanelMiddle = new JPanel();
    TopPanelMiddle.setLayout(new BorderLayout());
    TopPanelMiddle.add(retrieveFlights, BorderLayout.WEST);

    JPanel TopPanelRight = new JPanel();
    TopPanelRight.setLayout(new BorderLayout());
    TopPanelRight.add(serialRatesLabel, BorderLayout.WEST);
    TopPanelRight.add(serialRates, BorderLayout.EAST);

    JPanel TopPanel = new JPanel();
    TopPanel.setLayout(new BorderLayout());

    TopPanel.add(TopPanelRight, BorderLayout.EAST);
    TopPanel.add(TopPanelMiddle, BorderLayout.CENTER);
    TopPanel.add(TopPanelLeft, BorderLayout.WEST);
    JPanel MiddlePanel = new JPanel();
    MiddlePanel.setLayout(new BorderLayout());

    MiddlePanel.add(TopPanel, BorderLayout.NORTH);
    MiddlePanel.add(flightList, BorderLayout.WEST);

    String Units;
    if (Utils.equals(UserPref.getAppUnits(), "Unit.Metrics"))
        Units = trans.get("Unit.Metrics");
    else
        Units = trans.get("Unit.Imperial");

    chart = ChartFactory.createXYLineChart(trans.get("AltiConsoleMainScreen.Title"),
            trans.get("AltiConsoleMainScreen.time"),
            trans.get("AltiConsoleMainScreen.altitude") + " (" + Units + ")", null);

    chart.setBackgroundPaint(Color.white);
    System.out.println(chart.getSubtitle(0));

    this.plot = chart.getXYPlot();
    this.plot.setBackgroundPaint(Color.lightGray);
    this.plot.setDomainGridlinePaint(Color.white);
    this.plot.setRangeGridlinePaint(Color.white);

    final ValueAxis axis = this.plot.getDomainAxis();
    axis.setAutoRange(true);

    final NumberAxis rangeAxis2 = new NumberAxis("Range Axis 2");
    rangeAxis2.setAutoRangeIncludesZero(false);

    final ChartPanel chartPanel = new ChartPanel(chart);

    MiddlePanel.add(chartPanel, BorderLayout.CENTER);

    JPanel InfoPanel = new JPanel(new MigLayout("fill"));
    InfoPanel.add(new JLabel(trans.get("AltiConsoleMainScreen.ApogeeAltitude")), "gapright para");
    apogeeAltitudeLabel = new JLabel();
    InfoPanel.add(apogeeAltitudeLabel, "growx");
    InfoPanel.add(new JLabel(trans.get("AltiConsoleMainScreen.MainAltitude")), "gapright para");
    mainAltitudeLabel = new JLabel();
    InfoPanel.add(mainAltitudeLabel, "growx");
    flightNbrLabel = new JLabel();

    InfoPanel.add(new JLabel(trans.get("AltiConsoleMainScreen.NbrOfPoint")), "growx");
    nbrPointLabel = new JLabel();
    InfoPanel.add(nbrPointLabel, "wrap rel,growx");

    txtLog = new JTextArea(5, 70);
    txtLog.setEditable(false);
    txtLog.setAutoscrolls(true);

    scrollPane = new JScrollPane(txtLog);
    scrollPane.setAutoscrolls(true);
    // BottomPanel.add(scrollPane, BorderLayout.WEST);
    InfoPanel.add(scrollPane, "span");
    // MiddlePanel.add(BottomPanel, BorderLayout.SOUTH);
    MiddlePanel.add(InfoPanel, BorderLayout.SOUTH);
    setContentPane(MiddlePanel);
    try {
        try {
            Serial = new AltimeterSerial(this);

            Serial.searchForPorts();
        } catch (UnsatisfiedLinkError e) {
            System.out.println("USB Library rxtxSerial.dll Not Found");
            System.out.println("Exception:" + e.toString() + ":" + e.getMessage());
            System.out.println(e.toString());
            JOptionPane.showMessageDialog(null,
                    "You must copy the appropriate rxtxSerial.dll \n "
                            + "to your local 32 bit or 64 bitjava JRE installation\n\n"
                            + " .../arduino-1.0.1-windows/arduino-1.0.1/rxtxSerial.dll\n"
                            + "to\n C:/Program Files (x86)/Java/jre7/bin/rxtxSerial.dll\n"
                            + "also right click Properties->Unblock",
                    trans.get("AltiConsoleMainScreen.InstallationProblem"), JOptionPane.WARNING_MESSAGE);
        }
    } catch (NoClassDefFoundError e) {
        System.out.println("Missing RXTXcomm.jar in java installation");
        System.out.println("Exception:" + e.toString() + ":" + e.getMessage());
        System.out.println(e.toString());
        JOptionPane.showMessageDialog(null,
                "You must copy RXTXcomm.jar from the Arduino software\n "
                        + "to your local 32 bit java JRE installation\n\n"
                        + " .../arduino-1.0.1-windows/arduino-1.0.1/lib/RXTXcomm.jar\n"
                        + "to\n C:/Program Files (x86)/Java/jre7/lib/ext/RXTXcomm.jar\n"
                        + "also right click Properties->Unblock",
                trans.get("AltiConsoleMainScreen.InstallationProblem"), JOptionPane.WARNING_MESSAGE);
    }
}

From source file:org.pentaho.reporting.designer.extensions.pentaho.repository.dialogs.RepositoryTreeDialog.java

/**
 * @noinspection ReuseOfLocalVariable/*from   w  w w  .j  a  v a  2  s  . c om*/
 */
protected Component createContentPane() {
    final JScrollPane treeView = new JScrollPane(repositoryBrowser);
    final JPanel newFolderButtonPanel = new JPanel(new BorderLayout());

    final JPanel panel = new JPanel();
    panel.setLayout(new GridBagLayout());
    GridBagConstraints c = new GridBagConstraints();
    if (addNewButtonPanel) {
        final JButton newFolder = new JButton(new NewFolderAction());
        newFolder.setBorder(BorderFactory.createEmptyBorder());
        final JLabel label = new JLabel(
                Messages.getInstance().getString("SolutionRepositoryTreeDialog.SelectLocation"));
        label.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 80));
        newFolderButtonPanel.add(label, BorderLayout.CENTER);
        newFolderButtonPanel.add(newFolder, BorderLayout.EAST);

        c.insets = new Insets(2, 10, 0, 10);
        c.anchor = GridBagConstraints.WEST;
        c.gridx = 0;
        c.gridy = 0;
        c.fill = GridBagConstraints.HORIZONTAL;
        panel.add(newFolderButtonPanel, c);
    }

    c = new GridBagConstraints();
    c.insets = new Insets(0, 10, 5, 10);
    c.gridx = 0;
    c.gridy = 1;
    c.fill = GridBagConstraints.BOTH;
    c.weightx = 1.0;
    c.weighty = 1.0;
    panel.add(treeView, c);

    c = new GridBagConstraints();
    c.anchor = GridBagConstraints.WEST;
    c.insets = new Insets(0, 10, 5, 10);
    c.gridx = 0;
    c.gridy = 2;
    c.fill = GridBagConstraints.HORIZONTAL;
    panel.add(new JCheckBox(new ShowHiddenFilesAction()));
    return panel;
}

From source file:gtu._work.ui.ExecuteOpener.java

private void initGUI() {
    final SwingActionUtil swingUtil = SwingActionUtil.newInstance(this);
    ToolTipManager.sharedInstance().setInitialDelay(0);
    try {/*from w w w .j a v a2  s .  c o m*/
        {
            this.setTitle("execute browser");
            this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            this.setPreferredSize(new java.awt.Dimension(870, 551));
            this.addMouseListener(new MouseAdapter() {
                public void mouseClicked(MouseEvent evt) {
                    swingUtil.invokeAction("frame.mouseClicked", evt);
                }
            });
        }
        {
            jTabbedPane1 = new JTabbedPane();
            getContentPane().add(jTabbedPane1);
            jTabbedPane1.setPreferredSize(new java.awt.Dimension(384, 265));
            jTabbedPane1.addChangeListener(new ChangeListener() {
                public void stateChanged(ChangeEvent evt) {
                    swingUtil.invokeAction("jTabbedPane1.stateChanged", evt);
                }
            });
            jTabbedPane1.addMouseListener(new MouseAdapter() {
                public void mouseClicked(MouseEvent evt) {
                    swingUtil.invokeAction("jTabbedPane1.mouseClicked", evt);
                }
            });
            {
                jPanel1 = new JPanel();
                BorderLayout jPanel1Layout = new BorderLayout();
                jPanel1.setLayout(jPanel1Layout);
                jTabbedPane1.addTab("file list", null, jPanel1, null);
                {
                    jPanel4 = new JPanel();
                    BorderLayout jPanel4Layout = new BorderLayout();
                    jPanel4.setLayout(jPanel4Layout);
                    jPanel1.add(jPanel4, BorderLayout.NORTH);
                    jPanel4.setPreferredSize(new java.awt.Dimension(508, 81));
                    {
                        jScrollPane1 = new JScrollPane();
                        jPanel4.add(jScrollPane1, BorderLayout.CENTER);
                        {
                            exeArea = new JTextArea();
                            jScrollPane1.setViewportView(exeArea);
                        }
                    }
                    {
                        jPanel5 = new JPanel();
                        BorderLayout jPanel5Layout = new BorderLayout();
                        jPanel5.setLayout(jPanel5Layout);
                        jPanel4.add(jPanel5, BorderLayout.EAST);
                        jPanel5.setPreferredSize(new java.awt.Dimension(202, 81));
                        {
                            addArea = new JButton();
                            jPanel5.add(addArea, BorderLayout.CENTER);
                            addArea.setText("addArea");
                            addArea.setPreferredSize(new java.awt.Dimension(58, 30));
                            addArea.addActionListener(new ActionListener() {
                                public void actionPerformed(ActionEvent evt) {
                                    swingUtil.invokeAction("addArea.actionPerformed", evt);
                                }
                            });
                        }
                    }
                    {
                        queryText = new JTextField();
                        jPanel4.add(queryText, BorderLayout.NORTH);
                        queryText.getDocument()
                                .addDocumentListener(JCommonUtil.getDocumentListener(new HandleDocumentEvent() {
                                    public void process(DocumentEvent event) {
                                        try {
                                            String query = JCommonUtil.getDocumentText(event);
                                            Pattern ptn = Pattern.compile(query);
                                            DefaultListModel model = new DefaultListModel();
                                            for (Object key : prop.keySet()) {
                                                String val = key.toString();
                                                if (val.contains(query)) {
                                                    model.addElement(key);
                                                    continue;
                                                }
                                                if (ptn.matcher(val).find()) {
                                                    model.addElement(key);
                                                    continue;
                                                }
                                            }
                                            execList.setModel(model);
                                        } catch (Exception ex) {
                                        }
                                    }
                                }));
                    }
                }
                {
                    jPanel3 = new JPanel();
                    jPanel1.add(jPanel3, BorderLayout.CENTER);
                    BorderLayout jPanel3Layout = new BorderLayout();
                    jPanel3.setLayout(jPanel3Layout);
                    jPanel3.setPreferredSize(new java.awt.Dimension(480, 220));
                    {
                        jScrollPane2 = new JScrollPane();
                        jPanel3.add(jScrollPane2, BorderLayout.CENTER);
                        {
                            DefaultListModel execListModel = new DefaultListModel();
                            for (Object obj : prop.keySet()) {
                                execListModel.addElement((String) obj);
                            }
                            execList = new JList();
                            jScrollPane2.setViewportView(execList);
                            execList.setModel(execListModel);
                            execList.addKeyListener(new KeyAdapter() {
                                public void keyPressed(KeyEvent evt) {
                                    swingUtil.invokeAction("execList.keyPressed", evt);
                                }
                            });
                            execList.addListSelectionListener(new ListSelectionListener() {
                                public void valueChanged(ListSelectionEvent evt) {
                                    swingUtil.invokeAction("execList.valueChanged", evt);
                                }
                            });
                            execList.addMouseListener(new MouseAdapter() {
                                public void mouseClicked(MouseEvent evt) {
                                    swingUtil.invokeAction("execList.mouseClicked", evt);
                                }
                            });
                        }
                    }
                }
                {
                    jPanel6 = new JPanel();
                    jPanel1.add(jPanel6, BorderLayout.SOUTH);
                    jPanel6.setPreferredSize(new java.awt.Dimension(741, 47));
                    {
                        saveList = new JButton();
                        jPanel6.add(saveList);
                        saveList.setText("save list to default properties");
                        saveList.setPreferredSize(new java.awt.Dimension(227, 28));
                        saveList.addActionListener(new ActionListener() {
                            public void actionPerformed(ActionEvent evt) {
                                swingUtil.invokeAction("saveList.actionPerformed", evt);
                            }
                        });
                    }
                    {
                        clearExecList = new JButton();
                        jPanel6.add(clearExecList);
                        clearExecList.setText("clear properties");
                        clearExecList.setPreferredSize(new java.awt.Dimension(170, 28));
                        clearExecList.addActionListener(new ActionListener() {
                            public void actionPerformed(ActionEvent evt) {
                                swingUtil.invokeAction("clearExecList.actionPerformed", evt);
                            }
                        });
                    }
                    {
                        reloadList = new JButton();
                        jPanel6.add(reloadList);
                        reloadList.setText("reload list");
                        reloadList.setPreferredSize(new java.awt.Dimension(156, 28));
                        reloadList.addActionListener(new ActionListener() {
                            public void actionPerformed(ActionEvent evt) {
                                swingUtil.invokeAction("reloadList.actionPerformed", evt);
                            }
                        });
                    }
                    {
                        contentFilterBtn = new JButton();
                        jPanel6.add(contentFilterBtn);
                        contentFilterBtn.setText("content filter");
                        contentFilterBtn.setPreferredSize(new java.awt.Dimension(176, 27));
                        contentFilterBtn.addActionListener(new ActionListener() {
                            public void actionPerformed(ActionEvent evt) {
                                swingUtil.invokeAction("contentFilterBtn.actionPerformed", evt);
                            }
                        });
                    }
                }
            }
            {
                jPanel2 = new JPanel();
                FlowLayout jPanel2Layout = new FlowLayout();
                jTabbedPane1.addTab("config", null, jPanel2, null);
                jPanel2.setPreferredSize(new java.awt.Dimension(573, 300));
                jPanel2.setLayout(jPanel2Layout);
                {
                    executeAll = new JButton();
                    jPanel2.add(executeAll);
                    executeAll.setText("execute all files");
                    executeAll.setPreferredSize(new java.awt.Dimension(137, 27));
                    executeAll.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent evt) {
                            swingUtil.invokeAction("execute.actionPerformed", evt);
                        }
                    });
                }
                {
                    browser = new JButton();
                    jPanel2.add(browser);
                    browser.setText("add file");
                    browser.setPreferredSize(new java.awt.Dimension(140, 28));
                    browser.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent evt) {
                            swingUtil.invokeAction("browser.actionPerformed", evt);
                        }
                    });
                }
                {
                    loadProp = new JButton();
                    jPanel2.add(loadProp);
                    loadProp.setText("load properties");
                    loadProp.setPreferredSize(new java.awt.Dimension(158, 32));
                    loadProp.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent evt) {
                            swingUtil.invokeAction("loadProp.actionPerformed", evt);
                        }
                    });
                }
                {
                    executeExport = new JButton();
                    jPanel2.add(executeExport);
                    executeExport.setText("export list");
                    executeExport.setPreferredSize(new java.awt.Dimension(145, 31));
                    executeExport.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent evt) {
                            swingUtil.invokeAction("executeExport.actionPerformed", evt);
                        }
                    });
                }
                {
                    exportListHasOrignTree = new JButton();
                    jPanel2.add(exportListHasOrignTree);
                    exportListHasOrignTree.setText("export list has orign tree");
                    exportListHasOrignTree.setPreferredSize(new java.awt.Dimension(204, 32));
                    exportListHasOrignTree.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent evt) {
                            swingUtil.invokeAction("exportListHasOrignTree.actionPerformed", evt);
                        }
                    });
                }
                {
                    moveFiles = new JButton();
                    jPanel2.add(moveFiles);
                    moveFiles.setText("move selected");
                    moveFiles.setPreferredSize(new java.awt.Dimension(161, 31));
                    moveFiles.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent evt) {
                            swingUtil.invokeAction("moveFiles.actionPerformed", evt);
                        }
                    });
                }
                {
                    deleteSelected = new JButton();
                    jPanel2.add(deleteSelected);
                    deleteSelected.setText("delete selected");
                    deleteSelected.setPreferredSize(new java.awt.Dimension(165, 31));
                    deleteSelected.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent evt) {
                            swingUtil.invokeAction("deleteSelected.actionPerformed", evt);
                        }
                    });
                }
                {
                    loadClipboardPath = new JButton();
                    jPanel2.add(loadClipboardPath);
                    loadClipboardPath.setText("load clipboard path");
                    loadClipboardPath.setPreferredSize(new java.awt.Dimension(222, 31));
                    loadClipboardPath.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent evt) {
                            swingUtil.invokeAction("loadClipboardPath.actionPerformed", evt);
                        }
                    });
                }
                {
                    deleteEmptyDir = new JButton();
                    jPanel2.add(deleteEmptyDir);
                    deleteEmptyDir.setText("delete empty dir");
                    deleteEmptyDir.setPreferredSize(new java.awt.Dimension(222, 31));
                    deleteEmptyDir.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent evt) {
                            swingUtil.invokeAction("deleteEmptyDir.actionPerformed", evt);
                        }
                    });
                }
                {
                    openSvnUpdate = new JButton();
                    jPanel2.add(openSvnUpdate);
                    openSvnUpdate.setText("list svn new or modify file");
                    openSvnUpdate.setPreferredSize(new java.awt.Dimension(210, 34));
                    openSvnUpdate.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent evt) {
                            swingUtil.invokeAction("openSvnUpdate.actionPerformed", evt);
                        }
                    });
                }
            }
            {
                jPanel7 = new JPanel();
                BorderLayout jPanel7Layout = new BorderLayout();
                jPanel7.setLayout(jPanel7Layout);
                jTabbedPane1.addTab("properties", null, jPanel7, null);
                {
                    jScrollPane3 = new JScrollPane();
                    jPanel7.add(jScrollPane3, BorderLayout.CENTER);
                    jScrollPane3.setPreferredSize(new java.awt.Dimension(741, 415));
                    {
                        DefaultListModel propertiesListModel = new DefaultListModel();
                        propertiesList = new JList();
                        reloadCurrentDirPropertiesList();
                        jScrollPane3.setViewportView(propertiesList);
                        propertiesList.setModel(propertiesListModel);
                        propertiesList.addKeyListener(new KeyAdapter() {
                            public void keyPressed(KeyEvent evt) {
                                swingUtil.invokeAction("propertiesList.keyPressed", evt);
                            }
                        });
                        propertiesList.addMouseListener(new MouseAdapter() {
                            public void mouseClicked(MouseEvent evt) {
                                swingUtil.invokeAction("propertiesList.mouseClicked", evt);
                            }
                        });
                    }
                }
            }
            {
                jPanel8 = new JPanel();
                BorderLayout jPanel8Layout = new BorderLayout();
                jTabbedPane1.addTab("scanner", null, jPanel8, null);
                jPanel8.setLayout(jPanel8Layout);
                {
                    jPanel9 = new JPanel();
                    jPanel8.add(jPanel9, BorderLayout.NORTH);
                    jPanel9.setPreferredSize(new java.awt.Dimension(741, 187));
                    {
                        scanDirText = new JTextField();
                        scanDirText.setToolTipText("scan dir");
                        jPanel9.add(scanDirText);
                        scanDirText.setPreferredSize(new java.awt.Dimension(225, 24));
                        scanDirText.addMouseListener(new MouseAdapter() {
                            public void mouseClicked(MouseEvent evt) {
                                swingUtil.invokeAction("scanDirText.mouseClicked", evt);
                            }
                        });
                    }
                    {
                        jScrollPane6 = new JScrollPane();
                        jPanel9.add(jScrollPane6);
                        jScrollPane6.setPreferredSize(new java.awt.Dimension(168, 69));
                        {
                            scannerText = new JTextArea();
                            scannerText.setToolTipText("query condition");
                            jScrollPane6.setViewportView(scannerText);
                        }
                    }
                    {
                        fileScan = new JButton();
                        jPanel9.add(fileScan);
                        fileScan.setText("start / stop");
                        fileScan.setPreferredSize(new java.awt.Dimension(113, 24));
                        fileScan.addActionListener(new ActionListener() {
                            public void actionPerformed(ActionEvent evt) {
                                swingUtil.invokeAction("fileScan.actionPerformed", evt);
                            }
                        });
                    }
                    {
                        useRegexOnly = new JCheckBox();
                        jPanel9.add(useRegexOnly);
                        useRegexOnly.setText("regex only");
                    }
                    {
                        DefaultComboBoxModel scanTypeModel = new DefaultComboBoxModel();
                        for (ScanType s : ScanType.values()) {
                            scanTypeModel.addElement(s);
                        }
                        scanType = new JComboBox();
                        scanType.setToolTipText("scan type");
                        jPanel9.add(scanType);
                        scanType.setModel(scanTypeModel);
                        scanType.setPreferredSize(new java.awt.Dimension(147, 24));
                    }
                    {
                        DefaultComboBoxModel jComboBox1Model = new DefaultComboBoxModel();
                        for (FileOrDirType f : FileOrDirType.values()) {
                            jComboBox1Model.addElement(f);
                        }
                        fileOrDirTypeCombo = new JComboBox();
                        jPanel9.add(fileOrDirTypeCombo);
                        fileOrDirTypeCombo.setModel(jComboBox1Model);
                        fileOrDirTypeCombo.setToolTipText("scan file or directory!");
                    }
                    {
                        addListToExecList = new JButton();
                        jPanel9.add(addListToExecList);
                        addListToExecList.setText("add list to file list");
                        addListToExecList.setPreferredSize(new java.awt.Dimension(158, 24));
                        addListToExecList.addActionListener(new ActionListener() {
                            public void actionPerformed(ActionEvent evt) {
                                swingUtil.invokeAction("addListToExecList.actionPerformed", evt);
                            }
                        });
                    }
                    {
                        ignoreScanText = new JTextField();
                        ignoreScanText.setToolTipText("ignore scan condition");
                        ignoreScanText.addMouseListener(new MouseAdapter() {
                            public void mouseClicked(MouseEvent evt) {
                                if (!JMouseEventUtil.buttonLeftClick(2, evt)) {
                                    return;
                                }
                                String ignore = null;
                                if (StringUtils.isBlank(ignore = ignoreScanText.getText())) {
                                    return;
                                }
                                DefaultListModel model = (DefaultListModel) ignoreScanList.getModel();
                                model.addElement(ignore);
                            }
                        });
                        jPanel9.add(ignoreScanText);
                        ignoreScanText.setPreferredSize(new java.awt.Dimension(153, 24));
                    }
                    {
                        jScrollPane5 = new JScrollPane();
                        jPanel9.add(jScrollPane5);
                        jScrollPane5.setPreferredSize(new java.awt.Dimension(125, 73));
                        jScrollPane5.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
                        jScrollPane5.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
                        {
                            DefaultListModel ignoreScanListModel = new DefaultListModel();
                            ignoreScanList = new JList();
                            ignoreScanList.setToolTipText("ignore scan condition list");
                            jScrollPane5.setViewportView(ignoreScanList);
                            ignoreScanList.setModel(ignoreScanListModel);
                            ignoreScanList.setPreferredSize(new java.awt.Dimension(125, 73));
                            ignoreScanList.addKeyListener(new KeyAdapter() {
                                public void keyPressed(KeyEvent evt) {
                                    JListUtil.newInstance(ignoreScanList).defaultJListKeyPressed(evt);
                                }
                            });
                        }
                    }
                    {
                        innerScannerText = new JTextField();
                        innerScannerText.setToolTipText("inner scan query condition");
                        jPanel9.add(innerScannerText);
                        innerScannerText.setPreferredSize(new java.awt.Dimension(164, 24));
                        innerScannerText.addMouseListener(new MouseAdapter() {

                            Thread innerScanThread = null;
                            boolean innerScanStop = false;

                            public void mouseClicked(MouseEvent evt) {
                                if (!JMouseEventUtil.buttonLeftClick(2, evt)) {
                                    return;
                                }
                                final String innerText = innerScannerText.getText();
                                if (arrayBackupForInnerScan == null) {
                                    return;
                                }

                                innerScanStop = true;

                                if (innerScanThread == null
                                        || innerScanThread.getState() == Thread.State.TERMINATED) {
                                    innerScanThread = new Thread(Thread.currentThread().getThreadGroup(),
                                            new Runnable() {
                                                public void run() {
                                                    innerScanStop = false;
                                                    System.out.println(
                                                            toString() + " ... start!! ==> " + innerScanStop);
                                                    DefaultListModel model = new DefaultListModel();
                                                    scanList.setModel(model);
                                                    for (int ii = 0; ii < arrayBackupForInnerScan.length; ii++) {
                                                        if (arrayBackupForInnerScan[ii].toString()
                                                                .contains(innerText)) {
                                                            model.addElement(arrayBackupForInnerScan[ii]);
                                                        }
                                                        if (innerScanStop) {
                                                            System.out.println(toString() + " ... over!! ==> "
                                                                    + innerScanStop);
                                                            break;
                                                        }
                                                    }
                                                    System.out.println(toString() + " ... run over!! ==> "
                                                            + innerScanStop);
                                                }
                                            }, "innerScanner_" + System.currentTimeMillis());
                                    innerScanThread.setDaemon(true);
                                    innerScanThread.start();
                                }
                            }
                        });
                    }
                }
                {
                    jScrollPane4 = new JScrollPane();
                    jPanel8.add(jScrollPane4, BorderLayout.CENTER);
                    {
                        DefaultListModel scanListModel = new DefaultListModel();
                        scanList = new JList();
                        jScrollPane4.setViewportView(scanList);
                        scanList.setModel(scanListModel);
                        scanList.addMouseListener(new MouseAdapter() {
                            public void mouseClicked(MouseEvent evt) {
                                swingUtil.invokeAction("scanList.mouseClicked", evt);
                            }
                        });
                        scanList.addKeyListener(new KeyAdapter() {
                            public void keyPressed(KeyEvent evt) {
                                swingUtil.invokeAction("scanList.keyPressed", evt);
                            }
                        });
                    }
                }
                {
                    scannerStatus = new JLabel();
                    jPanel8.add(scannerStatus, BorderLayout.SOUTH);
                    scannerStatus.setPreferredSize(new java.awt.Dimension(741, 27));
                }
            }
        }

        swingUtil.addAction("moveFiles.actionPerformed", new Action() {
            public void action(EventObject evt) throws Exception {
                DefaultListModel model = (DefaultListModel) execList.getModel();
                if (model.getSize() == 0 || execList.getSelectedValues().length == 0) {
                    JOptionPaneUtil.newInstance().iconErrorMessage()
                            .showMessageDialog("no selected file can move!", "ERROR");
                    return;
                }
                File exportListTo = FileUtil.getDefaultExportDir(ExecuteOpener.class, true);
                File file = null;
                List<File> list = new ArrayList<File>();
                for (Object obj : execList.getSelectedValues()) {
                    file = new File((String) obj);
                    if (file.exists() && file.isFile()) {
                        list.add(file);
                    }
                }
                File fromBaseDir = FileUtil.exportReceiveBaseDir(list);
                System.out.println("fromBaseDir = " + fromBaseDir);
                int cutLen = 0;
                if (fromBaseDir != null) {
                    cutLen = fromBaseDir.getAbsolutePath().length();
                }
                StringBuilder err = new StringBuilder();
                File newFile = null;
                for (Object obj : execList.getSelectedValues()) {
                    file = new File((String) obj);
                    if (file.exists() && file.isFile()) {
                        newFile = new File(exportListTo + "/" + file.getParent().substring(cutLen),
                                file.getName());
                        newFile.getParentFile().mkdirs();
                        System.out.println("move to : " + newFile);
                        file.renameTo(newFile);
                        if (!newFile.exists()) {
                            err.append(file + "\n");
                        }
                    }
                }
                if (err.length() > 0) {
                    JOptionPaneUtil.newInstance().iconErrorMessage()
                            .showMessageDialog("move file error : \n" + err, "ERROR");
                } else {
                    JOptionPaneUtil.newInstance().iconInformationMessage().showMessageDialog(
                            "move file success : " + execList.getSelectedValues().length, "SUCCESS");
                }
            }
        });
        swingUtil.addAction("deleteSelected.actionPerformed", new Action() {
            public void action(EventObject evt) throws Exception {
                StringBuilder sb = new StringBuilder();
                for (Object obj : execList.getSelectedValues()) {
                    sb.append(new File((String) obj).getName() + "\n");
                }
                if (JOptionPaneUtil.ComfirmDialogResult.YES_OK_OPTION != JOptionPaneUtil.newInstance()
                        .confirmButtonYesNo().iconWaringMessage()
                        .showConfirmDialog("are you sure delete file : \n" + sb, "DELETE")) {
                    return;
                }
                File file = null;
                sb = new StringBuilder();
                for (Object obj : execList.getSelectedValues()) {
                    file = new File((String) obj);
                    if (!file.exists()) {
                        continue;
                    }
                    if (file.isDirectory() && file.list().length == 0) {
                        if (!file.delete()) {
                            sb.append(file.getName() + "\n");
                        }
                        continue;
                    }
                    if (!file.delete()) {
                        sb.append(file.getName() + "\n");
                    }
                }
                if (sb.length() != 0) {
                    JOptionPaneUtil.newInstance().iconErrorMessage()
                            .showMessageDialog("delete error list :\n" + sb, "ERROR");
                } else {
                    JOptionPaneUtil.newInstance().iconPlainMessage().showMessageDialog("delete completed!",
                            "SUCCESS");
                }
            }
        });
        swingUtil.addAction("loadClipboardPath.actionPerformed", new Action() {
            public void action(EventObject evt) throws Exception {
                File file = new File(ClipboardUtil.getInstance().getContents());
                if (!file.exists()) {
                    return;
                }
                List<File> list = new ArrayList<File>();
                FileUtil.searchFileMatchs(file, ".*", list);
                prop.clear();
                for (File f : list) {
                    if (f.isFile()) {
                        prop.setProperty(f.getAbsolutePath(), "");
                    }
                }
                DefaultListModel model = new DefaultListModel();
                for (Object key : prop.keySet()) {
                    model.addElement(key);
                }
                execList.setModel(model);
            }
        });
        swingUtil.addAction("deleteEmptyDir.actionPerformed", new Action() {
            public void action(EventObject evt) throws Exception {
                File file = JFileChooserUtil.newInstance().selectDirectoryOnly().showOpenDialog()
                        .getApproveSelectedFile();
                if (file == null) {
                    JOptionPaneUtil.newInstance().iconErrorMessage().showMessageDialog("file is not correct!",
                            "ERROR");
                    return;
                }
                if (JOptionPaneUtil.ComfirmDialogResult.YES_OK_OPTION != JOptionPaneUtil.newInstance()
                        .iconWaringMessage().confirmButtonYesNo()
                        .showConfirmDialog("are you sure delete empty dir in \n" + file, "WARRNING")) {
                    return;
                }
                List<File> delDir = new ArrayList<File>();
                FileUtil.deleteEmptyDir(file, delDir);
                JOptionPaneUtil.newInstance().iconInformationMessage().showMessageDialog(
                        "delete dir list : \n" + delDir.toString().replace(',', '\n'), "DELETE");
            }
        });
        swingUtil.addAction("browser.actionPerformed", new Action() {
            public void action(EventObject evt) throws Exception {
                File file = JFileChooserUtil.newInstance().selectFileAndDirectory().showOpenDialog()
                        .getApproveSelectedFile();
                if (file != null) {
                    DefaultListModel model = (DefaultListModel) execList.getModel();
                    model.addElement(file.getAbsolutePath());
                }
            }
        });
        swingUtil.addAction("addArea.actionPerformed", new Action() {
            public void action(EventObject evt) throws Exception {
                if (StringUtils.isBlank(exeArea.getText())) {
                    return;
                }
                DefaultListModel model = (DefaultListModel) execList.getModel();
                StringTokenizer token = new StringTokenizer(exeArea.getText(), "\t\n\r\f");
                while (token.hasMoreElements()) {
                    String val = ((String) token.nextElement()).trim();
                    model.addElement(val);
                    prop.put(val, "");
                }
            }
        });
        swingUtil.addAction("execute.actionPerformed", new Action() {
            public void action(EventObject evt) throws Exception {
                DefaultListModel model = (DefaultListModel) execList.getModel();
                for (Enumeration<?> enu = model.elements(); enu.hasMoreElements();) {
                    String val = (String) enu.nextElement();
                    exec(val);
                }
            }
        });
        swingUtil.addAction("execList.keyPressed", new Action() {
            public void action(EventObject evt) throws Exception {
                JListUtil.newInstance(execList).defaultJListKeyPressed(evt);
            }
        });
        //DEFAULT PROP SAVE
        swingUtil.addAction("saveList.actionPerformed", new Action() {
            public void action(EventObject evt) throws Exception {
                String orignName = JOptionPaneUtil.newInstance().iconPlainMessage()
                        .showInputDialog("input properties file name", "SAVE");
                File saveFile = null;
                if (StringUtils.isNotBlank(orignName)) {
                    String fileName = orignName;
                    if (!fileName.toLowerCase().endsWith(".properties")) {
                        fileName += ".properties";
                    }
                    fileName = ExecuteOpener.class.getSimpleName() + "_" + fileName;
                    prop.clear();
                    DefaultListModel model = (DefaultListModel) execList.getModel();
                    for (Enumeration<?> enu = model.elements(); enu.hasMoreElements();) {
                        String val = (String) enu.nextElement();
                        prop.put(val, "");
                    }
                    saveFile = new File(jarPositionDir, fileName);
                } else {
                    saveFile = currentPropFile;
                }
                prop.store(new FileOutputStream(saveFile), orignName);
                JOptionPaneUtil.newInstance().iconPlainMessage().showMessageDialog(saveFile,
                        "PROPERTIES CREATE");
            }
        });
        swingUtil.addAction("clearExecList.actionPerformed", new Action() {
            public void action(EventObject evt) throws Exception {
                //                    prop.clear();
                //                    reloadExecListProperties(prop);
                execList.setModel(new DefaultListModel());
            }
        });
        swingUtil.addAction("execList.mouseClicked", new Action() {
            public void action(EventObject evt) throws Exception {
                // right button single click event
                if (JMouseEventUtil.buttonRightClick(1, evt)) {
                    JPopupMenuUtil popupUtil = JPopupMenuUtil.newInstance(execList).applyEvent(evt);

                    if (execList.getSelectedValues().length == 1) {
                        popupUtil.addJMenuItem(
                                JFileExecuteUtil.newInstance(new File((String) execList.getSelectedValues()[0]))
                                        .createDefaultJMenuItems());
                        popupUtil.addJMenuItem("----------------", false);
                    }

                    popupUtil.addJMenuItem("eclipse home", new ActionListener() {
                        public void actionPerformed(ActionEvent e) {
                            DefaultListModel model = (DefaultListModel) execList.getModel();
                            Object[] arry = model.toArray();
                            for (Object obj : arry) {
                                try {
                                    Runtime.getRuntime().exec(String.format("cmd /c call \"%s\" \"%s\"",
                                            "C:/?/eclipse_jee/eclipse.exe", obj));
                                } catch (IOException ex) {
                                    JCommonUtil.handleException(ex);
                                }
                            }
                        }
                    });
                    popupUtil.addJMenuItem("eclipse company", new ActionListener() {
                        public void actionPerformed(ActionEvent e) {
                            DefaultListModel model = (DefaultListModel) execList.getModel();
                            Object[] arry = model.toArray();
                            for (Object obj : arry) {
                                try {
                                    Runtime.getRuntime().exec(String.format("cmd /c call \"%s\" \"%s\"",
                                            "C:/?/iisi_eclipse/eclipse.exe", obj));
                                } catch (IOException ex) {
                                    JCommonUtil.handleException(ex);
                                }
                            }
                        }
                    });

                    popupUtil.addJMenuItem("----------------", false);

                    popupUtil//
                            .addJMenuItem("sort list", new ActionListener() {
                                public void actionPerformed(ActionEvent e) {
                                    DefaultListModel model = (DefaultListModel) execList.getModel();
                                    Object[] arry = model.toArray();
                                    Arrays.sort(arry);
                                    DefaultListModel model2 = new DefaultListModel();
                                    for (Object obj : arry) {
                                        model2.addElement(obj);
                                    }
                                    execList.setModel(model2);
                                }
                            }).addJMenuItem("keep exists", new ActionListener() {
                                public void actionPerformed(ActionEvent e) {
                                    DefaultListModel model = (DefaultListModel) execList.getModel();
                                    DefaultListModel model2 = new DefaultListModel();
                                    for (Object obj : model.toArray()) {
                                        if (new File((String) obj).exists()) {
                                            model2.addElement(obj);
                                        }
                                    }
                                    execList.setModel(model2);
                                }
                            }).addJMenuItem("remove duplicate", new ActionListener() {
                                public void actionPerformed(ActionEvent e) {
                                    DefaultListModel model = (DefaultListModel) execList.getModel();
                                    DefaultListModel model2 = new DefaultListModel();
                                    Set<String> set = new HashSet<String>();
                                    for (Object obj : model.toArray()) {
                                        set.add((String) obj);
                                    }
                                    for (String val : set) {
                                        model2.addElement(val);
                                    }
                                    execList.setModel(model2);
                                }
                            }).addJMenuItem("remove folder", new ActionListener() {
                                public void actionPerformed(ActionEvent e) {
                                    DefaultListModel model = (DefaultListModel) execList.getModel();
                                    for (int ii = 0; ii < model.getSize(); ii++) {
                                        if (new File((String) model.getElementAt(ii)).isDirectory()) {
                                            model.removeElementAt(ii);
                                            ii--;
                                        }
                                    }
                                }
                            }).addJMenuItem("remove empty folder", new ActionListener() {
                                public void actionPerformed(ActionEvent e) {
                                    DefaultListModel model = (DefaultListModel) execList.getModel();
                                    File dir = null;
                                    for (int ii = 0; ii < model.getSize(); ii++) {
                                        dir = new File((String) model.getElementAt(ii));
                                        if (dir.isDirectory() && dir.list().length == 0) {
                                            model.removeElementAt(ii);
                                            ii--;
                                        }
                                    }
                                }
                            }).addJMenuItem("----------------", false)
                            .addJMenuItem("diff left : " + (diffLeft != null ? diffLeft.getName() : ""), true,
                                    new ActionListener() {
                                        public void actionPerformed(ActionEvent arg0) {
                                            File value = new File(
                                                    (String) JListUtil.getLeadSelectionObject(execList));
                                            if (value != null && value.isFile() && value.exists()) {
                                                diffLeft = value;
                                            }
                                        }
                                    })
                            .addJMenuItem("diff right : " + (diffRight != null ? diffRight.getName() : ""),
                                    true, new ActionListener() {
                                        public void actionPerformed(ActionEvent arg0) {
                                            File value = new File(
                                                    (String) JListUtil.getLeadSelectionObject(execList));
                                            if (value != null && value.isFile() && value.exists()) {
                                                diffRight = value;
                                            }
                                        }
                                    })
                            .addJMenuItem((diffLeft != null && diffRight != null) ? "diff compare" : "",
                                    (diffLeft != null && diffRight != null), new ActionListener() {
                                        public void actionPerformed(ActionEvent arg0) {
                                            try {
                                                Runtime.getRuntime().exec(String.format(
                                                        "cmd /c call TortoiseMerge.exe /base:\"%s\" /theirs:\"%s\"",
                                                        diffLeft, diffRight));
                                            } catch (IOException ex) {
                                                JCommonUtil.handleException(ex);
                                            }
                                        }
                                    })
                            .addJMenuItem((execList.getSelectedValues().length == 2) ? "diff compare" : "",
                                    (execList.getSelectedValues().length == 2), new ActionListener() {
                                        public void actionPerformed(ActionEvent arg0) {
                                            try {
                                                Runtime.getRuntime().exec(String.format(
                                                        "cmd /c call TortoiseMerge.exe /base:\"%s\" /theirs:\"%s\"",
                                                        execList.getSelectedValues()[0],
                                                        execList.getSelectedValues()[1]));
                                            } catch (IOException ex) {
                                                JCommonUtil.handleException(ex);
                                            }
                                        }
                                    })
                            .addJMenuItem("----------------", false)//
                            .show();//
                }

                // left button double click event 
                int pos = execList.getLeadSelectionIndex();
                if (pos == -1) {
                    return;
                }
                if (((MouseEvent) evt).getClickCount() < 2) {
                    return;
                }
                DefaultListModel model = (DefaultListModel) execList.getModel();
                String val = (String) model.getElementAt(pos);
                exec(val);
            }
        });
        swingUtil.addAction("loadProp.actionPerformed", new Action() {
            public void action(EventObject evt) throws Exception {
                File file = JFileChooserUtil.newInstance().selectFileOnly().showOpenDialog()
                        .getApproveSelectedFile();
                if (file == null) {
                    JOptionPaneUtil.newInstance().iconErrorMessage().showMessageDialog("file not correct!",
                            "ERROR");
                    return;
                }
                reloadExecListProperties(file);
                setTitle("load prop : " + file.getName());
            }
        });
        swingUtil.addAction("reloadList.actionPerformed", new Action() {
            public void action(EventObject evt) throws Exception {
                reloadExecListProperties(prop);
            }
        });
        swingUtil.addAction("exportListHasOrignTree.actionPerformed", new Action() {
            public void action(EventObject evt) throws Exception {
                DefaultListModel model = (DefaultListModel) execList.getModel();
                if (model.isEmpty()) {
                    JOptionPaneUtil.newInstance().iconErrorMessage().showMessageDialog("no file can export!",
                            "ERROR");
                    return;
                }
                List<File> allList = new ArrayList<File>();
                for (int ii = 0; ii < model.getSize(); ii++) {
                    allList.add(new File((String) model.getElementAt(ii)));
                }
                File baseDir = FileUtil.exportReceiveBaseDir(allList);
                System.out.println("common base dir : " + baseDir);
                boolean dynamicBaseDir = baseDir == null;

                File tmp = null;
                File copyTo = null;
                int realCopyCount = 0;

                File exportListTo = FileUtil.getDefaultExportDir(ExecuteOpener.class, true);
                for (int ii = 0; ii < model.getSize(); ii++) {
                    String val = (String) model.getElementAt(ii);
                    if (StringUtils.isBlank(val)) {
                        continue;
                    }
                    tmp = new File(val);
                    if (tmp.isDirectory()) {
                        continue;
                    }
                    File copyFrom = getCorrectFile(tmp);
                    if (dynamicBaseDir) {
                        baseDir = FileUtil.getRoot(copyFrom);
                    }
                    copyTo = FileUtil.exportFileToTargetPath(copyFrom, baseDir, exportListTo);
                    if (!copyTo.getParentFile().exists()) {
                        copyTo.getParentFile().mkdirs();
                    }
                    System.out.println("## file : " + tmp + " -- > " + copyFrom);
                    System.out.println("\t copy to : " + copyTo);
                    FileUtil.copyFile(copyFrom, copyTo);
                    realCopyCount++;
                }
                JOptionPaneUtil.newInstance().iconInformationMessage().showMessageDialog(
                        "copy completed!\ntotal : " + model.getSize() + "\ncopy : " + realCopyCount, "SUCCESS");
            }
        });
        swingUtil.addAction("executeExport.actionPerformed", new Action() {
            public void action(EventObject evt) throws Exception {
                DefaultListModel model = (DefaultListModel) execList.getModel();
                if (model.isEmpty()) {
                    JOptionPaneUtil.newInstance().iconErrorMessage().showMessageDialog("no file can export!",
                            "ERROR");
                    return;
                }
                File tmp = null;
                File copyTo = null;
                int realCopyCount = 0;
                File exportListTo = FileUtil.getDefaultExportDir(ExecuteOpener.class, true);
                BufferedWriter writer = new BufferedWriter(
                        new OutputStreamWriter(new FileOutputStream(exportListTo + "/output_log.txt"), "BIG5"));
                for (int ii = 0; ii < model.getSize(); ii++) {
                    String val = (String) model.getElementAt(ii);
                    if (StringUtils.isBlank(val)) {
                        continue;
                    }
                    tmp = new File(val);
                    if (tmp.isDirectory()) {
                        continue;
                    }
                    if (isNeedToCopy(exportListTo, tmp)) {
                        File copyFrom = getCorrectFile(tmp);
                        System.out.println("## file : " + tmp + " -- > " + copyFrom);
                        copyTo = new File(exportListTo, copyFrom.getName());
                        for (int jj = 0; copyTo.exists(); jj++) {
                            String name = copyFrom.getName();
                            int pos = name.lastIndexOf(".");
                            String prefix = name.substring(0, pos);
                            String rearfix = name.substring(pos);
                            copyTo = new File(exportListTo, prefix + "_R" + jj + rearfix);
                        }
                        FileUtil.copyFile(copyFrom, copyTo);
                        writer.write(tmp.getAbsolutePath()
                                + (!tmp.getName().equals(copyTo.getName()) ? "\t [rename] : " + copyTo.getName()
                                        : ""));
                        realCopyCount++;
                    } else {
                        writer.write(tmp.getAbsolutePath() + "\t [has same file, ommit!]");
                    }
                    writer.newLine();
                }
                writer.flush();
                writer.close();
                JOptionPaneUtil.newInstance().iconInformationMessage().showMessageDialog(
                        "copy completed!\ntotal : " + model.getSize() + "\ncopy : " + realCopyCount, "SUCCESS");
            }
        });
        swingUtil.addAction("jTabbedPane1.mouseClicked", new Action() {
            public void action(EventObject evt) throws Exception {
                if (!JMouseEventUtil.buttonLeftClick(2, evt)) {
                    return;
                }
                File file = new File(getTitle());
                if (file.exists()) {
                    JOptionPaneUtil.newInstance().iconPlainMessage().showMessageDialog(file,
                            "current properties");
                }
                ClipboardUtil.getInstance().setContents(file);
            }
        });
        swingUtil.addAction("propertiesList.mouseClicked", new Action() {
            public void action(EventObject evt) throws Exception {
                File file = (File) propertiesList.getSelectedValue();
                JPopupMenuUtil.newInstance(propertiesList).applyEvent(evt)
                        .addJMenuItem("reload list", new ActionListener() {
                            public void actionPerformed(ActionEvent paramActionEvent) {
                                reloadCurrentDirPropertiesList();
                            }
                        }).addJMenuItem(JFileExecuteUtil.newInstance(file).createDefaultJMenuItems()).show();
                if (file == null) {
                    return;
                }
                if (!JMouseEventUtil.buttonLeftClick(2, evt)) {
                    return;
                }
                prop.clear();
                prop.load(new FileInputStream(file));
                currentPropFile = file;
                reloadExecListProperties(prop);
                setTitle("properties : " + file.getName());
            }
        });
        swingUtil.addAction("propertiesList.keyPressed", new Action() {
            public void action(EventObject evt) throws Exception {
                if (!JMouseEventUtil.buttonLeftClick(2, evt)) {
                    return;
                }
                JListUtil.newInstance(propertiesList).defaultJListKeyPressed(evt);
            }
        });
        swingUtil.addAction("jTabbedPane1.stateChanged", new Action() {
            public void action(EventObject evt) throws Exception {
                if (jTabbedPane1.getSelectedIndex() == 2) {
                    reloadCurrentDirPropertiesList();
                }
            }
        });
        swingUtil.addAction("scanList.keyPressed", new Action() {
            public void action(EventObject evt) throws Exception {
                JListUtil.newInstance(scanList).defaultJListKeyPressed(evt);
            }
        });
        swingUtil.addAction("scanList.mouseClicked", new Action() {
            public void action(EventObject evt) throws Exception {
                System.out.println("index = " + scanList.getLeadSelectionIndex());
                final Object[] vals = scanList.getSelectedValues();
                if (vals == null || vals.length == 0) {
                    return;
                }
                JPopupMenuUtil.newInstance(scanList).applyEvent(evt)
                        .addJMenuItem("add to file list : " + vals.length, new ActionListener() {
                            public void actionPerformed(ActionEvent arg0) {
                                File file = null;
                                DefaultListModel model = (DefaultListModel) execList.getModel();
                                for (Object v : vals) {
                                    file = (File) v;
                                    model.addElement(file.getAbsolutePath());
                                }
                            }
                        }).show();
            }
        });
        swingUtil.addAction("fileScan.actionPerformed", new Action() {

            Thread scanMainThread = null;

            public void action(EventObject evt) throws Exception {
                String scanText_ = scannerText.getText();
                final boolean anyFileMatch = StringUtils.isEmpty(scanText_);
                final String scanText = anyFileMatch ? UUID.randomUUID().toString() : scanText_;
                final FileOrDirType fileOrDirType = (FileOrDirType) fileOrDirTypeCombo.getSelectedItem();

                String scanDir_ = scanDirText.getText();
                final File scanDir = new File(scanDir_);
                if (StringUtils.isEmpty(scanDir_)) {
                    JOptionPaneUtil.newInstance().iconErrorMessage()
                            .showMessageDialog("scan dir text can't empty!", "ERROR");
                    return;
                }
                if (!scanDir.exists()) {
                    JOptionPaneUtil.newInstance().iconErrorMessage().showMessageDialog("directory is't exists!",
                            "ERROR");
                    return;
                }

                Object[] igArry_ = ((DefaultListModel) ignoreScanList.getModel()).toArray();
                final String[] igArry = new String[igArry_.length];
                for (int ii = 0; ii < igArry.length; ii++) {
                    igArry[ii] = (String) igArry_[ii];
                }
                final boolean ignoreCheck = igArry.length > 0;

                final DefaultListModel model = new DefaultListModel();

                final StringTokenizer tok = new StringTokenizer(scanText);

                if (scanMainThread == null || scanMainThread.getState() == Thread.State.TERMINATED) {
                    scanMainThread = new Thread(Thread.currentThread().getThreadGroup(), new Runnable() {

                        ScanType scanTp;

                        public void run() {
                            currentScannerThreadStop = false;
                            final long startTime = System.currentTimeMillis();
                            scanTp = (ScanType) scanType.getSelectedItem();

                            List<Thread> threadList = new ArrayList<Thread>();
                            final Map<String, Integer> matchCountMap = new HashMap<String, Integer>();
                            for (; tok.hasMoreElements();) {
                                final String scanVal = (String) tok.nextElement();
                                System.out.println("add scan condition = " + scanVal);

                                Pattern ppp = null;
                                try {
                                    ppp = Pattern.compile(scanVal);
                                } catch (Exception ex) {
                                    System.out.println(ex);
                                }

                                final Pattern scanTextPattern = ppp;

                                Thread currentScannerThread = new Thread(
                                        Thread.currentThread().getThreadGroup(), new Runnable() {

                                            int matchCount = 0;

                                            void addElement(File file) {
                                                if (scanTp.filter(anyFileMatch, scanVal, scanTextPattern, file,
                                                        ignoreCheck, igArry)) {
                                                    for (int ii = 0;; ii++) {
                                                        try {
                                                            model.addElement(file);
                                                            matchCount++;
                                                            break;
                                                        } catch (Exception ex) {
                                                            System.err.println(
                                                                    file + ", error occor !!! ==> " + ex);
                                                            if (ii > 10) {
                                                                break;
                                                            }
                                                        }
                                                    }
                                                }
                                            }

                                            void find(File file) {
                                                if (currentScannerThreadStop) {
                                                    return;
                                                }
                                                if (file == null || !file.exists()) {
                                                    System.out
                                                            .println("file == null || !file.exists()\t" + file);
                                                    return;
                                                }
                                                scannerStatus.setText(
                                                        model.getSize() + " : " + file.getAbsolutePath());
                                                if (file.isDirectory()) {
                                                    if (file.listFiles() != null) {
                                                        for (File f : file.listFiles()) {
                                                            find(f);
                                                        }
                                                    } else {
                                                        System.out
                                                                .println("file.listFiles() == null!!\t" + file);
                                                    }
                                                    switch (fileOrDirType) {
                                                    case DIRECTORY_ONLY:
                                                        addElement(file);
                                                        break;
                                                    case ALL:
                                                        addElement(file);
                                                        break;
                                                    }
                                                }
                                                if (file.isFile()) {
                                                    switch (fileOrDirType) {
                                                    case FILE_ONLY:
                                                        addElement(file);
                                                        break;
                                                    case ALL:
                                                        addElement(file);
                                                        break;
                                                    }
                                                }
                                            }

                                            public void run() {
                                                find(scanDir);
                                                matchCountMap.put(scanVal, matchCount);
                                            }
                                        }, "file_scann_" + System.currentTimeMillis());
                                currentScannerThread.setDaemon(true);
                                currentScannerThread.start();
                                threadList.add(currentScannerThread);
                            }

                            for (;;) {
                                try {
                                    Thread.sleep(1000);
                                    boolean allTerminated = true;
                                    for (int ii = 0; ii < threadList.size(); ii++) {
                                        if (threadList.get(ii).getState() != Thread.State.TERMINATED) {
                                            allTerminated = false;
                                            break;
                                        }
                                    }
                                    if (allTerminated) {
                                        System.out.println("all done...");
                                        break;
                                    }
                                } catch (InterruptedException e) {
                                    JCommonUtil.handleException(e);
                                }
                            }

                            long endTime = System.currentTimeMillis() - startTime;

                            String status = "scan completed \n during :" + endTime + "\n file : "
                                    + model.getSize() + "\n \tResult : \n " + matchCountMap;
                            JOptionPaneUtil.newInstance().iconPlainMessage().showMessageDialog(status,
                                    "COMPLETED");
                            scannerStatus.setText(status);
                            scanList.setModel(model);

                            arrayBackupForInnerScan = ((DefaultListModel) scanList.getModel()).toArray();

                            currentScannerThreadStop = false;
                        }
                    }, "file_scann_main_" + System.currentTimeMillis());
                    scanMainThread.setDaemon(true);
                    scanMainThread.start();
                } else {
                    if (JCommonUtil._JOptionPane_showConfirmDialog_yesNoOption(
                            "scanner is running \n want to stop??", "WARNING")) {
                        currentScannerThreadStop = true;
                    }
                }
            }
        });
        swingUtil.addAction("scanDirText.mouseClicked", new Action() {
            public void action(EventObject evt) throws Exception {
                if (!JMouseEventUtil.buttonLeftClick(2, evt)) {
                    return;
                }
                File dir = JFileChooserUtil.newInstance().selectDirectoryOnly().showOpenDialog()
                        .getApproveSelectedFile();
                if (dir == null) {
                    return;
                }
                scanDirText.setText(dir.getAbsolutePath());
            }
        });
        swingUtil.addAction("addListToExecList.actionPerformed", new Action() {

            Thread moveThread = null;

            public void action(EventObject evt) throws Exception {
                if (moveThread != null && moveThread.getState() != Thread.State.TERMINATED) {
                    JCommonUtil._jOptionPane_showMessageDialog_error("add list process already running!");
                    return;
                }
                moveThread = new Thread(Thread.currentThread().getThreadGroup(), new Runnable() {
                    public void run() {
                        DefaultListModel model = (DefaultListModel) scanList.getModel();
                        DefaultListModel model2 = (DefaultListModel) execList.getModel();
                        for (int ii = 0; ii < model.getSize(); ii++) {
                            File f = (File) model.getElementAt(ii);
                            model2.addElement(f.getAbsolutePath());
                        }
                        if (model.getSize() > 1000) {
                            JCommonUtil._jOptionPane_showMessageDialog_info(
                                    "add list completed!\n" + model.getSize());
                        }
                    }
                }, "addListToExecList.actionPerformed_" + System.currentTimeMillis());
                moveThread.setDaemon(true);
                moveThread.start();
            }
        });
        swingUtil.addAction("openSvnUpdate.actionPerformed", new Action() {

            Pattern svnPattern = Pattern.compile("^(?:[M|\\?])\\s+\\d*\\s+(.+)$");

            Thread svnThread = null;

            public void action(EventObject evt) throws Exception {
                if (svnThread != null && svnThread.getState() != Thread.State.TERMINATED) {
                    JCommonUtil._jOptionPane_showMessageDialog_error("svn scan process already running!");
                    return;
                }
                final File svnDir = JCommonUtil._jFileChooser_selectDirectoryOnly();
                if (svnDir == null) {
                    JCommonUtil._jOptionPane_showMessageDialog_error("dir is not correct!");
                    return;
                }

                svnThread = new Thread(Thread.currentThread().getThreadGroup(), new Runnable() {
                    public void run() {
                        try {
                            Process process = Runtime.getRuntime()
                                    .exec(String.format("svn status -u \"%s\"", svnDir));
                            BufferedReader reader = new BufferedReader(
                                    new InputStreamReader(process.getInputStream()));
                            Matcher matcher = null;
                            File file = null;
                            DefaultListModel model = new DefaultListModel();
                            List<File> scanList = new ArrayList<File>();
                            for (String line = null; (line = reader.readLine()) != null;) {
                                matcher = svnPattern.matcher(line);
                                if (matcher.find()) {
                                    file = new File(matcher.group(1));
                                    if (file.isFile()) {
                                        model.addElement(file.getAbsolutePath());
                                    }
                                    if (file.isDirectory()) {
                                        scanList.clear();
                                        FileUtil.searchFileMatchs(file, ".*", scanList);
                                        for (File f : scanList) {
                                            model.addElement(f.getAbsolutePath());
                                        }
                                    }
                                } else {
                                    System.out.println("ignore : [" + line + "]");
                                }
                            }
                            reader.close();
                            execList.setModel(model);
                            setTitle("svn : " + svnDir);

                            JCommonUtil._jOptionPane_showMessageDialog_info("svn scan completed!");
                        } catch (IOException e) {
                            JCommonUtil.handleException(e);
                        }
                    }
                }, "svn_scan" + System.currentTimeMillis());
                svnThread.setDaemon(true);
                svnThread.start();
            }
        });
        swingUtil.addAction("contentFilterBtn.actionPerformed", new Action() {
            Thread thread = null;
            String encode = Charset.defaultCharset().displayName();

            public void action(EventObject evt) throws Exception {
                if (thread != null && thread.getState() != Thread.State.TERMINATED) {
                    JCommonUtil._jOptionPane_showMessageDialog_error("scan process already running!");
                    return;
                }

                final String filter = JCommonUtil._jOptionPane_showInputDialog("input filter content?");
                if (StringUtils.isEmpty(filter)) {
                    JCommonUtil._jOptionPane_showMessageDialog_error("filter is empty!");
                    return;
                }

                Pattern tmpPattern = null;
                try {
                    tmpPattern = Pattern.compile(filter);
                } catch (Exception ex) {
                }
                final Pattern filterPattern = tmpPattern;

                try {
                    encode = JCommonUtil._jOptionPane_showInputDialog("input encode?", encode);
                } catch (Exception ex) {
                    JCommonUtil._jOptionPane_showMessageDialog_error("error encode!");
                    return;
                }

                thread = new Thread(Thread.currentThread().getThreadGroup(), new Runnable() {
                    public void run() {
                        DefaultListModel model = (DefaultListModel) execList.getModel();
                        DefaultListModel model_ = new DefaultListModel();
                        File file = null;
                        BufferedReader reader = null;
                        for (int ii = 0; ii < model.getSize(); ii++) {
                            file = new File((String) model.getElementAt(ii));
                            if (!file.exists()) {
                                continue;
                            }
                            try {
                                reader = new BufferedReader(
                                        new InputStreamReader(new FileInputStream(file), encode));
                                for (String line = null; (line = reader.readLine()) != null;) {
                                    if (line.contains(filter)) {
                                        model_.addElement(file.getAbsolutePath());
                                        break;
                                    }
                                    if (filterPattern != null && filterPattern.matcher(line).find()) {
                                        model_.addElement(file.getAbsolutePath());
                                        break;
                                    }
                                }
                                reader.close();
                            } catch (Exception e) {
                                JCommonUtil.handleException(e);
                            }
                        }
                        execList.setModel(model_);
                        JCommonUtil._jOptionPane_showMessageDialog_info("completed!");
                    }
                }, UUID.randomUUID().toString());
                thread.setDaemon(true);
                thread.start();
            }
        });
        swingUtil.addAction("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", new Action() {
            public void action(EventObject evt) throws Exception {
            }
        });

        this.setSize(870, 551);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:Visuals.RingChart.java

public JPanel addDefenceCharts() {
    lowValue = "Low (" + low + ")";
    ChartPanel ringPanel = drawRingChart();
    ringPanel.setDomainZoomable(true);//w  ww  .  ja  v  a  2 s  .  co  m
    JPanel thisRingPanel = new JPanel();
    thisRingPanel.setLayout(new BorderLayout());
    String[][] finalRisks = new String[riskCount][4];
    for (int i = 0; i < riskCount; i++) {
        finalRisks[i][0] = risks[i][0];
        finalRisks[i][1] = risks[i][1];
        finalRisks[i][2] = risks[i][2];
        finalRisks[i][3] = risks[i][3];
    }

    JTable table = new JTable(finalRisks, networkDefenceColumns);
    TableColumn tcol = table.getColumnModel().getColumn(2);
    table.removeColumn(tcol);
    table.setEnabled(false);

    table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

    int width = 0;
    for (int row = 0; row < table.getRowCount(); row++) {
        TableCellRenderer renderer = table.getCellRenderer(row, 1);
        Component comp = table.prepareRenderer(renderer, row, 1);
        width = Math.max(comp.getPreferredSize().width, width);
    }

    table.getColumnModel().getColumn(1).setPreferredWidth(width);

    width = 0;
    for (int row = 0; row < table.getRowCount(); row++) {
        TableCellRenderer renderer = table.getCellRenderer(row, 2);
        Component comp = table.prepareRenderer(renderer, row, 2);
        width = Math.max(comp.getPreferredSize().width, width);
    }

    table.getColumnModel().getColumn(2).setPreferredWidth(width);
    table.setShowHorizontalLines(true);
    table.setRowHeight(40);

    JScrollPane tableScrollPane = new JScrollPane(table, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
            JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);

    Dimension d = table.getPreferredSize();
    tableScrollPane
            .setPreferredSize(new Dimension((d.width - 400), (table.getRowHeight() + 1) * (riskCount + 1)));

    JLabel right = new JLabel(
            "                                                                                                    ");
    thisRingPanel.add(right, BorderLayout.EAST);
    thisRingPanel.add(ringPanel, BorderLayout.CENTER);
    thisRingPanel.add(tableScrollPane, BorderLayout.SOUTH);
    return thisRingPanel;
}

From source file:net.sf.jabref.gui.plaintextimport.TextInputDialog.java

private void initRawPanel() {
    rawPanel.setLayout(new BorderLayout());

    // Textarea//from   www  .  j a v  a 2s  .com
    textPane.setEditable(false);

    document = textPane.getStyledDocument();
    addStylesToDocument();

    try {
        document.insertString(0, "", document.getStyle("regular"));
    } catch (BadLocationException ex) {
        LOGGER.warn("Problem setting style", ex);

    }

    OverlayPanel testPanel = new OverlayPanel(textPane, Localization.lang("paste text here"));

    testPanel.setPreferredSize(new Dimension(450, 255));
    testPanel.setMaximumSize(new Dimension(450, Integer.MAX_VALUE));

    // Setup fields (required to be done before setting up popup menu)
    fieldList = new JList<>(getAllFields());
    fieldList.setCellRenderer(new SimpleCellRenderer(fieldList.getFont()));
    ListSelectionModel listSelectionModel = fieldList.getSelectionModel();
    listSelectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    listSelectionModel.addListSelectionListener(new FieldListSelectionHandler());
    fieldList.addMouseListener(new FieldListMouseListener());

    // After the call to getAllFields
    initPopupMenuAndToolbar();

    //Add listener to components that can bring up popup menus.
    MouseListener popupListener = new PopupListener(inputMenu);
    textPane.addMouseListener(popupListener);
    testPanel.addMouseListener(popupListener);

    JPanel leftPanel = new JPanel(new BorderLayout());

    leftPanel.add(toolBar, BorderLayout.NORTH);
    leftPanel.add(testPanel, BorderLayout.CENTER);

    JPanel inputPanel = setUpFieldListPanel();

    // parse with FreeCite button
    parseWithFreeCiteButton.addActionListener(event -> {
        if (parseWithFreeCiteAndAddEntries()) {
            okPressed = false; // we do not want to have the super method to handle our entries, we do it on our own
            dispose();
        }
    });

    rawPanel.add(leftPanel, BorderLayout.CENTER);
    rawPanel.add(inputPanel, BorderLayout.EAST);

    JLabel desc = new JLabel("<html><h3>" + Localization.lang("Plain text import") + "</h3><p>"
            + Localization.lang("This is a simple copy and paste dialog. First load or paste some text into "
                    + "the text input area.<br>After that, you can mark text and assign it to a BibTeX field.")
            + "</p></html>");
    desc.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));

    rawPanel.add(desc, BorderLayout.SOUTH);
}