1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
@Override
public void propertyChange( PropertyChangeEvent evt )
{
_projects.removeAll();
int i = 0;
for( final Project project : _model.getProjects())
{
_projects.addTab( project.getName(), new ProjectPanel( _model, project ));
if( i > 0 )
{
final int index = i;
final JLabel label = new JLabel( project.getName());
_projects.setTabComponentAt( index, label );
label.addMouseListener( new MouseAdapter(){
@Override public void mouseClicked( MouseEvent e ){
if( e.getClickCount() < 2 )
{
_projects.setSelectedIndex( index );
}
else
{
final JTextField editor = new JTextField( project.getName());
editor.addActionListener( new ActionListener(){
@Override public void actionPerformed( ActionEvent ae ){
label .setText( editor.getText());
project.setName( editor.getText());
_projects.setTabComponentAt( index, label );
}});
_projects.setTabComponentAt( index, editor );
editor.requestFocus();
editor.addFocusListener( new FocusListener(){
@Override public void focusLost( FocusEvent ae ){
_projects.setTabComponentAt( index, label );
}
@Override public void focusGained( FocusEvent ae ){/**/}
});
}// if
}});
}// if
++i;
}// for
}// void propertyChange( PropertyChangeEvent evt ) |
Partager