Problem mit MouseListener bei JButton

Status
Nicht offen für weitere Antworten.

Transmitter

Mitglied
Hi

Ich habe da ein Problem: ich kann addMouseListener nicht benutzen, und ich weiß nicht wieso, ich bekomme auch keine Fehlermeldungen.
Hier der Code:

Code:
jButton = new JButton ( );
jButton.setPreferredSize ( new java.awt.Dimension ( 232, 85 ) );
jButton.setBackground ( new java.awt.Color ( 228, 231, 230 ) );
jButton.setBorderPainted ( false );
jButton.setIcon ( new ImageIcon ( getClass ( ).getResource ( "/gui/gfx/buttons/LeerGross.jpg" ) ) );
jButton.setText ( ButtonText );
jButton.setFont(new java.awt.Font("Dialog", java.awt.Font.BOLD, 18));
jButton.setVerticalTextPosition ( AbstractButton.CENTER );
jButton.setHorizontalTextPosition ( AbstractButton.CENTER );

jButton.addMouseListener
(
	new java.awt.event.MouseAdapter ( )
	{
		public void mouseClicked ( java.awt.event.MouseEvent e )
		{
			System.out.println ("test");
			controller.ladeView ( "Serie1" );
			controller.setAttribute ( "ModellTypID", id.toString() );
			bg.getJPanelEast ( );
			bg.getContentPane ( );
		}
	}
);

test wird nicht ausgegeben, aber wenn ich die println Anweisung unmittelbar vor jButton.addMouseListener setze, wird test ausgegeben.

Was mache ich denn falsch?
Import Anweisungen stimmen auch .. ich habe echt keine Ahnung mehr 🙁

Danke schon mal.

Bye, Transmitter
 
hm naja JButton verwendet eigentlich so weit ich weis den ActionListener....
und damit funktionierts auch 😉

MouseListener kann man für zb ein zeichenprogramm oder sonstites verwenden...
 
Nein, geht leider auch nicht ..

Code:
    private JButton getJButton ( String ButtonText, int ModellTypID )
    {
    	jButton = null;
    	Integer id = new Integer ( ModellTypID );
        if ( jButton == null )
        {
			jButton = new JButton ( );
			jButton.setPreferredSize ( new java.awt.Dimension ( 232, 85 ) );
			jButton.setBackground ( new java.awt.Color ( 228, 231, 230 ) );
			jButton.setBorderPainted ( false );
			jButton.setIcon ( new ImageIcon ( getClass ( ).getResource ( "/gui/gfx/buttons/LeerGross.jpg" ) ) );
			jButton.setText ( ButtonText );
			jButton.setFont(new java.awt.Font("Dialog", java.awt.Font.BOLD, 18));
			jButton.setVerticalTextPosition ( AbstractButton.CENTER );
			jButton.setHorizontalTextPosition ( AbstractButton.CENTER );
			
			jButton.addActionListener ( this );
			controller.ladeView ( "Serie1" );
			controller.setAttribute ( "ModellTypID", id.toString() );
			
			System.out.println ("text: "+ButtonText);
        return jButton;
    }



    public void actionPerformed ( ActionEvent e )
    {
    	System.out.println("test");

    	bg.getJPanelEast ( );
	bg.getContentPane ( );
    }

actionPerformed wird bei einem Klick nicht ausgeführt.

Kann es evtl. mit der initalisierung zusammen hängen:
Code:
private void addAllButtons ( )
{
	int i = 0;
	Collection buttons = this.arten.getArtEinesHerstellers ( this.controller );
	
	this.controller.ladeView ( "Serie1" );
	
	for ( Iterator iter = buttons.iterator ( ); iter.hasNext ( ); i++ )
	{
			this.jButton = null;
			HerstellerArtTypNummer buttonInahlt = ( HerstellerArtTypNummer ) iter.next ( );
			this.controller.removeAttribute ( "ModellTypID" );
			this.controller.setAttribute ( "ModellTypID", new Integer ( buttonInahlt.getModellTypID ( ) ) );
			jHintergrundPanel.add ( getJButton ( buttonInahlt.getArtName ( ), buttonInahlt.getModellTypID ( ) ), null );
			this.jButton = null;
	}
}

Da werden sollen in der for x Buttons mit der einen Methode getJButton erzeugt werden.

Kann es damit zusammen hängen?

Hoffe, du / ihr könnt mir helfen!
Ich bin am verzweifeln 🙁

[edit]
Das ganze ist ein JPanel und kein JFrame .. hoffe, das macht keine Unterschiede, da ich auf JPanel angewiesen bin.
[/edit]
 
hm schaut so aus als hättest du nur eine instanz des Jbutton...
kann es damit zusamenhängen?? (kenn mich mit der java referenziereung nicht so aus) *duck*^^

probier mal nicht nur einen JButton zu verwenden sondern für jeden button den du verwendest auch eine instanz zu erzeugen...

dürfte mit clone() funktionieren... mach das bei der rückgabe des Jbuttons aus der getButton() methode
 
Wie mache ich denn clone() sichtbar?

Also .. clone ist ja protected, und ich kann auf meiner JButton instanz nicht drauf zugreifen.

Wie bekomme ich denn dann die tiefe Kopie hin?
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben