MouseListener wird anscheinend nicht benutzt

Status
Nicht offen für weitere Antworten.

Pipboy

Mitglied
Mein Programm sollte jetzt eigentlich fertig sein nur hab ich ein Proplem, es funktioniert nicht :lol: .
Und ich weiss nicht was der Fehler sein könnte aber ich weiss das der MouseListener anscheinend garnicht angesprochen wird.
Wenn ich raten müsste würde ich sagen ich müsste noch irgendwas in der Klasse Window ändern damit es funktioniert, er baut mir zumindestens schonmal ein Fenster auf so wie ich es will aber der MouseListener funktioniert irgendwie nicht :( .
Eigentlich wollte ich den Quelltext nicht posten weil ich niemandem zumuten wollte sich da reinzulesen wegen mir aber ich seh keine andere Möglichkeit :( .
Hier mal der Quelltext:

Code:
import java.awt.*;
import java.awt.event.*;

public class Window extends Frame{
  /**
   * 
   */
  private static final long serialVersionUID = 1L;
/**
   * 
   */
  private MyMouseListener mml = new MyMouseListener(this);
  public int y1=100;
  public int mnuakt=1;
  public int btnakt=1;
  public Label lblUeberschrift = new Label ("");
  public Button[] btn      = new Button[11];
  public String[] btndir   = new String[11]; 
  configRreader cfgread=new configRreader();
  
  public Window(){
    super("Window");
    this.setSize(800,600);
    this.setLayout(null);
    this.setVisible(true);
    lblUeberschrift.setText(cfgread.props[mnuakt].getProperty("mnuname", "Menu"));
    lblUeberschrift.setFont(new Font("", Font.CENTER_BASELINE,20));
    add(lblUeberschrift);
    lblUeberschrift.setBounds(350,50,600,45);
    if(lblUeberschrift.getText().equals("")){
      lblUeberschrift.setVisible(false);
    }
    for (int i=1; i<=10; i++){
      btn[i]=new Button("");
      btn[i].setBounds(200,y1,400,45);
      btn[i].setFont(new Font("", Font.BOLD,16));
      btn[i].addMouseListener(mml);
      y1+=50;
      add(btn[i]);
    } 
    lblUeberschrift.setText(cfgread.props[mnuakt].getProperty("mnuname",null)); 
    boolean btnnull=false;
    while ((btnnull==false)&&(btnakt<=10)){
      String btnname=("btn"+btnakt+"name");
        String btnfold=("btn"+btnakt+"fold");
        btn[btnakt].setLabel(cfgread.props[mnuakt].getProperty(btnname,null));
        btndir[btnakt]=cfgread.props[mnuakt].getProperty(btnfold);
        if(btn[btnakt].getLabel().equals("")){
          btn[btnakt].setVisible(false);
        }
        if((cfgread.props[mnuakt].getProperty(btnname,null)).equals(null)){
        btnnull=true;
      }
      btnakt++;
    }
    //pack();
    System.out.println(cfgread.props[mnuakt].getProperty("btn1fold").substring(4));
  }
  
  
    public static void main(String argv[])
    {
       Window men= new Window();
    }
}

Code:
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;

public class configRreader {

  /**
   * @param args
   */
	Properties[] props = new Properties[100]; 
    StringBuilder sb;
    boolean bool=true;
    String[] list; //CFG Datei Zeilenweise
    int x=1;
    public configRreader(){
    	while (bool==true){
    		String str="";
    		try{
    			String filename = "menu" + (x) + ".txt"; 
    			FileInputStream fi= new FileInputStream(filename); 
    			props[x] = new Properties(); 
    			props[x].load(fi); 
    			fi.close();
    			props[x].list(System.out);
    			x++;
    		}
    		catch ( FileNotFoundException e ) {
    			System.err.println( "Keine Datei gefunden" );
    			bool=false;
    		}
    		catch ( IOException e ) {
        	  System.err.println( "I/O failed." );
        	  bool=false;
    		}
    	
    	}
    }
}
Code:
import java.awt.event.ActionEvent;
import java.awt.event.MouseAdapter;
import java.io.IOException;

public class MyMouseListener extends MouseAdapter {

	  public Window men;
	  public MyMouseListener(Window men)
	  {
	    this.men=men;
	  }

	  Mclicked mc=new Mclicked(this.men);
	  
	  public void MouseClicked(ActionEvent e) throws IOException
	  {
		Object obj = e.getSource(); 
		int x=1;
		while(x<=10){
			if (obj==men.btn[x]){
			mc.mclicked(x);	
			}	
		x++;
	    }
	  }
}
Code:
import java.awt.Button;
import java.awt.Font;
import java.io.IOException;

public class Mclicked {
	public Window men;
	
	public Mclicked(Window men){
		this.men=men;
	}
	public void mclicked(int x) throws IOException{
		String gp=("btn"+x+"fold");
		if(men.cfgread.props[men.mnuakt].getProperty(gp).substring(0,4).equals("menu")){
			System.out.println("menu");
			men.mnuakt=Integer.parseInt(men.cfgread.props[men.mnuakt].getProperty(gp).substring(4));
			men.lblUeberschrift.setText(men.cfgread.props[men.mnuakt].getProperty("mnuname",""));
			for (int i=1; i<=10; i++){
				men.btn[i].setLabel(null);
				men.btn[i].setVisible(false);
			} 
			men.btnakt=1;
			boolean btnnull=false;
			while ((btnnull==false)&&(men.btnakt<=10)){
				String btnname=("btn"+men.btnakt+"name");
				String btnfold=("btn"+men.btnakt+"fold");
				men.btn[men.btnakt].setLabel(men.cfgread.props[men.mnuakt].getProperty(btnname,null));
				men.btndir[men.btnakt]=men.cfgread.props[men.mnuakt].getProperty(btnfold);
				if(men.btn[men.btnakt].getLabel().equals("")){
					men.btn[men.btnakt].setVisible(false);
				}
				else if(true){
					men.btn[men.btnakt].setVisible(true);
				}
				if((men.cfgread.props[men.mnuakt].getProperty(btnname,null)).equals(null)){
					btnnull=true;
				}
	        men.btnakt++;
	      }
		}
		else if(true){
			System.out.println("dir");
			Runtime.getRuntime().exec(men.cfgread.props[men.mnuakt].getProperty(gp));
		}
	}

}
 
R

Roar

Gast
"for (int i=1; i<=10; i++)"
was soll der schwachsinn eigentlich :autsch: du machst dir dadurch nichts einfacher wenn du einfach "das erste element im array ignorierst". ganz im gegenteil. und mit anderen funtkionen funktioniert dein array dann sowieso nicht.

"lblUeberschrift.setFont(new Font("", Font.CENTER_BASELINE,20)); "
wie dir schon im chat gesagt wurde: das zentriert den labelinhalt nicht.

"public void MouseClicked(ActionEvent e) throws IOException "
was erwartest du? es gibt in MouseListener keine methode MouseClicked(ActinoEvent) throws IOException, ergo wird deine methode auch nie aufgerufen. lies hier http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/MouseListener.html

und warum verwendest du überhaupt MouseListener und keine ActionListener für Buttons?
 

Pipboy

Mitglied
Roar hat gesagt.:
"for (int i=1; i<=10; i++)"
was soll der schwachsinn eigentlich :autsch: du machst dir dadurch nichts einfacher wenn du einfach "das erste element im array ignorierst". ganz im gegenteil. und mit anderen funtkionen funktioniert dein array dann sowieso nicht.
Das mit den Arrays funktioniert alles so wie es soll ich werde es mir aber lieber abgewöhnen :) .
"lblUeberschrift.setFont(new Font("", Font.CENTER_BASELINE,20)); "
wie dir schon im chat gesagt wurde: das zentriert den labelinhalt nicht.
Ich weiss aber mir ist erstmal wichtig das das Programm funktioniert und danach gehts an die optischen Aspekte.
"public void MouseClicked(ActionEvent e) throws IOException "
was erwartest du? es gibt in MouseListener keine methode MouseClicked(ActinoEvent) throws IOException, ergo wird deine methode auch nie aufgerufen. lies hier http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/MouseListener.html

und warum verwendest du überhaupt MouseListener und keine ActionListener für Buttons?
Das ist wirklich ein dummer Fehler :oops: , hab nun aber eh das Programm etwas umgeschrieben ua. mit dem ActionListener und es funktioniert nun alles bis auf eins, bei Programmaufruf gibt er mir einen Fehler.
Der lautet: "java.io.IOException: CreateProcess: C:\Dokumente und Einstellungen\Florian Alpers\workspace\Userinterface\menu1.txt error=193"

Der Fehler kommt ja genau in dieser Zeile:
Code:
Runtime.getRuntime().exec(men.cfgread.props[men.mnuakt].getProperty(gp));

In "men.cfgread.props[men.mnuakt].getProperty(gp)" steht "C:\\Dokumente und Einstellungen\\Florian Alpers\\workspace\\Userinterface\\menu1.txt".
 

Mag1c

Top Contributor
Moin,

Pipboy hat gesagt.:
Der Fehler kommt ja genau in dieser Zeile:
Code:
Runtime.getRuntime().exec(men.cfgread.props[men.mnuakt].getProperty(gp));

In "men.cfgread.props[men.mnuakt].getProperty(gp)" steht "C:\\Dokumente und Einstellungen\\Florian Alpers\\workspace\\Userinterface\\menu1.txt".

und ? Mit getRuntime().exec(...) startest du externe Programme. In deinem Fall versuchst du eine Textdatei zu starten ? Was bezweckst du damit ?

Gruß
Mag1c
 

Pipboy

Mitglied
Mag1c hat gesagt.:
Moin,

Pipboy hat gesagt.:
Der Fehler kommt ja genau in dieser Zeile:
Code:
Runtime.getRuntime().exec(men.cfgread.props[men.mnuakt].getProperty(gp));

In "men.cfgread.props[men.mnuakt].getProperty(gp)" steht "C:\\Dokumente und Einstellungen\\Florian Alpers\\workspace\\Userinterface\\menu1.txt".

und ? Mit getRuntime().exec(...) startest du externe Programme. In deinem Fall versuchst du eine Textdatei zu starten ? Was bezweckst du damit ?

Gruß
Mag1c
Es soll ja auch über einen Button ein externes Programm gestartet werden aber das wird es ja nicht :( .
 

Mag1c

Top Contributor
Ja ok,

aber eine Textdatei kann man nicht starten. Du mußt schon das Programm, was du starten willst, mit angeben.

Gruß
Mag1c
 

The_S

Top Contributor
1. dadurch verlierst du die Systemunabhängigkeit
2. für windows

Code:
Runtime.getRuntime().exec("cmd /c " + pfad);

[edit] wenn du die Systemunabhängigkeit nicht verlieren willst, dann mach doch einfach nen neues JFrame oder so auf, add ne JTextArea und les da dann deine Textdatei rein.
 

Pipboy

Mitglied
In meiner Config möchte ich den Pfad einer Datei (exe, bat, irgendwas) schreiben und die soll dann mit dem drücken des Buttons geöffnet werden bzw. einfach ausgeführt werden.
Es sollen da vornehmlich exe Dateien kommen.
Es soll auch nur unter Windows laufen können.

Edit: Bei einer exe Datei hats nu funktioniert aber bei der Textdatei noch nicht :( .
 

Newlukai

Mitglied
Pipboy hat gesagt.:
Edit: Bei einer exe Datei hats nu funktioniert aber bei der Textdatei noch nicht :( .

Weil man eine Textdatei nicht ausführen kann. Es geht nicht. Nein. Wirklich nicht. Man kann eine Textdatei nicht ausführen. Ganz ehrlich.
Man kann höchstens eine Editor starten und diesem als Parameter die Textdatei (den Pfad dahin) mitgeben. Der Editor startet und lädt die Textdatei. Das geht. Ja wirklich. Denn Programme kann man starten. Ganz ernsthaft.
 

The_S

Top Contributor
Doch, ganz ehrlich, unter Windows kannste auch einfache Dateien wie z. B. Textdateien ausführen!

@Pipbox

zeig mal deinen Code und den Pfad zur Exe und den zur Textdatei.
 

Pipboy

Mitglied
Hobbit_Im_Blutrausch hat gesagt.:
1. dann schau dir bei mir 2. an
2. warum überhaupt java?
1. Funktioniert aber nur mit exe Dateien.
2. Es ist die einzigste Programmiersprache die ich bisher mehr oder weniger kenne.

Ich versuche jetzt erstmal daraus eine ausführbare Datei zu machen und lese dafür erstmal etwas.

PS: Danke :D .
 

The_S

Top Contributor
Pipboy hat gesagt.:
Hobbit_Im_Blutrausch hat gesagt.:
1. dann schau dir bei mir 2. an
2. warum überhaupt java?
1. Funktioniert aber nur mit exe Dateien.

:roll:

Code:
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import java.io.IOException;

public class RuntimeTest extends JFrame{
	
	public RuntimeTest() {
		
		JFileChooser choos = new JFileChooser();
		choos.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
		while (true) {
			int returnVal = choos.showOpenDialog(this);
			if (returnVal == JFileChooser.APPROVE_OPTION) {
				try {
					Runtime.getRuntime().exec("cmd /c start \"\" \"" + choos.getSelectedFile() + "\"");
				}
				catch (IOException e) {
					System.out.println(e);
				}
			}
			else {
				break;
			}
		}
	}
	
	public static void main(String[] args) {
		
		RuntimeTest rt = new RuntimeTest();
	}
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P JFrame, Linien zeichnen, MouseListener Java Basics - Anfänger-Themen 2
H MouseListener klicks begrenzen Java Basics - Anfänger-Themen 4
H MouseListener begrenzen und Speichern Java Basics - Anfänger-Themen 1
V Problem - MouseListener/2DGraphics Java Basics - Anfänger-Themen 2
R Variablen MouseListener funktioniert auf anderen Pcs nur bedingt Java Basics - Anfänger-Themen 6
G MouseListener funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
GRAZZ0R MouseListener - Rechteck Bewegen Java Basics - Anfänger-Themen 1
R Variable Klassenübegreifend MouseListener Java Basics - Anfänger-Themen 0
D MouseListener funktioniert nach Timerstart nicht mehr Java Basics - Anfänger-Themen 9
J MouseListener für Schleifen-Objekte Java Basics - Anfänger-Themen 13
S vom JPanel aus durch Mouselistener Internet aufrufen Java Basics - Anfänger-Themen 6
S GUI ImageIcon Mouselistener Link Java Basics - Anfänger-Themen 0
P MouseListener funktioniert nicht Java Basics - Anfänger-Themen 6
J KeyListener,MouseListener,MouseMotionListener und static Java Basics - Anfänger-Themen 7
P Problem mit MouseListener Java Basics - Anfänger-Themen 4
T MouseListener, recht Taste Java Basics - Anfänger-Themen 2
M MouseListener funktioniert nicht Java Basics - Anfänger-Themen 9
E Mouselistener auf jTable Java Basics - Anfänger-Themen 18
B Variablen an MouseListener übergeben Java Basics - Anfänger-Themen 5
H MouseListener für ein eingefügtes Bild in einem JFrame Java Basics - Anfänger-Themen 7
H Mouselistener bei JTable Java Basics - Anfänger-Themen 4
G MouseListener für mehrere Buttons Java Basics - Anfänger-Themen 11
J MouseListener fuer gezeichnete Polyline Java Basics - Anfänger-Themen 3
L Label + MouseListener Java Basics - Anfänger-Themen 12
M MouseListener funkioniert auf JPanel nicht Java Basics - Anfänger-Themen 8
P Jtree MouseListener und NoCollapse Java Basics - Anfänger-Themen 2
M Schiebepuzzle: MouseListener und Graphics? Java Basics - Anfänger-Themen 6
M MouseListener Java Basics - Anfänger-Themen 2
kitz MouseListener Java Basics - Anfänger-Themen 8
B MouseListener & Graphics Java Basics - Anfänger-Themen 10
D Problem mit Mouselistener und jtable Java Basics - Anfänger-Themen 7
C fragen zu MouseListener Java Basics - Anfänger-Themen 3
M MouseListener funktioniert in jar-file nicht mehr Java Basics - Anfänger-Themen 13
F Logikproblem: Auf Mouselistener warten Java Basics - Anfänger-Themen 6
E Auf Mouselistener warten?! Java Basics - Anfänger-Themen 20
S Probleme mit 2 mouselistener Java Basics - Anfänger-Themen 6
A Frage zu MouseListener Java Basics - Anfänger-Themen 2
D Mouselistener Java Basics - Anfänger-Themen 2
A jPanel an MouseListener übergeben? Java Basics - Anfänger-Themen 2
S Swing JEditoPane MouseListener Java Basics - Anfänger-Themen 5
M Mouselistener Java Basics - Anfänger-Themen 4
S MouseListener funzt net. Java Basics - Anfänger-Themen 5
G MouseListener double click? Java Basics - Anfänger-Themen 1
V MouseListener Java Basics - Anfänger-Themen 5
M MouseListener Java Basics - Anfänger-Themen 3
N Mouselistener? Java Basics - Anfänger-Themen 5
T ein MouseListener pro Objekt sinnvoll? Java Basics - Anfänger-Themen 4
F MouseListener - Unhandled IOException Java Basics - Anfänger-Themen 2
U MouseListener Java Basics - Anfänger-Themen 2
L Array von Buttons, jeder soll MouseListener haben Java Basics - Anfänger-Themen 5
S MouseListener - Events auf Mouseklick Java Basics - Anfänger-Themen 14
L MouseListener Problem. Java Basics - Anfänger-Themen 2
S mouselistener Java Basics - Anfänger-Themen 3
N MouseListener Java Basics - Anfänger-Themen 2
J MouseListener implementieren Java Basics - Anfänger-Themen 12
N MouseListener - reagiert zu spät Java Basics - Anfänger-Themen 3
D JList - Textzeilen MouseListener zuweisen Java Basics - Anfänger-Themen 4
M prüfen ob mouselistener gesetzt ist. Java Basics - Anfänger-Themen 10
O image und mouseListener Java Basics - Anfänger-Themen 15
W MouseListener Probleme beim Abfangen Java Basics - Anfänger-Themen 8
P Kann keinen MouseListener hinzufügen Java Basics - Anfänger-Themen 3
G MouseListener einbauen - wie? Java Basics - Anfänger-Themen 4
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
I Exception wird gefangen, aber trotzdem in Error Log? Java Basics - Anfänger-Themen 10
H JDK installieren jdk-21 wird nicht erkannt Java Basics - Anfänger-Themen 13
T if-else Bedingung wird ignoriert Java Basics - Anfänger-Themen 4
K Warum wird mir "Empfangen vom Client:" nicht sofort ausgegeben(Server/Client) Java Basics - Anfänger-Themen 3
P Webseite vom Smartmeter wird nur unleserlich angezeigt Java Basics - Anfänger-Themen 7
A Warum wird mein jdk nicht gefunden? Java Basics - Anfänger-Themen 3
J jar Befehl wird nicht erkannt Java Basics - Anfänger-Themen 7
M Anonyme Klassen - Warum wird in der Konsole nichts ausgegeben? Java Basics - Anfänger-Themen 1
T catch(InputMismatchException) wird nicht ausgefürt/erkannt Java Basics - Anfänger-Themen 12
berserkerdq2 Intelij, wie kann ich einstellen, dass die aktuelle Klasse ausgeführt wird, wenn ich aufs Startsymbol drücke, gibts da eine Tastenkombination? Java Basics - Anfänger-Themen 11
M Verständnisfrage: Warum wird die Datei ohne Inhalt übertragen Java Basics - Anfänger-Themen 3
Ostkreuz Wieso wird die Methode nochmal aufgerufen? Java Basics - Anfänger-Themen 5
Oneixee5 Maven Plugin wird 2 mal ausgeführt Java Basics - Anfänger-Themen 10
R Compiler-Fehler Variable wird nicht gefunden bzw. erkannt? Java Basics - Anfänger-Themen 2
D Interface Methode wird ungewollt in der Subklasse überschrieben Java Basics - Anfänger-Themen 5
C Was tun wenn .class erwartet wird ? Java Basics - Anfänger-Themen 6
T Meine Klasse wird nicht gefunden Java Basics - Anfänger-Themen 1
T Wie kann man es machen das ein Objekt nicht übermalt wird Java Basics - Anfänger-Themen 2
K Warum wird mir hier nach dem ersten Durchlauf zwei mal "welchen Datentyp wollen sie übergeben?" ausgegeben ? Java Basics - Anfänger-Themen 1
MiMa Ungültiges Datum wird nicht erkannt ?? Java Basics - Anfänger-Themen 6
schemil053 Multithread - Input verrutscht während etwas ausgegeben wird Java Basics - Anfänger-Themen 6
K REGEX - Rechnungsbetrag wird nicht richtig ausgelesen. Java Basics - Anfänger-Themen 3
_user_q Timer - ScheduledExecutorService wird schon vorher beendet Java Basics - Anfänger-Themen 5
X Erste Schritte Scanner eingabe wird übersprungen Java Basics - Anfänger-Themen 4
H Compiler-Fehler Klasse in einem Package wird nicht gefunden bzw. akzeptiert Java Basics - Anfänger-Themen 12
L Switch-Case Multiplikation wird nicht ausgegeben Java Basics - Anfänger-Themen 1
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
M Text wird in der Console nicht ausgegeben. Java Basics - Anfänger-Themen 11
I Methoden Wieso wird mein Array "a" verändert und meine Variable "a" nicht? Java Basics - Anfänger-Themen 4
S Datei anlegen Problem! Groß- und Kleinschreibung wird nicht unterschieden Java Basics - Anfänger-Themen 4
sserio Zweidimensionales Array [][] wird untereinander ausgegeben Java Basics - Anfänger-Themen 14
sserio Math. Befehl wird rot markiert Java Basics - Anfänger-Themen 5
M Rechteck wird nicht angezeigt Java Basics - Anfänger-Themen 3
B Bungeecord | ProxiedPlayer wird nicht in ArrayList hinzugefügt Java Basics - Anfänger-Themen 1
U Methode wird genutzt, ohne dass ich die aufrufe? Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben