From: <ast...@gm...> - 2007-07-01 02:48:30
|
Another question. I have something like this: class MyApp(swing.JFrame): def __init__(self): # more lines here.. self.createMenus() # more lines here... def createMenus(self): menuBar = swing.JMenuBar() self.setJMenuBar(menuBar) # more lines here... def changeStyleSheet(event=None): cssfile = awt.FileDialog(self, "Select new style sheet") cssfile.show() if cssfile.getFile() is not None: cssfile = cssfile.getDirectory() + cssfile.getFile() from java.net import URL from javax.swing.text.html import StyleSheet ss = StyleSheet u = "file://" + cssfile ss.importStyleSheet(u) # more lines here... css = swing.JMenu('StyleSheet') css.setMnemonic('s') menuBar.add(css) css.add(JMenuItem('Change CSS file...', actionPerformed=changeStyleSheet)) # more lines here... However, I get this error: TypeError: importStyleSheet(): expected 2 args; got 1 According to the APIs (http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/text/html/StyleSheet.html) however, the importStyleSheet method only requires one arg, i.e. public void importStyleSheet(URL url) Why am I getting the TypeError? Am I doing something wrong? Regards, astigmatik |
From: Jeff E. <jem...@fr...> - 2007-07-01 04:29:49
|
I think you meant ss = StyleSheet() to create an instance, instead of ss = StyleSheet which assigns the class to a new variable. In your posted code, ss.importStyleSheet(u) is equivalent to StyleSheet.importStyleSheet(u), where u is expected to be an instance of StyleSheet, hence another argument is required. With ss assigned to a StyleSheet instance, u is treated as an argument to the method. ast...@gm... wrote: > Another question. I have something like this: > > class MyApp(swing.JFrame): > def __init__(self): > # more lines here.. > self.createMenus() > # more lines here... > def createMenus(self): > menuBar = swing.JMenuBar() > self.setJMenuBar(menuBar) > # more lines here... > def changeStyleSheet(event=None): > cssfile = awt.FileDialog(self, "Select new style sheet") > cssfile.show() > if cssfile.getFile() is not None: > cssfile = cssfile.getDirectory() + cssfile.getFile() > from java.net import URL > from javax.swing.text.html import StyleSheet > ss = StyleSheet > u = "file://" + cssfile > ss.importStyleSheet(u) > # more lines here... > css = swing.JMenu('StyleSheet') > css.setMnemonic('s') > menuBar.add(css) > css.add(JMenuItem('Change CSS file...', > actionPerformed=changeStyleSheet)) > # more lines here... > > However, I get this error: > TypeError: importStyleSheet(): expected 2 args; got 1 > > According to the APIs > (http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/text/html/StyleSheet.html) > however, the importStyleSheet method only requires one arg, i.e. > > public void importStyleSheet(URL url) > > Why am I getting the TypeError? Am I doing something wrong? > > Regards, > astigmatik > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Jython-users mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-users |
From: <ast...@gm...> - 2007-07-01 13:20:19
|
Thanks.. that was another one of my d'oh moments :-/ On 7/1/07, Jeff Emanuel wrote: > I think you meant > > ss = StyleSheet() > > to create an instance, instead of > > ss = StyleSheet > |