Nashbar Skrevet 16. mars 2010 Del Skrevet 16. mars 2010 (endret) 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 16. mars 2010 av Hr_Pengesekk Lenke til kommentar
Patton Skrevet 16. mars 2010 Del Skrevet 16. mars 2010 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
Nashbar Skrevet 16. mars 2010 Forfatter Del Skrevet 16. mars 2010 ok, det var en trykkfeil da jeg tilpasset til forumet.. har rettet nå. i programmet mitt heter konstruktør og det klasse samme, og problemet er noe annet. Lenke til kommentar
quantum Skrevet 16. mars 2010 Del Skrevet 16. mars 2010 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
Nashbar Skrevet 19. mars 2010 Forfatter Del Skrevet 19. mars 2010 ja mulig jeg har det. løste det ved å sende hele JFrame-objektet istedet for Jbutton'en. vet ikke hvorfor det skal virke bedre, men det gjør nå hverfall det. takk =) Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå