|
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.