NSMenu selected event

Diskutiere mit über: NSMenu selected event im Mac OS X Entwickler, Programmierer Forum

  1. Sojus

    Sojus Thread Starter MacUser Mitglied

    Beiträge:
    143
    Zustimmungen:
    3
    Registriert seit:
    30.05.2006
    Hallo Macuser

    Also ich habe ein Problem mit NSMenuItem, habe auch schon auf developer.apple.com gesucht und in diversen Foren, habe aber nur leute gefunden die das problem auch nicht lösen konnten.


    Es ist so, ich möchte ein event auslösen wenn der nutzer mit der maus über ein NSMenuItem geht also wenn es ausgewählt ist. Mit action/target kann ich ja nur die methode definieren, die beim klicken auf das Item ausgelöst wird. Habe wirklich lange gesucht aber nichts gefunden.

    Hat jemand eine idee wie ich das realisieren könnte, oder wo ich noch danach suchen könnte.

    mfg
     
  2. Sojus

    Sojus Thread Starter MacUser Mitglied

    Beiträge:
    143
    Zustimmungen:
    3
    Registriert seit:
    30.05.2006
    habe es schon mit itemChanged: oder submenuAction: probiert funzt aber auch nicht

    mhm dann ist es anscheinend nicht möglich :-(
     
  3. below

    below MacUser Mitglied

    Beiträge:
    13.882
    Zustimmungen:
    1.086
    Registriert seit:
    15.03.2004
  4. Sojus

    Sojus Thread Starter MacUser Mitglied

    Beiträge:
    143
    Zustimmungen:
    3
    Registriert seit:
    30.05.2006
    thx für den Tip

    das ganze war mir dann aber etwas zu aufändig, desshalb hab ich das ganze mit SWING gemacht. Läuft genau so gut, nur die JR hat ein bisschen lange bis sie gestartet ist.

    Hier mein kleines Programm
    http://grafschokola.gr.funpic.de/FB/JavaFileManager.app.zip

    Ich finde es ziemlich praktisch, es ergänzt den finder dort wo mir funktionen fehlen.

    Ach ja, hier ist noch eine von JTextField geerbte klasse:

    Code:
    import java.awt.event.KeyEvent;
    import java.awt.event.KeyListener;
    import java.io.File;
    import java.io.IOException;
    import javax.swing.JTextField;
    public class FileTextField extends JTextField implements KeyListener {
    	public FileTextField() {
    		this.addKeyListener(this);
    		this.setFocusTraversalKeysEnabled(false);
    	}
    
    	private void enter() {
    		File d = new File(this.getText());
    		if(d.isDirectory() || d.isFile()){
    			try {
    				Runtime.getRuntime().exec(new String[]{"open",this.getText()});
    			} catch (IOException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    	}
    
    	private void tab() {
    		String defined_path = this.getText().substring(0,
    				this.getText().lastIndexOf("/") + 1);
    		String suggestion = this.getText().substring(
    				this.getText().lastIndexOf("/") + 1, this.getText().length());
    		
    		String res = this.getSuggestion(new File(defined_path), suggestion);
    		if(res != null){
    			this.setText(defined_path+res);
    		}
    	}
    
    	private String getSuggestion(File file, String sug) {
    		String res = null;
    		int found = 0;
    		String[] content = file.list();
    		for (int i = 0; i < content.length; i++) {
    			if(content[i].length() >= sug.length()){
    				if (content[i].substring(0, sug.length()).equals(sug)) {
    					res = content[i];
    					found++;
    				}
    			}	
    		}
    		if (found == 1) {
    			return res;
    		} else {
    			return null;
    		}
    	}
    
    	public void keyPressed(KeyEvent arg0) {
    		if (arg0.getKeyCode() == KeyEvent.VK_ENTER) {
    			this.enter();
    		} else if (arg0.getKeyCode() == KeyEvent.VK_TAB) {
    			this.tab();
    		}
    	}
    
    	public void keyReleased(KeyEvent arg0) {
    
    	}
    
    	public void keyTyped(KeyEvent arg0) {
    
    	}
    
    }
    
    
    Wenn man darin einen Pfad eingibt wird der mit tab verfollständigt, mit enter wird das ganze dann mit dem entsprechenden Programm geöffnet, bei einem Verzeichnis zbs. mit dem Finder. Vllt kann das jemand brauchen

    mfg
     
Die Seite wird geladen...
Ähnliche Themen - NSMenu selected event Forum Datum
mouseDown Event auf NSMenu Mac OS X Entwickler, Programmierer 29.11.2012
NSMenuItem event Mac OS X Entwickler, Programmierer 24.10.2006
Carbon: Event Parameter lesen Mac OS X Entwickler, Programmierer 15.08.2005

Diese Seite empfehlen

Benutzerdefinierte Suche