From: Kenworthy, E. <Edw...@ma...> - 2002-07-23 07:13:24
|
Here's one of my scripts, pretty much illustrates every way to import a class and use it. Edward import java.util as util import javax.swing as swing import java.awt as awt from uk.co.crispgroup.car.renderer import CandidateLetterElementPanel from uk.co.crispgroup.car.renderer import ElementHandler from uk.co.crispgroup.car.renderer import MultiLineLabel class AdviserChoice(CandidateLetterElementPanel): def __init__(self, element): gbc = awt.GridBagConstraints(0, 0, 1, 1, 0, 0, awt.GridBagConstraints.WEST, awt.GridBagConstraints.NONE, awt.Insets(2, 2, 2, 2), 0, 0); self.setLayout(awt.GridBagLayout()); self.add(swing.Box.createGlue(), awt.GridBagConstraints(99, 99, 1, 1, 1.0, 1.0, awt.GridBagConstraints.CENTER, awt.GridBagConstraints.BOTH, awt.Insets(0, 0, 5, 5), 0, 0)); vector = util.Vector() options = element.getChildren("Option").iterator() for option in options: vector.add(MultiLineLabel(option.getAttribute("text").value)) self.add(swing.JComboBox(vector), gbc) -----Original Message----- From: Deirdre Kong [mailto:dy...@uc...] Sent: 23 July 2002 01:27 To: jyt...@li... Subject: [Jython-users] import Hi, Does anyone know how to import an external java class in Jython (the java class is not in the same directory as the script file)? Can you give an example? Thanks, Deirdre ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Jython-users mailing list Jyt...@li... https://lists.sourceforge.net/lists/listinfo/jython-users |
From: O'Brien-Strain, E. <eo...@ex...> - 2002-07-23 18:00:39
|
If the testing.class file exists before you start the jython script then you simply need to add c:\temp\classes to your CLASSPATH environment variable. (Assuming the testing class is in the default package.) On the other hand, if the testing class gets created by the script and you want to load it dynamically then you can use the jreload feature. For example: from jreload import makeLoadSet, reload .... create c:/temp/classes/testing.class file .... reload( makeLoadSet("TEMP", ["c:/temp/classes"]) ) from TEMP import testing .... use testing class ... __ Eamonn O'Brien-Strain HP Labs > -----Original Message----- > From: Deirdre Kong [mailto:dy...@uc...] > Sent: Tuesday, July 23, 2002 9:30 AM > To: Kenworthy, Edward > Cc: jyt...@li... > Subject: RE: [Jython-users] import > > > Thanks, > > But I want to use a Java class (testing.class) that I created which is > located in my c:\temp\classes directory in my Jython file. > My jython file is located in c:\jython directory. Is there a > way that I > can import that java class file in my Jython Script? > > Thanks, > Deirdre > > On Tue, 23 Jul 2002, > Kenworthy, Edward wrote: > > > Here's one of my scripts, pretty much illustrates every way > to import a > > class and use it. > > > > Edward > > > > > > > > import java.util as util > > import javax.swing as swing > > import java.awt as awt > > from uk.co.crispgroup.car.renderer import > CandidateLetterElementPanel > > from uk.co.crispgroup.car.renderer import ElementHandler > > from uk.co.crispgroup.car.renderer import MultiLineLabel > > > > class AdviserChoice(CandidateLetterElementPanel): > > def __init__(self, element): > > gbc = awt.GridBagConstraints(0, 0, 1, 1, 0, 0, > > awt.GridBagConstraints.WEST, awt.GridBagConstraints.NONE, > awt.Insets(2, 2, > > 2, 2), 0, 0); > > self.setLayout(awt.GridBagLayout()); > > self.add(swing.Box.createGlue(), > awt.GridBagConstraints(99, > > 99, 1, 1, 1.0, 1.0, awt.GridBagConstraints.CENTER, > > awt.GridBagConstraints.BOTH, awt.Insets(0, 0, 5, 5), 0, 0)); > > vector = util.Vector() > > options = element.getChildren("Option").iterator() > > for option in options: > > > > vector.add(MultiLineLabel(option.getAttribute("text").value)) > > self.add(swing.JComboBox(vector), gbc) > > > > > > -----Original Message----- > > From: Deirdre Kong [mailto:dy...@uc...] > > Sent: 23 July 2002 01:27 > > To: jyt...@li... > > Subject: [Jython-users] import > > > > > > Hi, > > > > Does anyone know how to import an external java class in > Jython (the java > > class is not in the same directory as the script file)? Can you > > give an example? > > > > Thanks, > > Deirdre > > > > > > > > ------------------------------------------------------- > > This sf.net email is sponsored by:ThinkGeek > > Welcome to geek heaven. > > http://thinkgeek.com/sf > > _______________________________________________ > > Jython-users mailing list > > Jyt...@li... > > https://lists.sourceforge.net/lists/listinfo/jython-users > > > > > > ------------------------------------------------------- > > This sf.net email is sponsored by:ThinkGeek > > Welcome to geek heaven. > > http://thinkgeek.com/sf > > _______________________________________________ > > Jython-users mailing list > > Jyt...@li... > > https://lists.sourceforge.net/lists/listinfo/jython-users > > > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Jython-users mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-users > |
From: Deirdre K. <dy...@uc...> - 2002-07-24 05:27:51
|
I tried it but it doesn't work for me. I added c:\temp\classes in my classpath. Then I added: from temp.classes import testing in my Script file. Is there anything wrong? Thanks, Deirdre On Tue, 23 Jul 2002, O'Brien-Strain, Eamonn wrote: > If the testing.class file exists before you start the jython script then you simply need to add c:\temp\classes to your CLASSPATH environment variable. (Assuming the testing class is in the default package.) > > On the other hand, if the testing class gets created by the script and you want to load it dynamically then you can use the jreload feature. For example: > > from jreload import makeLoadSet, reload > .... create c:/temp/classes/testing.class file .... > reload( makeLoadSet("TEMP", ["c:/temp/classes"]) ) > from TEMP import testing > .... use testing class ... > > __ > Eamonn O'Brien-Strain > HP Labs > > > > -----Original Message----- > > From: Deirdre Kong [mailto:dy...@uc...] > > Sent: Tuesday, July 23, 2002 9:30 AM > > To: Kenworthy, Edward > > Cc: jyt...@li... > > Subject: RE: [Jython-users] import > > > > > > Thanks, > > > > But I want to use a Java class (testing.class) that I created which is > > located in my c:\temp\classes directory in my Jython file. > > My jython file is located in c:\jython directory. Is there a > > way that I > > can import that java class file in my Jython Script? > > > > Thanks, > > Deirdre > > > > On Tue, 23 Jul 2002, > > Kenworthy, Edward wrote: > > > > > Here's one of my scripts, pretty much illustrates every way > > to import a > > > class and use it. > > > > > > Edward > > > > > > > > > > > > import java.util as util > > > import javax.swing as swing > > > import java.awt as awt > > > from uk.co.crispgroup.car.renderer import > > CandidateLetterElementPanel > > > from uk.co.crispgroup.car.renderer import ElementHandler > > > from uk.co.crispgroup.car.renderer import MultiLineLabel > > > > > > class AdviserChoice(CandidateLetterElementPanel): > > > def __init__(self, element): > > > gbc = awt.GridBagConstraints(0, 0, 1, 1, 0, 0, > > > awt.GridBagConstraints.WEST, awt.GridBagConstraints.NONE, > > awt.Insets(2, 2, > > > 2, 2), 0, 0); > > > self.setLayout(awt.GridBagLayout()); > > > self.add(swing.Box.createGlue(), > > awt.GridBagConstraints(99, > > > 99, 1, 1, 1.0, 1.0, awt.GridBagConstraints.CENTER, > > > awt.GridBagConstraints.BOTH, awt.Insets(0, 0, 5, 5), 0, 0)); > > > vector = util.Vector() > > > options = element.getChildren("Option").iterator() > > > for option in options: > > > > > > vector.add(MultiLineLabel(option.getAttribute("text").value)) > > > self.add(swing.JComboBox(vector), gbc) > > > > > > > > > -----Original Message----- > > > From: Deirdre Kong [mailto:dy...@uc...] > > > Sent: 23 July 2002 01:27 > > > To: jyt...@li... > > > Subject: [Jython-users] import > > > > > > > > > Hi, > > > > > > Does anyone know how to import an external java class in > > Jython (the java > > > class is not in the same directory as the script file)? Can you > > > give an example? > > > > > > Thanks, > > > Deirdre > > > > > > > > > > > > ------------------------------------------------------- > > > This sf.net email is sponsored by:ThinkGeek > > > Welcome to geek heaven. > > > http://thinkgeek.com/sf > > > _______________________________________________ > > > Jython-users mailing list > > > Jyt...@li... > > > https://lists.sourceforge.net/lists/listinfo/jython-users > > > > > > > > > ------------------------------------------------------- > > > This sf.net email is sponsored by:ThinkGeek > > > Welcome to geek heaven. > > > http://thinkgeek.com/sf > > > _______________________________________________ > > > Jython-users mailing list > > > Jyt...@li... > > > https://lists.sourceforge.net/lists/listinfo/jython-users > > > > > > > > > > > ------------------------------------------------------- > > This sf.net email is sponsored by:ThinkGeek > > Welcome to geek heaven. > > http://thinkgeek.com/sf > > _______________________________________________ > > Jython-users mailing list > > Jyt...@li... > > https://lists.sourceforge.net/lists/listinfo/jython-users > > > |
From: Samuele P. <pe...@in...> - 2002-07-24 10:59:29
|
> I tried it but it doesn't work for me. I added c:\temp\classes in my > classpath. Then I added: from temp.classes import testing in my Script > file. Is there anything wrong? > if you add c:\temp\classes to classpath then you can import test.class in there with import test the directories already in the paths on classpath are prepended searching for classes, they do not make for java or python packages. That's how java classpath works. regards. |
From: Delaney, T. <tde...@av...> - 2002-07-24 02:21:58
|
> From: Ashish Shrestha [mailto:li...@sh...] > > Kenworthy, Edward wrote: > [snip] > > > import java.util as util > > import javax.swing as swing > > import java.awt as awt > > [snip] > > Actually, I prefer to write > > from java import * > from javax import * > > And have the same effect. Actually you don't have the same effect. You are polluting your namespace. Right now, that may not be a problem. In the future, it may be. What if a future JDK creates a new package which has the same name as one of your own modules? Are you importing from the java libraries before or after your own? Have you created a situation where because of namespace pollution you are now trying to use the wrong packages and objects? To have the same effect using from you would need to type: from java import util from javax import swing from java import awt which is actually shorter than the initial code ... Tim Delaney |
From: Ashish S. <as...@sh...> - 2002-07-24 14:14:03
|
Sure I agree about the namespace pollution. However, I believe unlike python, I think it is less of a problem in Jython. May be because I haven't done any big project in Jython. The biggest I have done is write a mailserver (smtp server + client and pop server + client) for mail in a small organisation. The complete thing was about 1200 lines. This is something I wrote to learn Jython. Since most network examples in Python use select() and I did not see equivalent in Jython I have used the Java IO library a lot. Another reason is not having to specify the buffer size when doing socket io! Also, as I had not learnt to use threading.Thread I used java.lang.Thread. Not difficult to convert though. Anyone interested with the code? I can mail it to you. I confess, it has more Java feel than Python. What I observed is most Jython apps rely on the Java API and have very few jython files. Since you don't have a namespace problem in Java part and the only part I could have the problem consists of few files, I just don't worry about the namespace problem. This could be because I haven't build any big jython libraries. I just feel if it is worth making into a library, may be it is just as worth rewriting it in Java. Anyway, it have worked with Jython only for a few of months. Ashish Shrestha Jabber Id: ax...@ja... http://www.nyatapol.com.np |
From: Kenworthy, E. <Edw...@ma...> - 2002-07-24 08:12:11
|
Well obviously it has to be on the class path but I think I've already answered the question haven't I ? -----Original Message----- From: Deirdre Kong [mailto:dy...@uc...] Sent: 23 July 2002 17:30 To: Kenworthy, Edward Cc: jyt...@li... Subject: RE: [Jython-users] import Thanks, But I want to use a Java class (testing.class) that I created which is located in my c:\temp\classes directory in my Jython file. My jython file is located in c:\jython directory. Is there a way that I can import that java class file in my Jython Script? Thanks, Deirdre On Tue, 23 Jul 2002, Kenworthy, Edward wrote: > Here's one of my scripts, pretty much illustrates every way to import a > class and use it. > > Edward > > > > import java.util as util > import javax.swing as swing > import java.awt as awt > from uk.co.crispgroup.car.renderer import CandidateLetterElementPanel > from uk.co.crispgroup.car.renderer import ElementHandler > from uk.co.crispgroup.car.renderer import MultiLineLabel > > class AdviserChoice(CandidateLetterElementPanel): > def __init__(self, element): > gbc = awt.GridBagConstraints(0, 0, 1, 1, 0, 0, > awt.GridBagConstraints.WEST, awt.GridBagConstraints.NONE, awt.Insets(2, 2, > 2, 2), 0, 0); > self.setLayout(awt.GridBagLayout()); > self.add(swing.Box.createGlue(), awt.GridBagConstraints(99, > 99, 1, 1, 1.0, 1.0, awt.GridBagConstraints.CENTER, > awt.GridBagConstraints.BOTH, awt.Insets(0, 0, 5, 5), 0, 0)); > vector = util.Vector() > options = element.getChildren("Option").iterator() > for option in options: > > vector.add(MultiLineLabel(option.getAttribute("text").value)) > self.add(swing.JComboBox(vector), gbc) > > > -----Original Message----- > From: Deirdre Kong [mailto:dy...@uc...] > Sent: 23 July 2002 01:27 > To: jyt...@li... > Subject: [Jython-users] import > > > Hi, > > Does anyone know how to import an external java class in Jython (the java > class is not in the same directory as the script file)? Can you > give an example? > > Thanks, > Deirdre > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Jython-users mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-users > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Jython-users mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-users > |
From: Kenworthy, E. <Edw...@ma...> - 2002-07-24 08:51:29
|
I prefer to be more explicit about my dependencies. In Java I write import java.io.File; import java.io.IOException; import javax.swing.JFrame; etc As it documents better what I am actually using. Also makes it easier to remove such dependencies if they get optimised out when I re-factor. The only time I use * is when the list gets big, or close to including the entire package anway. A matter of style. Edward -----Original Message----- From: Ashish Shrestha [mailto:li...@sh...] Sent: 24 July 2002 02:37 To: jyt...@li... Subject: Re: [Jython-users] import Kenworthy, Edward wrote: [snip] > import java.util as util > import javax.swing as swing > import java.awt as awt [snip] Actually, I prefer to write from java import * from javax import * And have the same effect. I can do swing.JFrame() and awt.BorderLayout() etc. I don't have to write multiple lines of import for lang, util, net, io ... Ashish Shrestha Jabber Id: ax...@ja... Nyatapol Software Technology [http://www.nyatapol.com.np] ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Jython-users mailing list Jyt...@li... https://lists.sourceforge.net/lists/listinfo/jython-users |
From: Deirdre K. <dy...@uc...> - 2002-07-23 16:30:36
|
Thanks, But I want to use a Java class (testing.class) that I created which is located in my c:\temp\classes directory in my Jython file. My jython file is located in c:\jython directory. Is there a way that I can import that java class file in my Jython Script? Thanks, Deirdre On Tue, 23 Jul 2002, Kenworthy, Edward wrote: > Here's one of my scripts, pretty much illustrates every way to import a > class and use it. > > Edward > > > > import java.util as util > import javax.swing as swing > import java.awt as awt > from uk.co.crispgroup.car.renderer import CandidateLetterElementPanel > from uk.co.crispgroup.car.renderer import ElementHandler > from uk.co.crispgroup.car.renderer import MultiLineLabel > > class AdviserChoice(CandidateLetterElementPanel): > def __init__(self, element): > gbc = awt.GridBagConstraints(0, 0, 1, 1, 0, 0, > awt.GridBagConstraints.WEST, awt.GridBagConstraints.NONE, awt.Insets(2, 2, > 2, 2), 0, 0); > self.setLayout(awt.GridBagLayout()); > self.add(swing.Box.createGlue(), awt.GridBagConstraints(99, > 99, 1, 1, 1.0, 1.0, awt.GridBagConstraints.CENTER, > awt.GridBagConstraints.BOTH, awt.Insets(0, 0, 5, 5), 0, 0)); > vector = util.Vector() > options = element.getChildren("Option").iterator() > for option in options: > > vector.add(MultiLineLabel(option.getAttribute("text").value)) > self.add(swing.JComboBox(vector), gbc) > > > -----Original Message----- > From: Deirdre Kong [mailto:dy...@uc...] > Sent: 23 July 2002 01:27 > To: jyt...@li... > Subject: [Jython-users] import > > > Hi, > > Does anyone know how to import an external java class in Jython (the java > class is not in the same directory as the script file)? Can you > give an example? > > Thanks, > Deirdre > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Jython-users mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-users > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Jython-users mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-users > |
From: Ashish S. <li...@sh...> - 2002-07-24 02:02:59
|
Kenworthy, Edward wrote: [snip] > import java.util as util > import javax.swing as swing > import java.awt as awt [snip] Actually, I prefer to write from java import * from javax import * And have the same effect. I can do swing.JFrame() and awt.BorderLayout() etc. I don't have to write multiple lines of import for lang, util, net, io ... Ashish Shrestha Jabber Id: ax...@ja... Nyatapol Software Technology [http://www.nyatapol.com.np] |
From: Thomas R. C. <co...@sa...> - 2002-07-24 15:41:09
|
On Tuesday, July 23 2002 09:36 pm, Ashish Shrestha wrote: | Kenworthy, Edward wrote: | [snip] | | > import java.util as util | > import javax.swing as swing | > import java.awt as awt | | [snip] | | Actually, I prefer to write | | from java import * | from javax import * | | And have the same effect. I can do swing.JFrame() and awt.BorderLayout() | etc. I don't have to write multiple lines of import for lang, util, net, | io ... | | Ashish Shrestha | Jabber Id: ax...@ja... | Nyatapol Software Technology [http://www.nyatapol.com.np] I tend to import this way, import com.samsix.util.Key as Key So I can just use "Key". I'm not fond of swing.JFame, etc. I'd rather just use JFrame, much as I do in my java code. | | | | ------------------------------------------------------- | This sf.net email is sponsored by:ThinkGeek | Welcome to geek heaven. | http://thinkgeek.com/sf | _______________________________________________ | Jython-users mailing list | Jyt...@li... | https://lists.sourceforge.net/lists/listinfo/jython-users |