Jump to content
Sign in to follow this  
Nashbar

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

Recommended Posts

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

Edited by Hr_Pengesekk

Share this post


Link to post

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.

Share this post


Link to post

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.

Share this post


Link to post

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");
   }
}

Share this post


Link to post

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 =)

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...