All Downloads are FREE. Search and download functionalities are using the official Maven repository.

bibliothek.notes.view.actions.TitleAction Maven / Gradle / Ivy

package bibliothek.notes.view.actions;

import javax.swing.JOptionPane;

import bibliothek.gui.Dockable;
import bibliothek.gui.dock.action.actions.SimpleButtonAction;
import bibliothek.notes.model.Note;
import bibliothek.notes.util.ResourceSet;

/**
 * An action that changes the {@link Note#setTitle(String) title}-property
 * of a {@link Note}.
 * @author Benjamin Sigg
 *
 */
public class TitleAction extends SimpleButtonAction {
    /** the Note whose title might be changed */
	private Note note;
	
	/**
	 * Creates a new action.
	 * @param note the Note whose title might be changed by this
	 * action
	 */
	public TitleAction( Note note ){
		this.note = note;
		
		setText( "Title" );
		setIcon( ResourceSet.APPLICATION_ICONS.get( "title" ) );
	}
	
	@Override
	public void action( Dockable dockable ){
		super.action( dockable );
		
		String title = JOptionPane.showInputDialog( dockable.getComponent(),
				"Please enter new title of note", "Change title",
				JOptionPane.PLAIN_MESSAGE );
		
		if( title != null )
			TitleAction.this.note.setTitle( title );
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy