Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / February 2007

Tip: Looking for answers? Try searching our database.

passing value from jcombobox to other classes?

Thread view: 
towers.789@gmail.com - 03 Feb 2007 09:09 GMT
Hi

I have an Jcombobox with an ActionListener set up in a class called
"boxSelected", so that when the user clicks on the choice they're
after the result is sent to a jtext area.

 public class boxlistener implements ActionListener {

       public void actionPerformed(ActionEvent e) {
             if(e.getSource()==queryBox){
                               int selectedIndex =
queryBox.getSelectedIndex();
                               String boxSelected =
queryBox.getSelectedItem().toString();
                               System.out.println("Selected:
"+boxSelected);

             String newline = "\n";

           textArea.append(boxSelected + newline);

            }

       }

  };

The class with the ActionListener, boxlistener, is actually nested
within another class, one called Editor.

My question is, can I pass this new string value, boxSelected, for use
in another class? I'm trying to create a new .java file with a
queryBuilder class and pass this string value for use with that class
there, so I can parse it into some queries.

I am still pretty new. Can anyone show me how to do this, or show me
what code I need? Any help would be really appreciated.

Regards,

John
zhengxianfu@gmail.com - 03 Feb 2007 13:31 GMT
On 2月3日, 下午5时09分, towers....@gmail.com wrote:
> Hi
>
[quoted text clipped - 37 lines]
>
> John

I am not quit understand you, by the way ,cann't  you just create a
object of queryBuild and call its method?
towers.789@gmail.com - 03 Feb 2007 15:14 GMT
> I am not quit understand you, by the way ,cann't  you just create a
> object of queryBuild and call its method?

I don't even have the experience to know how to do that at this stage.
I'm okay working with variables within the one class but I'm having
trouble passing them back and forth between classes and other .java
files, I think.

Regards,

John
Michael Rauscher - 03 Feb 2007 17:00 GMT
towers.789@gmail.com schrieb:

>> I am not quit understand you, by the way ,cann't  you just create a
>> object of queryBuild and call its method?
[quoted text clipped - 3 lines]
> trouble passing them back and forth between classes and other .java
> files, I think.

It doesn't matter in which file a class is defined. So, don't think
about files but classes and objects.

Open a file C.java in some good old text editor of your choice. Declare
a class A by typing the following into the editor:

class A {
    private String x = "Initial Value";

    public void setX( String x ) {
        this.x = x;
    }

    public String getX() {
        return x;
    }
}

The public methods of this class (which form the interface of the class)
indicate, what you need to set x in an object of A. All you need is

a) a reference to an object of A
b) and to call setX

Sure, you want to prove it. Add the following to your C.java text file:

class B {
    private A a;    // the reference to an object of A

    public B(A a) { // constructor that takes a reference to an object
        this.a = a; // of A
    }

    public void doit() {
        a.setX("New Value");
    }
}

Last, we need a third class, one that only defines the main-method. Put
your hands on your keyboard and type the following:

public class C {
    public static final void main( String args[] ) {
        A a = new A();  // create a new instance of A
        B b = new B(a); // create a new instance of B, passing the
                        // newly created instance of A to it.

        System.out.println( a.getX() );
        b.doit();
        System.out.println( a.getX() );
    }
}

Save C.java, compile it by executing "javac C.java". Run it by "java C"
and see what happens.

After that works, let's separate the classes into different files. So,
create two more files A.java and B.java, cut&paste the two classes A and
B into these files and declare them to be public (public class A, public
class B).

Delete the old *.class files. Then, execute "javac C.java" followed by
"java C". Also, have a look at your directory - there'll be three .class
files.

You should have some idea now, how to integrate this into your project.

Bye
Michael


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.