|
What this is
Other links
The source code/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original * Code is Sun Microsystems, Inc. Portions Copyright 1997-2004 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.modules.project.ui; import java.awt.Component; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.*; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import org.netbeans.api.project.Project; import org.netbeans.api.project.ProjectUtils; import org.openide.awt.MouseUtils; /** Show a warning that no main project is set and allows choose it. * * @author Jiri Rechtacek */ public class NoMainProjectWarning extends JPanel { private ChangeListener changeListener; /** Creates new form NoMainProjectWarning */ public NoMainProjectWarning (Project[] projects) { initComponents(); // add MainClassChooser ProjectsListModel model = new ProjectsListModel (projects); jList1.setModel (model); jList1.setSelectionMode (ListSelectionModel.SINGLE_SELECTION); if (model.getSize () > 0) { jList1.setSelectedIndex (0); } jList1.setCellRenderer(new ProjectsRenderer ()); jList1.addListSelectionListener (new ListSelectionListener () { public void valueChanged (ListSelectionEvent evt) { if (changeListener != null) { changeListener.stateChanged (new ChangeEvent (evt)); } } }); // support for double click to finish dialog with selected class jList1.addMouseListener (new MouseListener () { public void mouseClicked (MouseEvent e) { if (MouseUtils.isDoubleClick (e)) { if (getSelectedProject () != null) { if (changeListener != null) { changeListener.stateChanged (new ChangeEvent (e)); } } } } public void mousePressed (MouseEvent e) {} public void mouseReleased (MouseEvent e) {} public void mouseEntered (MouseEvent e) {} public void mouseExited (MouseEvent e) {} }); } /** Returns the selected project or null if no project is selected. * * @return project or null if no project is selected */ public Project getSelectedProject () { if (jList1.getSelectedIndex () == -1) { return null; } else { return (Project)jList1.getSelectedValue (); } } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ private void initComponents() {//GEN-BEGIN:initComponents java.awt.GridBagConstraints gridBagConstraints; jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jScrollPane2 = new javax.swing.JScrollPane(); jList1 = new javax.swing.JList(); setLayout(new java.awt.GridBagLayout()); jLabel1.setText(org.openide.util.NbBundle.getMessage(NoMainProjectWarning.class, "LBL_NoMainProjectWarning_jLabel1")); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(12, 12, 6, 12); add(jLabel1, gridBagConstraints); jLabel2.setDisplayedMnemonic(org.openide.util.NbBundle.getMessage(NoMainProjectWarning.class, "MNE_NoMainProjectWarning_jLabel2").charAt(0)); jLabel2.setText(org.openide.util.NbBundle.getMessage(NoMainProjectWarning.class, "LBL_NoMainProjectWarning_jLabel2")); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(12, 12, 2, 12); add(jLabel2, gridBagConstraints); jScrollPane2.setMinimumSize(new java.awt.Dimension(100, 200)); jList1.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION); jScrollPane2.setViewportView(jList1); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.gridheight = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 1.0; gridBagConstraints.insets = new java.awt.Insets(6, 12, 12, 12); add(jScrollPane2, gridBagConstraints); }//GEN-END:initComponents // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JList jList1; private javax.swing.JScrollPane jScrollPane2; // End of variables declaration//GEN-END:variables public void addChangeListener (ChangeListener l) { changeListener = l; } public void removeChangeListener (ChangeListener l) { changeListener = null; } private static final class ProjectsListModel extends AbstractListModel { private Project[] openProjects; public ProjectsListModel (Project[] projects) { openProjects = projects; } public synchronized int getSize() { return getProjects ().length; } public synchronized Object getElementAt (int index) { if (index >= 0 && index < getProjects ().length) { return getProjects ()[index]; } else { return null; } } private Project[] getProjects () { if (openProjects == null) { return new Project[0]; } else { return openProjects; } } } private static final class ProjectsRenderer extends JLabel implements ListCellRenderer { ProjectsRenderer () { setOpaque (true); } public Component getListCellRendererComponent (JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { if (value instanceof Project) { Project prj = (Project) value; setText (ProjectUtils.getInformation (prj).getDisplayName ()); setIcon (ProjectUtils.getInformation (prj).getIcon ()); } else { setText (value.toString ()); setIcon (null); } if (isSelected) { setBackground(list.getSelectionBackground()); setForeground(list.getSelectionForeground()); //setBorder (BorderFactory.createLineBorder (Color.BLACK)); } else { setBackground(list.getBackground()); setForeground(list.getForeground()); //setBorder (null); } return this; } } } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.