Listbox löschen | OnMouseOver

Status
Nicht offen für weitere Antworten.

eol

Aktives Mitglied
Gutn Moin Leutz!
Ich hab zwei Fragen:
Wie kann ich eine Listbox komplett löschen (wenn vorher meinetwegen 3 Sachen vorher drin stehen)?
Vielleicht irgendwas mit ListDelete?

Meine zweite Frage is schon nen bisschen schwieriger:

Die Oberfläche bzw. eigentlich sollen nur die Button die Farbe ändern, wenn die Mouse über einen best. rüberfährt.
Prinzip wie bei JavaScript/ Website's: OnMouseOver();

Code:
public void mouseEntered{??}

Was kommt in die Klammern rein? Muss ich dann nen "if" nehmen? Wenn "b1" (Button1) die Mouse rüberfährt? Wie läuft dat denn dann?
Thx
 
was meinst du mti ListBox ?? eine awt.List? kuck api: removeAll()
zur zweiten frage: button.setBackground()
 
Dat Prob is bloß bei den Button:
Ich hab 13 Button! soll ich dann für jeden button b1.setBackground(new Color(100,100,100)); schreiben?
 
Nein,denn nicht jeder button wird bei dir b1 heissen 😉

Wenn du 13 Buttons hast, musst du das für die 13 Buttons machen....soll Java etwa raten welchen Button er gerade verändern soll?
 
Du brauchst natürlich nicht 13 MouseListener, ich hoffe, das ist klar!?

Wenn Du eine Klasse hast, sagen wir ColorMouseListener:
Code:
class ColorMouseListener extends MouseAdapter {

  public void mouseEntered(MouseEvent e) {
    Object o = e.getSource();
    if ( o instanceof JButton ) {
      ((JButton)o).setBackground( Color.red ) ;
    }
  }

  public void mouseExited(MouseEvent e) {
    Object o = e.getSource();
    if ( o instanceof JButton ) {
      ((JButton)o).setBackground( Color.blue ) ;
    }
  }

}

So reicht das aus, eine Instanz davon zu bilden und diese kannst Du dann deinen 13 Buttons zuweisen, etwa so:
Code:
ColorMouseListener cml = new ColorMouseListener();

JButton b1 = new JButton("b1");
this.add(b1, BorderLayout.NORTH);
b1.addMouseListener( cml );

JButton b2 = new JButton("b2");
this.add(b2, BorderLayout.SOUTH);
b2.addMouseListener( cml );

Und schon reagieren deinen Buttons wie gewünscht.
 
Tachjen!
Ich kriegs nich hin! Verdammter kack...

Ich hab in meinem Ordner zwei Dateien:
1) benutzeranmeldung.java
2) mouseaction.java

Zur 1):
Code:
public benutzeranmeldung(){
        super("Benutzeranmeldung");
        addWindowListener(this);
        mouseaction mouseevents=new mouseaction(this);
        b1.addMouseListener(mouseevents);
        b2.addMouseListener(mouseevents);
        b3.addMouseListener(mouseevents);
        b4.addMouseListener(mouseevents);
        b5.addMouseListener(mouseevents);
        b6.addMouseListener(mouseevents);
        b7.addMouseListener(mouseevents);
        b8.addMouseListener(mouseevents);
        b9.addMouseListener(mouseevents);
        b10.addMouseListener(mouseevents);
        b11.addMouseListener(mouseevents);
        b12.addMouseListener(mouseevents);
        b13.addMouseListener(mouseevents);

Zur 2):
Code:
import java.awt.event.*;

class mouseaction implements MouseListener{
	benutzeranmeldung layout;

	public mouseaction(benutzeranmeldung wert) {
		layout=wert;
	}

public void mouseClicked(MouseEvent e){};
public void mouseEntered(MouseEvent e){ 
    Object o=e.getSource(); 
    if (o instanceof Button) { 
      ((Button)o).setBackground(Color.red); 
    } 
    };

public void mouseExited(MouseEvent e) {};
public void mousePressed(MouseEvent e) {};
public void mouseReleased(MouseEvent e) {};

}

Dat funzt net!!! Aaahhh...
Wat mach ick denn falsch? Muss ich bei "Button" "b1" hin? Oder wie? Eierkuchen?
Bitte um Hilfe
 
eol hat gesagt.:
Dat funzt net!!! Aaahhh...
Wat mach ick denn falsch? Muss ich bei "Button" "b1" hin? Oder wie? Eierkuchen?
Bitte um Hilfe

Sag uns doch erst mal was nicht geht und wie die Fehlermeldung lautet (falls vorhanden)
 
Code:
public void mouseEntered(MouseEvent e){ 
	layout.b1.setBackground(new Color(80,80,80));
	};
public void mouseExited(MouseEvent e) {
	layout.b1.setBackground(new Color(100,100,100));
	};
So weit funzt dat.
Diese Sache oben reagiert ja auf alle Button. Jetzt will ich aber, das nur der button reagiert, wo man auch rüberfährt. das heisst: programm soll nur auf button(b1) reagieren, wenn man mit der mouse über b1 geht.

Wie mach ich das?
Muss ja irgendwie wissen, welcher gerade angesprochen wird.
Bitte um Hilfe
 
ich denke das hat sky80 schon gut beschrieben:
Code:
class ColorMouseListener extends MouseAdapter {

  public void mouseEntered(MouseEvent e) {
    Object o = e.getSource();
    if ( o instanceof JButton ) {
      ((JButton)o).setBackground( Color.red ) ;
    }
  }

  public void mouseExited(MouseEvent e) {
    Object o = e.getSource();
    if ( o instanceof JButton ) {
      ((JButton)o).setBackground( Color.blue ) ;
    }
  }

}
 
Ne. laut seinem source isses egal über welchen Button er fährt, der erste wird umgefärbt, was er wohl auch so meinte ^^
 
Dreezard hat gesagt.:
Ne. laut seinem source isses egal über welchen Button er fährt, der erste wird umgefärbt, was er wohl auch so meinte ^^
Die Sourcen hatte ich schon verstanden ;-)
Nur die Frage nicht...
 
Also, so wie es is isser nicht zufrieden ^^
Er will, dass wenn er über Button 2 fährt -> Button 2 farbe ändern ect.
Quasi was du schon geschrieben hattest und ich nochma zitiert hatte
 
Vielleicht nochmal zur Erklärung:
Code:
  public void mouseXXX(MouseEvent e) { 
    Object o = e.getSource(); // o ist der Button, der das Event auslöst, also wenn Du über Button1 fährst dein b1, usw
    if ( o instanceof JButton ) { //Prüfen, ob es ein JButton (geht natürlich auch mit Button) ist
      ((JButton)o).setBackground( ??? ) ; // Cast auf JButton (geht natürlich auch mit Button) und setzen der Farbe '???'
    } 
  }
 
Abend!

😀 Bin ich dümm! :applaus: thx for all. Sieht dat jetzt geil aus... 8)

Nächste Frage:
Wie kann ich per Buttonknopf Outlook Express öffnen?
Code:
if (e.getActionCommand().equals("E- Mail schreiben")){*};

Hab gelesen, dass ich irgendwas mit Runtime nehmen muss... da ich aber noch der totale Loser in solchen sachen bin, kenn ich die syntax natürlich nich.
Also bitte helf mir...
 
Abend Leute!

Code:
		if (e.getActionCommand().equals("E- Mail schreiben"))
			{
				try {
					Runtime.getRuntime().exec("notepad");
				}
				catch (Exception ee) {
					System.err.println(ee.toString());
				}
			}

Jo... mmmhhh.... was kommt anstatt von "notepad" rein? der vollständige Pfad? Eigentlich nich, weil das ja bei jedem unterschiedlich is.
Wat meint ihr?
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben