Example usage for javax.swing.filechooser FileSystemView getFileSystemView

List of usage examples for javax.swing.filechooser FileSystemView getFileSystemView

Introduction

In this page you can find the example usage for javax.swing.filechooser FileSystemView getFileSystemView.

Prototype

public static FileSystemView getFileSystemView() 

Source Link

Document

Returns the file system view.

Usage

From source file:ffx.ui.MainPanel.java

/**
 * <p>/* w w w  .  j  ava2s .c o m*/
 * initialize</p>
 */
public void initialize() {
    if (init) {
        return;
    }
    init = true;
    String dir = System.getProperty("user.dir",
            FileSystemView.getFileSystemView().getDefaultDirectory().getAbsolutePath());
    setCWD(new File(dir));
    locale = new FFXLocale("en", "US");
    JDialog splashScreen = null;
    ClassLoader loader = getClass().getClassLoader();
    if (!GraphicsEnvironment.isHeadless()) {
        // Splash Screen
        JFrame.setDefaultLookAndFeelDecorated(true);
        splashScreen = new JDialog(frame, false);
        ImageIcon logo = new ImageIcon(loader.getResource("ffx/ui/icons/splash.png"));
        JLabel ffxLabel = new JLabel(logo);
        ffxLabel.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.RAISED));
        Container contentpane = splashScreen.getContentPane();
        contentpane.setLayout(new BorderLayout());
        contentpane.add(ffxLabel, BorderLayout.CENTER);
        splashScreen.setUndecorated(true);
        splashScreen.pack();
        Dimension screenDimension = getToolkit().getScreenSize();
        Dimension splashDimension = splashScreen.getSize();
        splashScreen.setLocation((screenDimension.width - splashDimension.width) / 2,
                (screenDimension.height - splashDimension.height) / 2);
        splashScreen.setResizable(false);
        splashScreen.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
        splashScreen.setVisible(true);
        // Make all pop-up Menus Heavyweight so they play nicely with Java3D
        JPopupMenu.setDefaultLightWeightPopupEnabled(false);
    }
    // Create the Root Node
    dataRoot = new MSRoot();
    Border bb = BorderFactory.createEtchedBorder(EtchedBorder.RAISED);
    statusLabel = new JLabel("  ");
    JLabel stepLabel = new JLabel("  ");
    stepLabel.setHorizontalAlignment(JLabel.RIGHT);
    JLabel energyLabel = new JLabel("  ");
    energyLabel.setHorizontalAlignment(JLabel.RIGHT);
    JPanel statusPanel = new JPanel(new GridLayout(1, 3));
    statusPanel.setBorder(bb);
    statusPanel.add(statusLabel);
    statusPanel.add(stepLabel);
    statusPanel.add(energyLabel);
    if (!GraphicsEnvironment.isHeadless()) {
        GraphicsConfigTemplate3D template3D = new GraphicsConfigTemplate3D();
        template3D.setDoubleBuffer(GraphicsConfigTemplate.PREFERRED);
        GraphicsConfiguration gc = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice()
                .getBestConfiguration(template3D);
        graphicsCanvas = new GraphicsCanvas(gc, this);
        graphicsPanel = new GraphicsPanel(graphicsCanvas, statusPanel);
    }
    // Initialize various Panels
    hierarchy = new Hierarchy(this);
    hierarchy.setStatus(statusLabel, stepLabel, energyLabel);
    keywordPanel = new KeywordPanel(this);
    modelingPanel = new ModelingPanel(this);
    JPanel treePane = new JPanel(new BorderLayout());
    JScrollPane scrollPane = new JScrollPane(hierarchy, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
            JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
    treePane.add(scrollPane, BorderLayout.CENTER);
    tabbedPane = new JTabbedPane();

    ImageIcon graphicsIcon = new ImageIcon(loader.getResource("ffx/ui/icons/monitor.png"));
    ImageIcon keywordIcon = new ImageIcon(loader.getResource("ffx/ui/icons/key.png"));
    ImageIcon modelingIcon = new ImageIcon(loader.getResource("ffx/ui/icons/cog.png"));
    tabbedPane.addTab(locale.getValue("Graphics"), graphicsIcon, graphicsPanel);
    tabbedPane.addTab(locale.getValue("KeywordEditor"), keywordIcon, keywordPanel);
    tabbedPane.addTab(locale.getValue("ModelingCommands"), modelingIcon, modelingPanel);
    tabbedPane.addChangeListener(this);
    splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, false, treePane, tabbedPane);

    /* splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, false,
     treePane, graphicsPanel); */
    splitPane.setResizeWeight(0.25);
    splitPane.setOneTouchExpandable(true);
    setLayout(new BorderLayout());
    add(splitPane, BorderLayout.CENTER);
    if (!GraphicsEnvironment.isHeadless()) {
        mainMenu = new MainMenu(this);
        add(mainMenu.getToolBar(), BorderLayout.NORTH);
        getModelingShell();
        loadPrefs();
        SwingUtilities.updateComponentTreeUI(SwingUtilities.getRoot(this));
        splashScreen.dispose();
    }
}

From source file:base.BasePlayer.Main.java

public void openPleiades(String pleiadesurl) {
    boolean bamonly = false;
    String pleiades = pleiadesurl.trim();
    if (pleiades.toLowerCase().startsWith("bam")) {
        bamonly = true;/*w  w  w . j av  a 2 s . co  m*/
        pleiades = pleiades.replace("bam", "").trim();
    }

    if (pleiades.contains("`")) {
        pleiades.replace("`", "?");
    }
    if (pleiades.contains(" ")) {
        pleiades.replace(" ", "%20");
    }
    if (pleiades.contains("pleiades")) {
        try {
            URL url = new URL(pleiadesurl.trim());
            //System.out.println(Main.chooserText);
            HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
            httpConn.connect();

            int responseCode = httpConn.getResponseCode();

            if (responseCode == HttpsURLConnection.HTTP_OK) {

                String loading = drawCanvas.loadingtext;
                InputStream inputStream = httpConn.getInputStream();
                BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
                Main.drawCanvas.loadingtext = loading + " 0MB";
                String line;
                StringBuffer buffer = new StringBuffer("");
                while ((line = reader.readLine()) != null) {

                    buffer.append(line);

                }
                inputStream.close();
                reader.close();
                String split2;
                String[] split = buffer.toString().split("dataUnit");
                String location;
                ArrayList<File> array = new ArrayList<File>();
                File[] paths;
                FileSystemView fsv = FileSystemView.getFileSystemView();
                paths = File.listRoots();
                String loc = "/mnt";
                boolean missingfiles = false;
                for (File path : paths) {
                    if (fsv.getSystemDisplayName(path).contains("merit")) {
                        loc = path.getCanonicalPath();
                    }
                }

                for (int i = 0; i < split.length; i++) {

                    if (!split[i].contains("lastLocation")) {

                        continue;
                    }

                    split2 = split[i].split("\"lastLocation\":\"")[1];
                    location = split2.substring(0, split2.indexOf("\"}"));
                    String filename = "";
                    String testloc = location.replace("/mnt", loc) + "/wgspipeline/";
                    File testDir = new File(testloc);
                    if (testDir.exists() && testDir.isDirectory()) {
                        if (bamonly) {
                            File[] addDir = testDir.listFiles(new FilenameFilter() {
                                public boolean accept(File dir, String name) {
                                    return name.toLowerCase().endsWith(".bam")
                                            || name.toLowerCase().endsWith(".cram");
                                }
                            });
                            if (addDir.length > 0) {
                                filename = addDir[0].getName();
                            }
                        } else {
                            File[] addDir = testDir.listFiles(new FilenameFilter() {
                                public boolean accept(File dir, String name) {
                                    return name.toLowerCase().endsWith(".vcf.gz");
                                }
                            });
                            if (addDir.length > 0) {
                                filename = addDir[0].getName();
                            }
                        }
                    }

                    location = testloc + "/" + filename;

                    if (!new File(location).exists()) {

                        if (!new File(location).exists()) {
                            missingfiles = true;
                            ErrorLog.addError("No sample files found in " + testloc);

                        } else {
                            array.add(new File(location));
                        }
                    } else {

                        array.add(new File(location));
                    }
                }

                File[] files = new File[array.size()];
                for (int i = 0; i < files.length; i++) {

                    files[i] = array.get(i);
                }
                FileRead filereader = new FileRead(files);
                filereader.start = (int) drawCanvas.selectedSplit.start;
                filereader.end = (int) drawCanvas.selectedSplit.end;
                if (bamonly) {
                    filereader.readBAM = true;
                } else {
                    filereader.readVCF = true;
                }
                filereader.execute();
                if (missingfiles) {
                    JOptionPane.showMessageDialog(Main.drawScroll, "Missing files. Check Tools->View log",
                            "Note", JOptionPane.INFORMATION_MESSAGE);
                }

            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    return;

}

From source file:mondrian.gui.Workbench.java

private void newSchemaMenuItemActionPerformed(ActionEvent evt) {
    MondrianProperties.instance();//w  ww  .ja  va 2 s.com
    // User's default directory. This default depends on the operating
    // system.  It is typically the "My Documents" folder on Windows, and
    // the user's home directory on Unix.
    File defaultDir = FileSystemView.getFileSystemView().getDefaultDirectory();
    File outputFile;
    do {
        outputFile = new File(defaultDir, "Schema" + newSchema++ + ".xml");
    } while (outputFile.exists());

    openSchemaFrame(outputFile, true);
}

From source file:base.BasePlayer.Main.java

public Main() {

    super(new GridBagLayout());
    try {/*from   w  w w . jav a2  s .c om*/

        //UIManager.put("PopupMenu.border", BorderFactory.createMatteBorder(0, 20, 0, 0, new Color(230,230,230)));
        //URL fontUrl = new URL("http://www.webpagepublicity.com/" +
        //       "free-fonts/a/Airacobra%20Condensed.ttf");
        //      URL fontUrl = new URL("C:/HY-Data/RKATAINE/WinPython-64bit-3.5.3.1Qt5/python-3.5.3.amd64/share/numdifftools/docs/_build/html/_static/fonts/Inconsolata-Regular.ttf");
        //   URL fonturl = this.getClass().getResource("OpenSans-Regular.ttf");
        //   menuFont = Font.createFont(Font.TRUETYPE_FONT, new File(fonturl.getFile()));
        //   C:\HY-Data\RKATAINE\WinPython-64bit-3.5.3.1Qt5\python-3.5.3.amd64\Lib\site-packages\reportlab\fonts
        Launcher.fromMain = true;
        Launcher.main(args);
        VariantHandler.main(argsit);
        glass = Toolkit.getDefaultToolkit().getImage(getClass().getResource("icons/glass.jpg"));
        ToolTipManager.sharedInstance().setInitialDelay(100);
        // ToolTipManager.sharedInstance().setDismissDelay(2000);
        UIManager.put("ToolTip.background", new Color(255, 255, 214));
        UIManager.put("ToolTip.border", BorderFactory.createCompoundBorder(
                UIManager.getBorder("ToolTip.border"), BorderFactory.createEmptyBorder(4, 4, 4, 4)));
        lineseparator = System.getProperty("line.separator");

        proxysettings = new ProxySettings();
        panel = new JPanel(new GridBagLayout());
        //menuFont = menuFont.deriveFont(Font.PLAIN,12);
        Draw.defaultFont = menuFont;

        gd = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
        width = gd.getDisplayMode().getWidth();
        height = gd.getDisplayMode().getHeight();
        if (Launcher.fontSize.equals("")) {
            if (width < 1500) {
                defaultFontSize = 11;

                buttonHeight = Main.defaultFontSize * 2;
                buttonWidth = Main.defaultFontSize * 6;

            } else if (width < 2000) {
                defaultFontSize = 12;

                buttonHeight = Main.defaultFontSize * 2 + 4;
                buttonWidth = Main.defaultFontSize * 6 + 4;

            } else if (width < 3000) {
                defaultFontSize = 15;
                buttonHeight = Main.defaultFontSize * 2 + 4;
                buttonWidth = Main.defaultFontSize * 6 + 4;
            } else {
                defaultFontSize = 19;
                buttonHeight = Main.defaultFontSize * 2 + 4;
                buttonWidth = Main.defaultFontSize * 6 + 4;
            }
        } else {
            try {
                defaultFontSize = Integer.parseInt(Launcher.fontSize);
            } catch (Exception e) {
                defaultFontSize = 12;
            }
        }

        menuFont = new Font("SansSerif", Font.PLAIN, Main.defaultFontSize);
        menuFontBold = new Font("SansSerif", Font.BOLD, Main.defaultFontSize);
        //   menuFont = new Font("SansSerif", Font.BOLD, Main.defaultFontSize);
    } catch (Exception e) {
        e.printStackTrace();
    }
    FileSystemView fsv = FileSystemView.getFileSystemView();
    File[] paths = File.listRoots();

    for (File path : paths) {
        if (fsv.getSystemDisplayName(path).contains("merit")) {
            pleiades = true;
        }
    }

    screenSize = new Dimension(width, height);

    drawHeight = (int) (screenSize.getHeight() * 0.6);
    sidebarWidth = (int) (screenSize.getWidth() * 0.1);
    drawWidth = (int) (screenSize.getWidth() - sidebarWidth);
    thisMainListener = this;
    try {
        htsjdk.samtools.util.Log.setGlobalLogLevel(htsjdk.samtools.util.Log.LogLevel.ERROR);
        /*   for(int i=0;i<snow.length; i++) {
              snow[i][0] = (height*Math.random());
              snow[i][1] = (4*Math.random() +1);
              snow[i][2] = (12*Math.random() -6);
              snow[i][3] = (2*Math.random() +1);
           }*/
        frame.addWindowListener(new java.awt.event.WindowAdapter() {
            @Override
            public void windowClosing(java.awt.event.WindowEvent windowEvent) {
                /*if (JOptionPane.showConfirmDialog(frame, "Are you sure to close this window?", "Really Closing?", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE) == JOptionPane.YES_OPTION){
                    System.exit(0);
                }*/
                if (configChanged) {

                    try {
                        BufferedWriter fileWriter = new BufferedWriter(new FileWriter(Launcher.configfile));
                        for (int i = 0; i < Launcher.config.size(); i++) {
                            fileWriter.write(Launcher.config.get(i) + lineseparator);
                        }
                        fileWriter.close();

                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }

            }
        });
        baseMap.put((byte) 'A', 1);
        baseMap.put((byte) 'C', 2);
        baseMap.put((byte) 'G', 3);
        baseMap.put((byte) 'T', 4);
        baseMap.put((byte) 'N', 5);
        baseMap.put((byte) 'I', 6);
        baseMap.put((byte) 'D', 7);
        mutTypes.put("TA", 0);
        mutTypes.put("AT", 0);
        mutTypes.put("TC", 1);
        mutTypes.put("AG", 1);
        mutTypes.put("TG", 2);
        mutTypes.put("AC", 2);
        mutTypes.put("CA", 3);
        mutTypes.put("GT", 3);
        mutTypes.put("CG", 4);
        mutTypes.put("GC", 4);
        mutTypes.put("CT", 5);
        mutTypes.put("GA", 5);

        getBase.put((byte) 'A', "A");
        getBase.put((byte) 'C', "C");
        getBase.put((byte) 'G', "G");
        getBase.put((byte) 'T', "T");
        getBase.put((byte) 'N', "N");
        getBase.put((byte) 'a', "A");
        getBase.put((byte) 'c', "C");
        getBase.put((byte) 'g', "G");
        getBase.put((byte) 't', "T");
        getBase.put((byte) 'n', "N");
        java.net.URL imgUrl = getClass().getResource("icons/save.gif");
        save = new ImageIcon(imgUrl);
        imgUrl = getClass().getResource("icons/open.gif");
        open = new ImageIcon(imgUrl);
        imgUrl = getClass().getResource("icons/settings.png");
        settingsIcon = new ImageIcon(imgUrl);
        userDir = new File(Main.class.getProtectionDomain().getCodeSource().getLocation().getPath()).getParent()
                .replace("%20", " ");
        settings = new JMenuItem("Settings", settingsIcon);

        //   Average.frame.setVisible(false);

        try {

            savedir = Launcher.defaultSaveDir;
            path = Launcher.defaultDir;
            gerp = Launcher.gerpfile;
            defaultGenome = Launcher.defaultGenome;
            defaultAnnotation = Launcher.defaultAnnotation;
            isProxy = Launcher.isProxy;
            proxyHost = Launcher.proxyHost;
            proxyPort = Launcher.proxyPort;
            proxyType = Launcher.proxyType;
            if (isProxy) {
                ProxySettings.useProxy.setSelected(true);
            }
            if (!proxyHost.equals("")) {
                ProxySettings.hostField.setText(proxyHost);
            }
            if (!proxyPort.equals("")) {
                ProxySettings.portField.setText(proxyPort);
            }
            if (!Launcher.proxyType.equals("")) {
                ProxySettings.proxytypes.setSelectedItem(proxyType);
            }
            if (Launcher.backColor.equals("")) {
                Draw.backColor = new Color(90, 90, 90);
            }

            else {

                Draw.backColor = new Color(Integer.parseInt(Launcher.backColor),
                        Integer.parseInt(Launcher.backColor), Integer.parseInt(Launcher.backColor));
                Settings.graySlider.setValue(Integer.parseInt(Launcher.backColor));
            }

            if (Launcher.genomeDir.equals("")) {

                genomeDir = new File(userDir + "/genomes/");
            } else {
                if (new File(Launcher.genomeDir).exists()) {

                    genomeDir = new File(Launcher.genomeDir);
                } else {
                    genomeDir = new File(userDir + "/genomes/");
                }
            }

            annotationfile = defaultAnnotation;
            controlDir = Launcher.ctrldir;
            trackDir = Launcher.trackDir;
            projectDir = Launcher.projectDir;
            downloadDir = Launcher.downloadDir;
        } catch (Exception e) {
            e.printStackTrace();
        }
        File[] genomes = genomeDir.listFiles(new FilenameFilter() {
            public boolean accept(File dir, String name) {
                return !name.contains(".txt") && !name.startsWith(".");
            }
        });
        chromHeight = (int) (drawHeight * 0.1);
        drawDimensions = new Dimension(drawWidth, drawHeight - chromHeight);
        bedDimensions = new Dimension(drawWidth, bedHeight);
        chromDimensions = new Dimension(drawWidth - Main.sidebarWidth - 1, drawHeight);
        drawCanvas = new Draw((int) drawDimensions.getWidth(), (int) drawDimensions.getHeight());
        controlDraw = new ControlCanvas((int) bedDimensions.getWidth(), (int) bedDimensions.getHeight());
        iconImage = Toolkit.getDefaultToolkit().getImage(getClass().getResource("icons/icon.png"));
        frame.setIconImage(iconImage);
        /*   if(args.length > 0) {
               for(int i = 0; i<args.length; i++) {
                  if(args[i].startsWith("-opendir")) {
                     path = args[i].substring(9).replace(" ", "");
                  }
                  else if(args[i].startsWith("-ctrldir")) {
                     Control.path = args[i].substring(9).replace(" ", "");
                  }             
               }       
            }*/

        //   BGZIPInputStream in = this.getClass().getResourceAsStream("SELEX_1505_representative_matrices.bedhead.gz");
        searchField.getDocument().addDocumentListener(new DocumentListener() {
            private String searchstring;

            public void changedUpdate(DocumentEvent e) {
                if (searchField.getText().contains(";")) {
                    searchList = searchField.getText().split(";");
                    for (int i = 0; i < searchList.length; i++) {
                        warn(searchList[i].replace(" ", ""));
                    }
                } else {
                    warn(searchField.getText().replace(" ", ""));
                }

            }

            public void removeUpdate(DocumentEvent e) {
                if (searchField.getText().contains(";")) {
                    searchList = searchField.getText().split(";");
                    for (int i = 0; i < searchList.length; i++) {
                        warn(searchList[i].replace(" ", ""));
                    }
                } else {
                    warn(searchField.getText().replace(" ", ""));
                }
            }

            public void insertUpdate(DocumentEvent e) {
                if (searchField.getText().contains(";")) {
                    searchList = searchField.getText().split(";");
                    for (int i = 0; i < searchList.length; i++) {
                        warn(searchList[i].replace(" ", ""));
                    }
                } else {
                    warn(searchField.getText().replace(" ", ""));
                }
            }

            public void warn(String searchtext) {

                if (searchTable.containsKey(searchtext.toUpperCase())) {
                    if (searchTable.get(searchtext.toUpperCase())[0]
                            .equals(Main.chromosomeDropdown.getSelectedItem())) {
                        searchChrom = searchTable.get(searchtext.toUpperCase())[0];
                        searchStart = Integer.parseInt(searchTable.get(searchtext.toUpperCase())[1]);
                        searchEnd = Integer.parseInt(searchTable.get(searchtext.toUpperCase())[2]);
                    } else {
                        chromDraw.repaint();
                        searchStart = -1;
                        searchEnd = -1;
                    }
                    chromDraw.repaint();
                    searchField.setForeground(Color.black);
                } else if (searchField.getText().toUpperCase().matches("CHR.{1,2}(?!:)")) {

                    if (Main.chromnamevector.contains(searchtext.toUpperCase().substring(3))) {
                        searchField.setForeground(Color.black);

                    } else {
                        chromDraw.repaint();
                        searchField.setForeground(Color.red);
                    }
                } else if (searchtext.toUpperCase().replace(",", "").matches("(CHR)?(.+:)?\\d+(-\\d+)?")) {

                    searchField.setForeground(Color.black);
                    if (searchtext.contains(":")) {
                        searchstring = searchtext.substring(searchtext.indexOf(":") + 1).replace(",", "");
                    } else {
                        chromDraw.repaint();
                        searchstring = searchtext.replace(",", "");
                    }

                    if (!searchstring.contains("-")) {
                        try {
                            searchStart = Integer.parseInt(searchstring);
                        } catch (Exception ex) {

                        }
                        searchEnd = -1;
                    } else {
                        try {
                            searchStart = Integer
                                    .parseInt(searchstring.substring(0, searchstring.indexOf("-")));
                            searchEnd = Integer.parseInt(searchstring.substring(searchstring.indexOf("-") + 1));
                        } catch (Exception ex) {

                        }
                    }
                    chromDraw.repaint();

                } else {
                    chromDraw.repaint();
                    searchField.setForeground(Color.red);
                    searchStart = -1;
                    searchEnd = -1;
                }
            }
        });

        try {

            A = Toolkit.getDefaultToolkit().getImage(getClass().getResource("SELEX/A.png"));
            C = Toolkit.getDefaultToolkit().getImage(getClass().getResource("SELEX/C.png"));
            G = Toolkit.getDefaultToolkit().getImage(getClass().getResource("SELEX/G.png"));
            T = Toolkit.getDefaultToolkit().getImage(getClass().getResource("SELEX/T.png"));

        } catch (Exception e) {
            e.printStackTrace();
        }
        ErrorLog.main(args);

        this.setBackground(Color.black);
        UIManager.put("FileChooser.readOnly", Boolean.TRUE);

        panel.setBackground(Draw.sidecolor);
        panel.setBorder(BorderFactory.createLineBorder(Color.white));
        searchField.addKeyListener(this);

        frame.addKeyListener(this);
        frame.getContentPane().setBackground(Color.black);

        glassPane.addMouseListener(this);
        glassPane.addMouseMotionListener(new MouseMotionListener() {

            @Override
            public void mouseDragged(MouseEvent arg0) {

            }

            @Override
            public void mouseMoved(MouseEvent event) {

                // g.drawRect(drawScroll.getWidth()/2-Main.canceltextwidth/2-Main.defaultFontSize/2, Main.drawScroll.getViewport().getHeight()*2/3+Draw.loadingFont.getSize()*3-Main.defaultFontSize/4, Main.canceltextwidth+Main.defaultFontSize, Draw.loadingFont.getSize()+Main.defaultFontSize/2);                

                if (drawCanvas.loading
                        && event.getX() > drawScroll.getWidth() / 2 - Main.canceltextwidth / 2
                                - Main.defaultFontSize / 2
                        && event.getX() < drawScroll.getWidth() / 2 + Main.canceltextwidth / 2
                                + Main.defaultFontSize / 2
                        && event.getY() > frame.getHeight() * 1 / 3 + Draw.loadingFont.getSize() * 3
                                - Main.defaultFontSize / 4
                        && event.getY() < frame.getHeight() * 1 / 3 + Draw.loadingFont.getSize() * 4
                                + Main.defaultFontSize / 2) {
                    if (!Main.cancelhover) {
                        Main.cancelhover = true;
                        Main.glassPane.requestFocus();
                    }
                } else {
                    if (Main.cancelhover) {
                        Main.cancelhover = false;
                        Main.glassPane.requestFocus(false);
                    }
                }
            }
        });

        background.put((byte) 'A', 0.3);
        background.put((byte) 'C', 0.2);
        background.put((byte) 'G', 0.2);
        background.put((byte) 'T', 0.3);

        bases = new Hashtable<String, String>();
        bases.put("A", "A");
        bases.put("C", "C");
        bases.put("G", "G");
        bases.put("T", "T");
        bases.put("N", "N");
        bases.put("delA", "delA");
        bases.put("delC", "delC");
        bases.put("delG", "delG");
        bases.put("delT", "delT");
        bases.put("insA", "insA");
        bases.put("insC", "insC");
        bases.put("insG", "insG");
        bases.put("insT", "insT");

        chromDraw = new ChromDraw(drawWidth, chromHeight);

        VariantCaller.main(argsit);
        PeakCaller.main(argsit);
        tablebrowser = new TableBrowser();
        bedconverter = new BEDconvert();

        try {

            File annodir;

            File[] annotations;
            addGenome.addMouseListener(this);
            genome = new JMenu("Genomes");
            genome.setName("genomeMenu");
            genome.add(addGenome);
            genome.addComponentListener(this);
            File[] fastadir;
            String[] empty = {};

            refModel = new DefaultComboBoxModel<String>(empty);

            refDropdown = new SteppedComboBox(refModel);
            refDropdown.addMouseListener(this);
            String[] emptygenes = {};
            refDropdown.addActionListener(refDropActionListener);

            geneModel = new DefaultComboBoxModel<String>(emptygenes);
            geneDropdown = new SteppedComboBox(geneModel);
            geneDropdown.addMouseListener(this);
            if (genomes != null) {
                for (int i = 0; i < genomes.length; i++) {
                    if (!genomes[i].isDirectory()) {
                        continue;
                    }
                    annodir = new File(genomes[i].getAbsolutePath() + "/annotation/");
                    if (genomes[i].isDirectory()) {
                        fastadir = genomes[i].listFiles();
                        for (int f = 0; f < fastadir.length; f++) {
                            if (fastadir[f].isDirectory()) {
                                continue;
                            }
                            if (fastadir[f].getName().contains(".fai")) {
                                continue;
                            } else if (fastadir[f].getName().contains(".fa")) {
                                fastahash.put(genomes[i].getName(), fastadir[f]);
                            }
                        }
                    }

                    annotations = annodir.listFiles();
                    genomehash.put(genomes[i].getName(), new ArrayList<File>());

                    refModel.addElement(genomes[i].getName());
                    if (genomes[i].getName().length() > reflength) {
                        reflength = genomes[i].getName().length();
                    }
                    JMenu addMenu = new JMenu(genomes[i].getName());
                    addMenu.addMouseListener(this);
                    addMenu.setName(genomes[i].getName());
                    JMenuItem addAnnotation = new JMenuItem("Add new annotation file...");
                    addAnnotation.addMouseListener(this);
                    addAnnotation.setName("add_annotation");
                    addMenu.add(addAnnotation);
                    JLabel addLabel = new JLabel("  Select annotation: ");
                    labels.add(addLabel);
                    addMenu.add(addLabel);
                    addMenu.add(new JSeparator());

                    genome.add(addMenu);
                    addMenu.addComponentListener(this);
                    if (annotations != null) {
                        for (int j = 0; j < annotations.length; j++) {
                            annofiles = annotations[j].listFiles();
                            for (int f = 0; f < annofiles.length; f++) {
                                if (annofiles[f].getName().endsWith(".bed.gz")) {
                                    if (annofiles[f].getName()
                                            .substring(0, annofiles[f].getName().indexOf(".bed.gz"))
                                            .length() > annolength) {
                                        annolength = annofiles[f].getName().length();
                                    }

                                    genomehash.get(genomes[i].getName()).add(annofiles[f].getAbsoluteFile());
                                    JMenuItem additem = new JMenuItem(annofiles[f].getName().substring(0,
                                            annofiles[f].getName().indexOf(".bed.gz")));
                                    additem.setName(annofiles[f].getName().substring(0,
                                            annofiles[f].getName().indexOf(".bed.gz")));
                                    additem.addMouseListener(this);
                                    addMenu.add(additem);
                                    additem.addComponentListener(this);
                                    break;
                                }
                            }
                        }
                    }
                }
                refModel.addElement("Add new reference...");

            }

            if (genomes.length == 0) {
                /*if(Launcher.firstStart) {
                   Main.writeToConfig("FirstStart=false");
                }*/
                AddGenome.createAndShowGUI();
                AddGenome.frame.setTitle("Add new genome");

                AddGenome.remove.setEnabled(false);
                AddGenome.download.setEnabled(false);

                AddGenome.frame.setLocation((int) (screenSize.getWidth() / 2 - AddGenome.frame.getWidth() / 2),
                        (int) (screenSize.getHeight() / 6));

                AddGenome.frame.setState(JFrame.NORMAL);
                AddGenome.frame.setVisible(true);
                AddGenome.frame.setAlwaysOnTop(true);
                /*
                WelcomeScreen.main(args);
                WelcomeScreen.frame.setVisible(true);
                WelcomeScreen.frame.setLocation(frame.getLocationOnScreen().x+frame.getWidth()/2 - WelcomeScreen.frame.getWidth()/2, frame.getLocationOnScreen().y+frame.getHeight()/6);
                */
                if (genomes.length != 0) {
                    if (!genomehash.containsKey(defaultGenome)) {

                        setChromDrop(genomes[0].getName());
                        defaultGenome = genomes[0].getName();
                    } else {

                        setChromDrop(defaultGenome);
                    }
                    getBands();
                    getExons();
                } else {
                    setChromDrop(null);
                }
            } else {
                if (!genomehash.containsKey(defaultGenome)) {

                    setChromDrop(genomes[0].getName());
                    defaultGenome = genomes[0].getName();

                } else {

                    setChromDrop(defaultGenome);
                }
                getBands();
                getExons();
            }

            if (Launcher.firstStart) {

                WelcomeScreen.createAndShowGUI();
                WelcomeScreen.frame.setLocation(
                        (int) (screenSize.getWidth() / 2 - WelcomeScreen.frame.getWidth() / 2),
                        (int) (screenSize.getHeight() / 6));
                WelcomeScreen.frame.setVisible(true);
            }
            setMenuBar();
            setButtons();
            Settings.main(args);

            // Settings.main(args);
            frame.requestFocus();

            drawCanvas.addKeyListener(this);
            bedCanvas.addKeyListener(this);
            setFonts();
            chromLabel.setText("Chromosome " + chromosomeDropdown.getSelectedItem().toString());
            CheckUpdates check = new CheckUpdates();
            check.execute();
            //   Main.drawCanvas.loading("test");
            Main.drawCanvas.splits.get(0)
                    .setCytoImage(Main.chromDraw.createBands(Main.drawCanvas.splits.get(0)));
        } catch (Exception e) {
            e.printStackTrace();
        }

    } catch (Exception ex) {
        ex.printStackTrace();
        Main.showError(ex.getMessage(), "Error");

    }

}

From source file:display.containers.FileManager.java

FileTreeCellRenderer() {
    label = new JLabel();
    label.setOpaque(true);
    fileSystemView = FileSystemView.getFileSystemView();
}

From source file:base.BasePlayer.Main.java

public void actionPerformed(ActionEvent e) {
    //Logo.frame.setVisible(false);
    if (e.getSource() == pleiadesButton) {
        gotoURL("http://kaptah.local.lab.helsinki.fi/pleiades/");

    } else if (e.getSource() == manage) {

        if (VariantHandler.frame == null) {
            VariantHandler.main(argsit);
        }//  w  ww.j  a  v a2s.  co m
        VariantHandler.frame.setLocation(
                frame.getLocationOnScreen().x + frame.getWidth() / 2 - VariantHandler.frame.getWidth() / 2,
                frame.getLocationOnScreen().y + frame.getHeight() / 6);

        VariantHandler.frame.setState(JFrame.NORMAL);
        VariantHandler.frame.setVisible(true);
        Draw.calculateVars = true;
        Draw.updatevars = true;
        drawCanvas.repaint();

    } else if (e.getSource() == tbrowser) {
        tablebrowser.frame.setLocation(
                frame.getLocationOnScreen().x + frame.getWidth() / 2 - VariantCaller.frame.getWidth() / 2,
                frame.getLocationOnScreen().y + frame.getHeight() / 6);
        tablebrowser.frame.setState(JFrame.NORMAL);

        tablebrowser.frame.setVisible(true);
    } else if (e.getSource() == bconvert) {
        bedconverter.frame.setLocation(
                frame.getLocationOnScreen().x + frame.getWidth() / 2 - VariantCaller.frame.getWidth() / 2,
                frame.getLocationOnScreen().y + frame.getHeight() / 6);
        bedconverter.frame.setState(JFrame.NORMAL);

        bedconverter.frame.setVisible(true);
    } else if (e.getSource() == peakCaller) {
        if (PeakCaller.frame == null) {

            PeakCaller.main(argsit);

        }
        PeakCaller.frame.setLocation(
                frame.getLocationOnScreen().x + frame.getWidth() / 2 - VariantCaller.frame.getWidth() / 2,
                frame.getLocationOnScreen().y + frame.getHeight() / 6);
        PeakCaller.frame.setState(JFrame.NORMAL);
        PeakCaller.frame.setVisible(true);
    } else if (e.getSource() == variantCaller) {

        //FileRead.checkSamples();

        if (VariantCaller.frame == null) {

            VariantCaller.main(argsit);

        }
        VariantCaller.frame.setLocation(
                frame.getLocationOnScreen().x + frame.getWidth() / 2 - VariantCaller.frame.getWidth() / 2,
                frame.getLocationOnScreen().y + frame.getHeight() / 6);
        VariantCaller.frame.setState(JFrame.NORMAL);
        VariantCaller.frame.setVisible(true);
    } else if (e.getSource() == average) {
        if (Average.frame == null) {
            Average.createAndShowGUI();
        }
        Average.setSamples();

        Average.frame.setLocation(
                frame.getLocationOnScreen().x + frame.getWidth() / 2 - Average.frame.getWidth() / 2,
                frame.getLocationOnScreen().y + frame.getHeight() / 6);

        Average.frame.setState(JFrame.NORMAL);
        Average.frame.setVisible(true);
    } else if (e.getSource() == errorlog) {

        ErrorLog.frame.setLocation(
                frame.getLocationOnScreen().x + frame.getWidth() / 2 - ErrorLog.frame.getWidth() / 2,
                frame.getLocationOnScreen().y + frame.getHeight() / 6);

        //      VariantHandler.frame.setAlwaysOnTop(true);   
        ErrorLog.frame.setState(JFrame.NORMAL);
        ErrorLog.frame.setVisible(true);

    }
    /*   else if(e.getSource() == help) {
          JOptionPane.showMessageDialog(Main.chromDraw, "This is pre-release version of BasePlayer\nContact: help@baseplayer.fi\nUniversity of Helsinki", "Help", JOptionPane.INFORMATION_MESSAGE);
       }*/
    else if (e.getSource() == settings) {

        Settings.frame.setLocation(
                frame.getLocationOnScreen().x + frame.getWidth() / 2 - Settings.frame.getWidth() / 2,
                frame.getLocationOnScreen().y + frame.getHeight() / 6);

        Settings.frame.setState(JFrame.NORMAL);
        Settings.frame.setVisible(true);
    } else if (e.getSource() == update) {
        try {
            Updater update = new Updater();
            update.execute();

        } catch (Exception ex) {
            ex.printStackTrace();
        }

    } else if (e.getSource() == clearMemory) {
        FileRead.nullifyVarNodes();

        //FileRead.removeNonListVariants();f
        System.gc();
        chromDraw.repaint();
    } else if (e.getSource() == zoomout) {

        zoomout();
    } else if (e.getSource() == dosomething) {

        BedNode currentbed = bedCanvas.bedTrack.get(0).getHead().getNext();
        VarNode currentvar = FileRead.head.getNext();

        while (currentbed != null) {

            while (currentvar != null && currentvar.getPosition() < currentbed.getPosition()) {
                currentvar = currentvar.getNext();
            }
            while (currentbed != null
                    && currentvar.getPosition() > currentbed.getPosition() + currentbed.getLength()) {
                currentbed = currentbed.getNext();
            }

            if (currentvar != null && currentvar.getPosition() >= currentbed.getPosition()
                    && currentvar.getPosition() < currentbed.getPosition() + currentbed.getLength()) {
                currentvar.setBedhit(true);
                currentvar = currentvar.getNext();
            }
            if (currentvar == null) {
                break;
            }
            currentbed = currentbed.getNext();
        }

    } else if (e.getSource() == clear) {
        clearData();
    } else if (e.getSource() == exit) {

        System.exit(0);
    } else if (e.getSource() == openbams) {
        try {
            if (!checkGenome())
                return;
            if (VariantHandler.frame != null) {
                VariantHandler.frame.setState(Frame.ICONIFIED);
            }

            FileDialog fc = new FileDialog(frame, "Choose BAM file(s)", FileDialog.LOAD);
            fc.setDirectory(path);
            fc.setFile("*.bam;*.cram;*.link");
            fc.setFilenameFilter(new FilenameFilter() {
                public boolean accept(File dir, String name) {
                    return name.toLowerCase().endsWith(".bam") || name.toLowerCase().endsWith(".cram")
                            || name.toLowerCase().endsWith(".link");
                }
            });
            fc.setMultipleMode(true);
            fc.setVisible(true);
            File[] openfiles = fc.getFiles();

            if (openfiles != null && openfiles.length > 0) {

                path = openfiles[0].getParent();
                writeToConfig("DefaultDir=" + path);
                FileRead filereader = new FileRead(openfiles);

                filereader.start = (int) drawCanvas.selectedSplit.start;
                filereader.end = (int) drawCanvas.selectedSplit.end;
                filereader.readBAM = true;
                filereader.execute();

            } else {
                //Main.showError("File(s) does not exist.", "Error");
            }

        } catch (Exception ex) {
            Main.showError(ex.getMessage(), "Error");
        }
    } else if (e.getSource() == openvcfs) {
        try {
            if (!checkGenome())
                return;
            if (VariantHandler.frame != null) {
                VariantHandler.frame.setState(Frame.ICONIFIED);
            }

            FileDialog fc = new FileDialog(frame, "Choose VCF file(s)", FileDialog.LOAD);
            fc.setDirectory(path);
            fc.setFile("*.vcf");
            fc.setFilenameFilter(new FilenameFilter() {
                public boolean accept(File dir, String name) {
                    return name.toLowerCase().endsWith(".vcf") || name.toLowerCase().endsWith(".vcf.gz");
                }
            });

            fc.setMultipleMode(true);
            fc.setVisible(true);
            File[] openfiles = fc.getFiles();

            if (openfiles != null && openfiles.length > 0) {

                path = openfiles[0].getParent();
                writeToConfig("DefaultDir=" + path);
                FileRead filereader = new FileRead(openfiles);

                filereader.start = (int) drawCanvas.selectedSplit.start;
                filereader.end = (int) drawCanvas.selectedSplit.end;
                filereader.readVCF = true;
                filereader.execute();

            } else {
                //Main.showError("File(s) does not exist.", "Error");
            }

            if (1 == 1) {
                return;
            }

            JFileChooser chooser = new JFileChooser(path);
            getText(chooser.getComponents());
            chooser.setMultiSelectionEnabled(true);
            //chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
            chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
            chooser.setAcceptAllFileFilterUsed(false);
            chooser.addChoosableFileFilter(vcfFilter);
            chooser.addChoosableFileFilter(bamFilter);
            chooser.addChoosableFileFilter(linkFilter);
            if (defaultSelectType == "vcf") {
                chooser.setFileFilter(vcfFilter);
            } else if (defaultSelectType == "bam") {
                chooser.setFileFilter(bamFilter);
            } else {
                chooser.setFileFilter(linkFilter);
            }
            chooser.setDialogTitle("Add samples");
            chooser.setPreferredSize(
                    new Dimension((int) screenSize.getWidth() / 3, (int) screenSize.getHeight() / 3));
            int returnVal = chooser.showOpenDialog((Component) this.getParent());

            if (returnVal == JFileChooser.APPROVE_OPTION) {

                File vcffiles[] = chooser.getSelectedFiles();
                if (vcffiles.length == 1 && !vcffiles[0].exists() && pleiades) {

                    if (Main.chooserText.contains("`")) {
                        Main.chooserText.replace("`", "?");
                    }
                    if (Main.chooserText.contains(" ")) {
                        Main.chooserText.replace(" ", "%20");
                    }
                    if (Main.chooserText.contains("pleiades")) {
                        try {
                            URL url = new URL(Main.chooserText);
                            //System.out.println(Main.chooserText);
                            HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
                            httpConn.connect();

                            int responseCode = httpConn.getResponseCode();

                            if (responseCode == HttpsURLConnection.HTTP_OK) {

                                String loading = drawCanvas.loadingtext;
                                InputStream inputStream = httpConn.getInputStream();
                                BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
                                Main.drawCanvas.loadingtext = loading + " 0MB";
                                String line;
                                StringBuffer buffer = new StringBuffer("");
                                while ((line = reader.readLine()) != null) {

                                    buffer.append(line);

                                }
                                inputStream.close();
                                reader.close();
                                String split2;
                                String[] split = buffer.toString().split("dataUnit");
                                String location;
                                ArrayList<File> array = new ArrayList<File>();
                                File[] paths;
                                FileSystemView fsv = FileSystemView.getFileSystemView();
                                paths = File.listRoots();
                                String loc = "/mnt";
                                boolean missingfiles = false;
                                for (File path : paths) {
                                    if (fsv.getSystemDisplayName(path).contains("merit")) {
                                        loc = path.getCanonicalPath();
                                    }
                                }

                                for (int i = 0; i < split.length; i++) {

                                    if (!split[i].contains("lastLocation")) {

                                        continue;
                                    }

                                    split2 = split[i].split("\"lastLocation\":\"")[1];
                                    location = split2.substring(0, split2.indexOf("\"}"));
                                    String filename = "";
                                    String testloc = location.replace("/mnt", loc) + "/wgspipeline/";
                                    File testDir = new File(testloc);
                                    if (testDir.exists() && testDir.isDirectory()) {
                                        if (chooser.getFileFilter()
                                                .equals(chooser.getChoosableFileFilters()[1])) {
                                            File[] addDir = testDir.listFiles(new FilenameFilter() {
                                                public boolean accept(File dir, String name) {
                                                    return name.toLowerCase().endsWith(".bam")
                                                            || name.toLowerCase().endsWith(".cram");
                                                }
                                            });
                                            if (addDir.length > 0) {
                                                filename = addDir[0].getName();
                                            }
                                        } else {
                                            File[] addDir = testDir.listFiles(new FilenameFilter() {
                                                public boolean accept(File dir, String name) {
                                                    return name.toLowerCase().endsWith(".vcf.gz");
                                                }
                                            });
                                            if (addDir.length > 0) {
                                                filename = addDir[0].getName();
                                            }
                                        }
                                    }

                                    location = testloc + "/" + filename;

                                    if (!new File(location).exists()) {

                                        if (!new File(location).exists()) {
                                            missingfiles = true;
                                            ErrorLog.addError("No sample files found in " + testloc);

                                        } else {
                                            array.add(new File(location));
                                        }
                                    } else {

                                        array.add(new File(location));
                                    }
                                }

                                File[] files = new File[array.size()];
                                for (int i = 0; i < files.length; i++) {

                                    files[i] = array.get(i);
                                }
                                FileRead filereader = new FileRead(files);
                                filereader.start = (int) drawCanvas.selectedSplit.start;
                                filereader.end = (int) drawCanvas.selectedSplit.end;
                                if (chooser.getFileFilter().equals(chooser.getChoosableFileFilters()[1])) {
                                    filereader.readBAM = true;
                                } else {
                                    filereader.readVCF = true;
                                }
                                filereader.execute();
                                if (missingfiles) {
                                    JOptionPane.showMessageDialog(Main.drawScroll,
                                            "Missing files. Check Tools->View log", "Note",
                                            JOptionPane.INFORMATION_MESSAGE);
                                }

                            }
                        } catch (Exception ex) {
                            ex.printStackTrace();
                        }
                    }

                    return;
                }

                if (vcffiles.length > 0) {
                    path = vcffiles[0].getParent();
                    writeToConfig("DefaultDir=" + path);
                    FileRead filereader = new FileRead(vcffiles);

                    if (chooser.getFileFilter().equals(chooser.getChoosableFileFilters()[0])) {
                        defaultSelectType = "vcf";
                        filereader.start = (int) drawCanvas.selectedSplit.start;
                        filereader.end = (int) drawCanvas.selectedSplit.end;
                        filereader.readVCF = true;
                        filereader.execute();
                    } else if (chooser.getFileFilter().equals(chooser.getChoosableFileFilters()[1])) {
                        defaultSelectType = "bam";
                        filereader.readBAM = true;
                        filereader.execute();
                    } else if (chooser.getFileFilter().equals(chooser.getChoosableFileFilters()[2])) {

                        defaultSelectType = "link";
                        filereader.readBAM = true;
                        filereader.execute();
                    }
                } else {

                    JOptionPane.showMessageDialog(Main.drawScroll,
                            "The file does not exist. The file link may be broken.\nThe problem may also be the Java run time version in Linux.",
                            "Note", JOptionPane.INFORMATION_MESSAGE);
                }
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }

    } else if (e.getSource() == addcontrols) {
        if (!checkGenome())
            return;
        if (VariantHandler.frame != null) {
            VariantHandler.frame.setState(Frame.ICONIFIED);
        }
        FileDialog fc = new FileDialog(frame, "Choose control file(s)", FileDialog.LOAD);
        fc.setDirectory(Main.controlDir);
        fc.setFile("*.vcf.gz");
        fc.setFilenameFilter(new FilenameFilter() {
            public boolean accept(File dir, String name) {
                return name.toLowerCase().endsWith(".vcf.gz");
            }
        });
        fc.setMultipleMode(true);
        fc.setVisible(true);
        File[] openfiles = fc.getFiles();

        if (openfiles != null && openfiles.length > 0) {

            controlDir = openfiles[0].getParent();
            writeToConfig("DefaultControlDir=" + controlDir);

            Control.addFiles(openfiles);
        }
        if (1 == 1) {
            return;
        }
        JFileChooser chooser = new JFileChooser(controlDir);
        //        JFileChooser chooser = new JFileChooser(path);            
        chooser.setMultiSelectionEnabled(true);
        chooser.setAcceptAllFileFilterUsed(false);
        Control.MyFilter vcfFilter = new Control.MyFilter();
        chooser.addChoosableFileFilter(vcfFilter);

        chooser.setDialogTitle("Add controls");
        chooser.setPreferredSize(
                new Dimension((int) screenSize.getWidth() / 3, (int) screenSize.getHeight() / 3));
        int returnVal = chooser.showOpenDialog((Component) this.getParent());

        if (returnVal == JFileChooser.APPROVE_OPTION) {

            File vcffiles[] = chooser.getSelectedFiles();
            controlDir = vcffiles[0].getParent();
            writeToConfig("DefaultControlDir=" + controlDir);

            if (chooser.getFileFilter().equals(chooser.getChoosableFileFilters()[0])) {
                Control.addFiles(vcffiles);
            }
        }
    } else if (e.getSource() == addtracks) {
        if (!checkGenome())
            return;
        try {
            if (!checkGenome())
                return;
            if (VariantHandler.frame != null) {
                VariantHandler.frame.setState(Frame.ICONIFIED);
            }

            FileDialog fc = new FileDialog(frame, "Choose track file(s)", FileDialog.LOAD);
            fc.setDirectory(Main.trackDir);
            fc.setFile(
                    "*.bed;*.bedgraph.gz;*.gff.gz;*.gff3.gz;*.bigwig;*.bw;*.bigbed;*.bb;*.tsv.gz;*.tsv.bgz;*.txt");
            fc.setFilenameFilter(new FilenameFilter() {
                public boolean accept(File dir, String name) {
                    return name.toLowerCase().endsWith(".bed") || name.toLowerCase().endsWith(".bed.gz")
                            || name.toLowerCase().endsWith(".bedgraph.gz")
                            || name.toLowerCase().endsWith(".bedgraph.gz")
                            || name.toLowerCase().endsWith(".bedgraph.gz")
                            || name.toLowerCase().endsWith(".gff.gz") || name.toLowerCase().endsWith(".gff3.gz")
                            || name.toLowerCase().endsWith(".bigwig") || name.toLowerCase().endsWith(".bw")
                            || name.toLowerCase().endsWith(".bigbed") || name.toLowerCase().endsWith(".bb")
                            || name.toLowerCase().endsWith(".tsv.gz") || name.toLowerCase().endsWith(".tsv.bgz")
                            || name.toLowerCase().endsWith(".txt");
                }
            });
            fc.setMultipleMode(true);
            fc.setVisible(true);
            File[] openfiles = fc.getFiles();

            if (openfiles != null && openfiles.length > 0) {

                trackDir = openfiles[0].getParent();
                writeToConfig("DefaultTrackDir=" + trackDir);
                FileRead filereader = new FileRead(openfiles);
                filereader.readBED = true;
                filereader.execute();

            } else {
                //Main.showError("File(s) does not exist.", "Error");
            }

        } catch (Exception ex) {
            Main.showError(ex.getMessage(), "Error");
        }
        if (1 == 1) {
            return;
        }
        if (VariantHandler.frame != null) {
            VariantHandler.frame.setState(Frame.ICONIFIED);
        }
        JFileChooser chooser = new JFileChooser(Main.trackDir);
        getText(chooser.getComponents());
        chooser.setMultiSelectionEnabled(true);
        chooser.setAcceptAllFileFilterUsed(false);
        MyFilterBED bedFilter = new MyFilterBED();
        MyFilterTXT txtFilter = new MyFilterTXT();
        chooser.addChoosableFileFilter(bedFilter);
        chooser.addChoosableFileFilter(txtFilter);
        chooser.setDialogTitle("Add tracks");
        chooser.setPreferredSize(
                new Dimension((int) screenSize.getWidth() / 3, (int) screenSize.getHeight() / 3));
        int returnVal = chooser.showOpenDialog((Component) this.getParent());

        try {

            if (returnVal == JFileChooser.APPROVE_OPTION) {

                File bedfiles[] = chooser.getSelectedFiles();
                if (bedfiles[0].exists()) {

                    trackDir = bedfiles[0].getParent();
                    writeToConfig("DefaultTrackDir=" + trackDir);
                    FileRead filereader = new FileRead(bedfiles);
                    filereader.readBED(bedfiles);

                } else {

                    if (Main.chooserText.length() > 5 && Main.chooserText.endsWith(".bed.gz")
                            || Main.chooserText.endsWith(".gff.gz") || Main.chooserText.endsWith(".gff3.gz")
                            || Main.chooserText.endsWith(".bedgraph.gz")) {

                        if (Main.chooserText.startsWith("http://") || Main.chooserText.startsWith("ftp://")) {

                            URL url = new URL(Main.chooserText);
                            SeekableStream stream = SeekableStreamFactory.getInstance().getStreamFor(url);
                            TabixReader tabixReader = null;
                            String index = null;

                            try {
                                tabixReader = new TabixReader(Main.chooserText, Main.chooserText + ".tbi",
                                        stream);
                                index = Main.chooserText + ".tbi";
                            } catch (Exception ex) {
                                try {
                                    tabixReader = new TabixReader(Main.chooserText,
                                            Main.chooserText.substring(0, Main.chooserText.indexOf(".gz"))
                                                    + ".tbi",
                                            stream);
                                    index = Main.chooserText.substring(0, Main.chooserText.indexOf(".gz"))
                                            + ".tbi";
                                } catch (Exception exc) {
                                    exc.printStackTrace();
                                }
                            }
                            if (tabixReader != null && index != null) {

                                FileRead filereader = new FileRead(bedfiles);
                                filereader.readBED(Main.chooserText, index, false);

                                tabixReader.close();
                            }
                        }
                    } else {
                        if (Main.chooserText.contains("://")) {

                            try {
                                //        bbreader = new BBFileReader(Main.chooserText, stream);

                            } catch (Exception ex) {
                                ex.printStackTrace();
                            }

                            //  if(bbreader != null) {

                            FileRead filereader = new FileRead(bedfiles);
                            filereader.readBED(Main.chooserText, "nan", false);

                            //     }
                            //     stream.close();
                        }
                    }
                }
            }

        } catch (Exception ex) {
            ex.printStackTrace();
        }
    } else if (e.getSource() == openProject) {
        if (!checkGenome())
            return;
        if (VariantHandler.frame != null) {
            VariantHandler.frame.setState(Frame.ICONIFIED);
        }
        openProject();
    } else if (e.getSource() == saveProjectAs) {
        if (VariantHandler.frame != null) {
            VariantHandler.frame.setState(Frame.ICONIFIED);
        }
        try {
            File savefile = null;
            FileDialog fs = new FileDialog(frame, "Save project as...", FileDialog.SAVE);
            fs.setDirectory(projectDir);
            fs.setFile("*.ses");
            fs.setFilenameFilter(new FilenameFilter() {
                public boolean accept(File dir, String name) {
                    return name.toLowerCase().endsWith(".ses");
                }
            });
            fs.setVisible(true);

            while (true) {
                String filename = fs.getFile();

                if (filename != null) {
                    savefile = new File(fs.getDirectory() + "/" + filename);
                    projectDir = fs.getDirectory();
                    writeToConfig("DefaultProjectDir=" + projectDir);

                    /* if(!Files.isWritable(Paths.get(savefile.getParent()))) {
                       Main.showError("No permission to write.", "Error");
                       continue;
                     }*/

                    if (!savefile.getAbsolutePath().endsWith(".ses")) {
                        savefile = new File(savefile.getAbsolutePath() + ".ses");
                    }

                    Serializer ser = new Serializer();
                    ser.serialize(savefile);
                    break;
                } else {
                    break;
                }
            }
            if (1 == 1) {
                return;
            }
            JFileChooser chooser = new JFileChooser();
            chooser.setAcceptAllFileFilterUsed(false);
            MyFilterSES sesFilter = new MyFilterSES();
            chooser.addChoosableFileFilter(sesFilter);
            chooser.setDialogTitle("Save project as...");
            int returnVal = chooser.showSaveDialog((Component) this.getParent());

            if (returnVal == JFileChooser.APPROVE_OPTION) {
                File outfile = chooser.getSelectedFile();
                if (!outfile.getAbsolutePath().endsWith(".ses")) {
                    outfile = new File(outfile.getAbsolutePath() + ".ses");
                }

                Serializer ser = new Serializer();
                ser.serialize(outfile);
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }

    } else if (e.getSource() == saveProject) {
        if (drawCanvas.drawVariables.projectName.equals("Untitled")) {
            saveProjectAs.doClick();
        } else {

            Serializer ser = new Serializer();
            ser.serialize(drawCanvas.drawVariables.projectFile);
        }
    }
    /*      else if(e.getSource() == welcome) {
             WelcomeScreen.main(args);
             WelcomeScreen.frame.setVisible(true);
             WelcomeScreen.frame.setLocation(frame.getLocationOnScreen().x+frame.getWidth()/2 - WelcomeScreen.frame.getWidth()/2, frame.getLocationOnScreen().y+frame.getHeight()/6);
                     
          }*/
}

From source file:org.broad.igv.DirectoryManager.java

/**
 * The user directory.  On Mac and Linux this should be the user home directory.  On Windows platforms this
 * is the "My Documents" directory.// w  w  w  .jav a 2s . c  o m
 */
public static synchronized File getUserDirectory() {
    if (USER_DIRECTORY == null) {
        System.out.print("Fetching user directory... ");
        USER_DIRECTORY = FileSystemView.getFileSystemView().getDefaultDirectory();
        //Mostly for testing, in some environments USER_DIRECTORY can be null
        if (USER_DIRECTORY == null) {
            USER_DIRECTORY = getUserHome();
        }
    }
    return USER_DIRECTORY;
}

From source file:org.dbgl.util.FileUtils.java

public static boolean isStoredOnFloppyDrive(File file) {
    if (PlatformUtils.IS_OSX)
        return false; // FileSystemView doesn't work on OSX and leads to freeze on application exit

    FileSystemView fsv = FileSystemView.getFileSystemView();
    for (File f : File.listRoots()) {
        if (areRelated(f, file)) {
            return fsv.isFloppyDrive(f);
        }/*w ww .  ja va  2s . c o m*/
    }
    return false;
}

From source file:org.dbgl.util.FileUtils.java

public static boolean isStoredOnCDRomDrive(File file) {
    if (PlatformUtils.IS_OSX)
        return false; // FileSystemView doesn't work on OSX and leads to freeze on application exit

    FileSystemView fsv = FileSystemView.getFileSystemView();
    for (File f : File.listRoots()) {
        if (areRelated(f, file)) {
            return fsv.isDrive(f) && fsv.getSystemTypeDescription(f).toUpperCase().contains("CD");
        }/* w  ww  . ja  va2s.  co m*/
    }
    return false;
}

From source file:org.dbgl.util.PlatformUtils.java

public static void createShortcut(final Profile profile, final List<DosboxVersion> dbversionsList)
        throws IOException {
    DosboxVersion dbversion = DosboxVersion.findById(dbversionsList, profile.getDbversionId());
    String strictFilename = profile.getTitle().replaceAll("[\\/:*?\"<>|]", " ").trim();
    StringBuffer params = new StringBuffer(128);
    if (dbversion.isMultiConfig()) {
        params.append("-conf \"\"").append(dbversion.getCanonicalConfFile()).append("\"\" ");
    }//w w w  .  j av  a2  s  .c  om
    params.append("-conf \"\"").append(profile.getCanonicalConfFile()).append("\"\"");
    if (Settings.getInstance().getSettings().getBooleanValue("dosbox", "hideconsole")) {
        params.append(" -noconsole");
    }

    if (IS_WINDOWS) {

        File desktopDir = FileSystemView.getFileSystemView().getHomeDirectory();
        File lnkFile = new File(desktopDir, strictFilename + ".lnk");
        File vbsFile = FileUtils.canonicalToData("shortcut.vbs");
        BufferedWriter vbsWriter = new BufferedWriter(new FileWriter(vbsFile));
        vbsWriter.write("Set oWS = WScript.CreateObject(\"WScript.Shell\")" + EOLN);
        vbsWriter.write("Set oLink = oWS.CreateShortcut(\"" + lnkFile.getCanonicalPath() + "\")" + EOLN);
        vbsWriter.write("oLink.TargetPath = \"" + dbversion.getCanonicalExecutable().getPath() + "\"" + EOLN);
        vbsWriter.write("oLink.Arguments = \"" + params.toString() + "\"" + EOLN);
        vbsWriter.write("oLink.Description = \""
                + Settings.getInstance().msg("general.shortcut.title", new Object[] { strictFilename }) + "\""
                + EOLN);
        vbsWriter.write("oLink.WorkingDirectory = \"" + FileUtils.getDosRoot() + "\"" + EOLN);
        vbsWriter.write("oLink.Save" + EOLN);
        vbsWriter.close();
        Process proc = Runtime.getRuntime().exec(new String[] { "CSCRIPT", vbsFile.getCanonicalPath() }, null,
                vbsFile.getParentFile());
        StreamGobbler errorGobbler = new StreamGobbler(proc.getErrorStream(), "CSCRIPT stderr");
        StreamGobbler outputGobbler = new StreamGobbler(proc.getInputStream(), "CSCRIPT stdout");
        outputGobbler.start();
        errorGobbler.start();
        try {
            proc.waitFor();
        } catch (InterruptedException e) {
        }
        FileUtils.removeFile(vbsFile);

    } else if (IS_LINUX) {

        File desktopDir = new File(System.getProperty("user.home"), "/Desktop");
        File desktopFile = new File(desktopDir, strictFilename + ".desktop");
        BufferedWriter desktopWriter = new BufferedWriter(
                new OutputStreamWriter(new FileOutputStream(desktopFile), "UTF-8"));
        desktopWriter.write("[Desktop Entry]" + EOLN);
        desktopWriter.write("Version=1.0" + EOLN);
        desktopWriter.write("Type=Application" + EOLN);
        desktopWriter.write("Name=" + strictFilename + EOLN);
        desktopWriter.write("Comment="
                + Settings.getInstance().msg("general.shortcut.title", new Object[] { strictFilename }) + EOLN);
        desktopWriter.write("Icon="
                + new File(dbversion.getCanonicalExecutable().getParent(), "dosbox.ico").getPath() + EOLN);
        desktopWriter.write("TryExec=" + dbversion.getCanonicalExecutable().getPath() + EOLN);
        desktopWriter.write("Exec=" + dbversion.getCanonicalExecutable().getPath() + " "
                + StringUtils.replace(params.toString(), "\"\"", "\"") + EOLN);
        desktopWriter.write("Path=" + FileUtils.getDosRoot() + EOLN);
        desktopWriter.close();
        desktopFile.setExecutable(true);

    }
}