Alexey

you are right, at the point i want to change the jLabel2 it is 'null',
but it isn't 'null' when i first set it to '0'. Is this because it
gets instantiated in an other method (gets done automatically by
netbeans)?

when i put
jLabel2 = new JLabel();
in front of the setText i don't get the error but the text on my
original jLabel2 doesn't change (probably because i'm referring to the
wrong instance.), how can i reach the correct instance or how can i
make shure jLabel2 doesn't become 'null' ?

keep in mind I am a beginner, thanks for the patience.

greetings

Marco



On 30 mrt, 18:10, Alexey Zinger <[email protected]> wrote:
> Why don't you stick a little debug output of jLabel2 value somewhere just 
> before you call jLabel2.setText.
>
> ________________________________
> From: Marco <[email protected]>
> To: The Java Posse <[email protected]>
> Sent: Tue, March 30, 2010 11:24:09 AM
> Subject: [The Java Posse] Re: Changing JLabel text from other Class
>
> thanks for the response
>
> i used following code to check if i was on the EDT
>
> if(javax.swing.SwingUtilities.isEventDispatchThread()){
>     System.out.println("is EDT");
>     System.out.println( Thread.currentThread().getName() );
>     jLabel2.setText("test");
>
> }else{
>
>     System.out.println("is not EDT");
>
> }
>
> the console returns "is EDT" and the name "AWT-EventQueue-1" but still
> gives an error on the 'jLabel.setText("test");' line
>
> in the run method of the 'Agenda' class i use 'jLabel2.setText(""+
> userID);'  this works and gives no errors. It sets jLabel2 to the
> original userID value of 0.
>
> it only generates an error used in the setUserID method that gets
> called from the 'Login' class
>
> following lines instantiate (?) jLabel2
>
> private javax.swing.JLabel jLabel2; (ivar)
> jLabel2 = new javax.swing.JLabel(); (in the initComponents() method
> that gets called in the initial run method of the 'Agenda' class)
> the above code was generated by Netbeans.
>
> ???
>
> greetings
>
> Marco
>
> On 30 mrt, 09:17, Jan Goyvaerts <[email protected]> wrote:
>
>
>
>
>
> > I haven't got time yet to read the whole conversation, but...
>
> > a regular Swing beginner's error is to work outside the EDT (event dispatch
> > thread). If you're changing the label - or anything visual for that matter -
> > outside the EDT weird things can happen. Look into SwingUtilities to check
> > if the current thread is the EDT. Otherwise schedule it to run in the EDT.
>
> > MAYBE that's your problem.
>
> > On Tue, Mar 30, 2010 at 00:43, Alexey Zinger <[email protected]> wrote:
> > > My money is jLabel2 is null.  Even if userID is null, jLabel2.setText("" +
> > > userID) should still work.  Not to mention that calling JLabel.setText 
> > > with
> > > null is allowed.
>
> > > Alexey
> > > 2001 Honda CBR600F4i (CCS)
> > > 2002 Suzuki Bandit 1200S
> > > 1992 Kawasaki EX500
> > >http://azinger.blogspot.com
> > >http://bsheet.sourceforge.net
> > >http://wcollage.sourceforge.net
>
> > > ------------------------------
> > > *From:* Casper Bang <[email protected]>
> > > *To:* The Java Posse <[email protected]>
> > > *Sent:* Mon, March 29, 2010 6:15:55 PM
> > > *Subject:* [The Java Posse] Re: Changing JLabel text from other Class
>
> > > First of all, there are far better forums for these kind of questions.
> > > A good one would be Sun's Swing forum:
> > >http://forums.sun.com/forum.jspa?forumID=57
>
> > > Secondly, your code is practically impossible to read because of all
> > > the comments. When you post sample code, remember to trim it down to
> > > just the essentials where the problem is reproducible.
>
> > > Third, when encountering an NPE (Null Pointer Exception), one of the
> > > referenced objects must not have been instantiated. Start tracing
> > > backwards from there and deduce where Null could've been introduced,
> > > either by logically tracking code paths or by using a debugger.
>
> > > The culprit in this case is userID, based on the fact that the
> > > exception is thrown from the event dispatching thread which is invoked
> > > when you call setText. You have an awful lot of similar variables, uID
> > > as the parameter, userIDapp as a copy of uID that you print out and
> > > then finally the userID which you probably never set.
>
> > > /Casper
>
> > > On Mar 29, 7:34 pm, Marco <[email protected]> wrote:
> > > > Hello,
>
> > > > I have 2 classes one is the application and the other one the login
> > > > screen, when i start the application i create a JFrame with the login
> > > > screen. My login screen checks the username and password in a mysql db
> > > > and when correct it returns the userID to the application (because the
> > > > application needs to know this). This al works with the following
> > > > code :
>
> > > > in the login screen class 'Login' i have the code
> > > > [code]
>
> > > >             Agenda ag = new Agenda();
>
> > > > ...
>
> > > > if(userOK){
> > > >         System.out.println("userOK gets executed."); //to check if the
> > > > credentials where ok
> > > >             jLabel1.setBackground(Color.green);
> > > >             jLabel1.setText("You can enter"); //jLabel1 on the login
> > > > screen itself
> > > >         System.out.printf("userid %d\n",userID); //to check the value of
> > > the
> > > > userID (this works)
> > > >             ag.setUserID(userID); //method in the application class
> > > > 'Agenda' to set the userID there
> > > >         }
> > > > [/code]
>
> > > > in the application class 'Agenda' i have the setUserID method:
> > > > [code]
> > > > public void setUserID(int uID){
> > > >     System.out.println("setUserID"); //to check if the method gets
> > > > called = ok
> > > >     userIDapp=uID;
> > > >     System.out.printf("userid %d\n",userIDapp);//to check if the uID
> > > > argument gets assigned to the locale variable userIDapp = ok
> > > >     jLabel2.setText(""+ userID); //when i try to set the text of
> > > > jLabel2 a JLabel in the 'Agenda' class i get an error also when i just
> > > > put jLabel2.setText("test");}
>
> > > > [/code]
>
> > > > the error:
>
> > > > Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
> > > >         at agenda.Agenda.setUserID(Agenda.java:93)
>
> > > > line 93 =
> > > > [code]
> > > >     jLabel2.setText(""+ userID);
> > > > [/code]
>
> > > > I'm still learning so if i make big mistakes here forgive me and teach
> > > > me better ways
>
> > > > thanks
>
> > > > Marco
>
> > > --
> > > You received this message because you are subscribed to the Google Groups
> > > "The Java Posse" group.
> > > To post to this group, send email to [email protected].
> > > To unsubscribe from this group, send email to javaposse+
> > > [email protected].
> > > For more options, visit this group at
> > >http://groups.google.com/group/javaposse?hl=en.
>
> > >  --
> > > You received this message because you are subscribed to the Google Groups
> > > "The Java Posse" group.
> > > To post to this group, send email to [email protected].
> > > To unsubscribe from this group, send email to
> > > [email protected]<javaposse%2bunsubscr...@googlegroups
> > >  .com>
> > > .
> > > For more options, visit this group at
> > >http://groups.google.com/group/javaposse?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "The Java Posse" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group 
> athttp://groups.google.com/group/javaposse?hl=en.

-- 
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to