Gå til innhold

sender JButton til egen klasse => egen klasse "mister" den... hjelp!


Anbefalte innlegg

ok, saken er som så. jeg bruker netbeans, og har brukt gui-builder til å lage en enkel gui med blandt annet JButtons. jeg vil styre disse knappene (bakgrunnfarge osv) fra min egen klasse(kaller den myClass fra nå). jeg oppretter et objekt av myClass i gui klassen, og sender med en JButton. i myClass sin konstruktør setter jeg en referanse til å peke på JButton objektet. hvis jeg deretter prøver å sette Jbutton sin bakgrunnsfarge fra myClass får jeg nullpoiterexception! noen som kan skjønne hvorfor?

 

 

 

forenklet kode:

 

public class gui extends javax.swing.JFrame { //generert gui klasse

public gui() {

initComponents();

}

//Generert kode

public javax.swing.JButton JButtonObj;

JButtonObj = new javax.swing.JButton();

//egen kode

public myClass myClassObj = new myClass(JButtonObj);

 

}//end gui

 

public class myClass {

JButton _jb;

public myClass(JButton jb) { //konstruktør

_jb = jb;

}

public void method() {

_jb.setBackground(Color.ORANGE); //her går det gærent

}

}//end myclass

Endret av Hr_Pengesekk
Lenke til kommentar
Videoannonse
Annonse

public class myClass {
JButton _jb;
public button(JButton jb) { //konstruktør
_jb = jb;
}
public void method() { 
_jb.setBackground(Color.ORANGE); //her går det gærent
}
}//end myclass

Dette kan ikke kompilere siden konstruktøren ikke har samme navn som klassen.

Lenke til kommentar

Dette kjører finfint, så du har nok utelatt selve pointet fra koden du posta vil jeg tro:

 

import java.awt.Color;
import javax.swing.JButton;


public class gui extends javax.swing.JFrame { //generert gui klasse

   public gui() {
   }
   public javax.swing.JButton jButtonObj   = new javax.swing.JButton();
   public myClass myClassObj = new myClass(jButtonObj);

   private class myClass {

       JButton _jb;

       public myClass(JButton jb) { //konstruktør
           _jb = jb;
       }

       public void method() {
           _jb.setBackground(Color.ORANGE); //her går det gærent
       }
   }//end myclass

   public static void main(String arg[]) throws Exception {
       gui myGui = new gui();
       myGui.myClassObj.method();
       System.out.println("successfully done");
   }
}

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...