From: Davis, K. A <kim...@in...> - 2003-09-10 22:25:20
|
Yes, Bent, you are correct in your assessment below. I can only give you the information that I have given Jeff Emmanuel, another participant in the Jython users group. To summarize quickly: =20 I do remember jython did not complain about the setting of the model. It complained about the class definition itself. When I invoked the interpreter, I got a message (I am paraphrasing obviously) that was something like: Error- AbstractTableModel is an abstract class. Cannot add sortMyData method to an abstract class. I am using Jython 2.1 with the Komode IDE 2.0 professional. =20 I supply the class described in my first posting as a model to a simple swing JTable. I set the model this way: self.tblSearchOutput.setModel(self.searchTableModel) =20 The JTable is on a JFrame with several other GUI components.=20 =20 I was able to get around the problem I described by creating another class, which has the extra sorting methods that I need, and allowing my model class to inherit from both these classes: =20 class cMyTableData(swing.table.AbstractTableModel, cSearchTableSorter): =20 Admittedly, sloppy. However, as is often the case, the show must go on, and I could not seem to reason through this problem. No matter what I did, Jython complained about my adding the sortMyData method to a class inheriting from the AbstractTableModel, and I had to do something to fix the problem. =20 There has been some lag time between when I had posted this problem to the jython user group and when I received any interest in the form of responses. I can't reproduce the error exactly because my code base has moved on substantially. I wish I had had the foresight to freeze and label that particular point in the project in case somebody responded.=20 =20 It's just weird to me that I haven't had this problem with other abstract classes. =20 KD =20 -----Original Message----- From: Bent Andre Solheim [mailto:be...@be...]=20 Sent: Wednesday, September 10, 2003 3:00 PM To: Davis, Kimberly A Cc: jyt...@li... Subject: RE: [Jython-users] Understanding the Limitations of Abstract Classes =20 Hi Kimberly, =20 I'm not sure if I have understood your problem, so please correct me if I am wrong; You are subclassing a Java class i Jython and wish to use this class together with some other javax.swing class? It looks to me as if you are working with your object through a limited interface, for instance through javax.swing.table.TableModel which AbstractTableModel implements, or through the public interface of AbstractTableModel itself. Which interface you are working with depends on how you created your object (or got a hold of it). I am unable to help you more without seeing more code... Hope this helps =20 regards Bent =20 =20 =20 =20 > Perhaps this problem has been covered already, but I haven't been able > to find the answer in documentation or user groups. I am using an > abstract class called AbstractTableModel. To create a concrete > TableModel as a sublcass of AbstractTableModel you need only provide > implementations for the following three methods (which I've done): > public int getRowCount(); > public int getColumnCount(); > public Object getValueAt(int row, int column); > > Here is the jython class: > > class cMyTableData(swing.table.AbstractTableModel): > #---------------------------------------------------------- > # __init__ Constructor > # Initializes all member data. > # > #---------------------------------------------------------- > def __init__(self): > self.path =3D cColumnData(COLUMN_1, 50, swing.JLabel.LEFT) > self.lineno =3D cColumnData(COLUMN_2, 50, swing.JLabel.LEFT) > self.columns =3D [ self.path,self.lineno] > self.vector =3D java.util.Vector() > self.vector.removeAllElements() > > def getColumnCount(self): > # code particular to my situation > > def getRowCount(self): > # code particular to my situation > > def getValueAt(self, nRow, nCol): > # code particular to my situation > > #An additional function I've added... > def sortMyData(self, thing): > # blah, blah, blah... > > When I add sortData, to this class, I get an error: AttributeError: > sortMyData > > Why does this particular class restrict me? Does anyone know? I have > tried the same thing with AbstractList with success. > > Thanks in advance for any information, > KD > =20 =20 =20 Last ned dette som en fil <https://mail.intermedium.com/src/download.php?absolute_dl=3Dtrue&passed_= i d=3D94&passed_ent_id=3D0&mailbox=3DSent&showHeaders=3D1>=20 =20 =20 =20 Forrige | Neste <https://mail.intermedium.com/src/read_body.php?passed_id=3D93&mailbox=3D= Sen t&sort=3D0&startMessage=3D1&show_more=3D0> | Delete & Prev | Delete & = Next <https://mail.intermedium.com/src/read_body.php?passed_id=3D93&mailbox=3D= Sen t&sort=3D0&startMessage=3D1&show_more=3D0&delete_id=3D94> =20 Move to: INBOX Drafts Sent Trash Differ General_done General_todo Jobb HiA Mailinglists/Apache Mailinglists/Cryptogram Mailinglists/Developer Works Mailinglists/Dr. Dobbs Mailinglists/ikt_hia03 Mailinglists/Jython Mailinglists/nltk Mailinglists/Python Url Mailinglists/Python Web Mailinglists/PyX Mailinglists/test Mailinglists/TuT Mailinglists/Windows Developer Mailinglists/xindice_dev Mailinglists/xindice_users Of interest Personal Read Resources/Done Resources/GenTodo Resources/PriA Resources/PriB Review Service/backend Service/basehopp Service/fehode Service/miscellanious Service/prekestol Service/QA Service/vertshus Service/vevstol System_errors Wiki =20 =20 =20 |
From: Davis, K. A <kim...@in...> - 2003-09-10 17:18:32
|
Sure, I will try to give you some other details, but I am not sure what info I can provide that would be of assistance in understanding this problem. I am using Jython-2.1 and my development environment is ActiveState Komodo 2.0 Professional. I supply the class described in my first posting as a model to a simple swing JTable. I set the model this way: self.tblSearchOutput.setModel(self.searchTableModel) The JTable is on a JFrame with several other GUI components. I am using a split panel to separate it from the other parts of the window. I was able to get around the problem I described by creating another class, which has the extra sorting methods that I need, and allowing my model class to inherit from both these classes: class cMyTableData(swing.table.AbstractTableModel, cSearchTableSorter): Admittedly, this is sloppy and a bit embarrassing. However, as is often the case, the show must go on, and I could not seem to reason through this problem. No matter what I did, Jython complained about my adding the sortMyData method to a class inheriting from the AbstractTableModel, and I had to do something to fix the problem. Thanks in advance for any insight you may have. KD -----Original Message----- From: Jeff Emanuel [mailto:JEm...@lg...]=20 Sent: Wednesday, September 10, 2003 8:39 AM To: Davis, Kimberly A Subject: RE: [Jython-users] Understanding the Limitations of Abstract Classes =20 I don't see anything wrong with you've done. Perhaps you can explain more about when and how the error occurs. -----Original Message----- From: Davis, Kimberly A [mailto:kim...@in...] Sent: Monday, August 18, 2003 3:57 PM To: jyt...@li... Subject: [Jython-users] Understanding the Limitations of Abstract Classes Perhaps this problem has been covered already, but I haven't been able to find the answer in documentation or user groups. I am using an abstract class called AbstractTableModel. To create a concrete TableModel as a sublcass of AbstractTableModel you need only provide implementations for the following three methods (which I've done):=20 public int getRowCount(); public int getColumnCount(); public Object getValueAt(int row, int column); =20 Here is the jython class: =20 class cMyTableData(swing.table.AbstractTableModel): #---------------------------------------------------------- # __init__ Constructor # Initializes all member data. # #----------------------------------------------------------=20 def __init__(self): self.path =3D cColumnData(COLUMN_1, 50, swing.JLabel.LEFT) self.lineno =3D cColumnData(COLUMN_2, 50, swing.JLabel.LEFT) self.columns =3D [ self.path,self.lineno] self.vector =3D java.util.Vector() self.vector.removeAllElements() =20 def getColumnCount(self): # code particular to my situation =20 def getRowCount(self): # code particular to my situation =20 def getValueAt(self, nRow, nCol): # code particular to my situation =20 #An additional function I've added... def sortMyData(self, thing): =20 # blah, blah, blah... =20 When I add sortData, to this class, I get an error: AttributeError: sortMyData =20 Why does this particular class restrict me? Does anyone know? I have tried the same thing with AbstractList with success. =20 Thanks in advance for any information, KD =20 |
From: Oti <oh...@ya...> - 2003-09-17 20:32:47
|
Hello Kimberly, Just FYI: I even tried to 'non-implement' AbstractTableModel like this: from javax.swing.table import AbstractTableModel class cMyTableData(AbstractTableModel): def __init__(self): pass def sortMyData(self, thing): print thing if __name__ == "__main__": td = cMyTableData() td.sortMyData( "thingee" ) and the interpreter did not complain as long as I did not call a method of AbstractTableModel. Best wishes, Oti. --- "Davis, Kimberly A" <kim...@in...> wrote: > Yes, Bent, you are correct in your assessment below. I can only give > you > the information that I have given Jeff Emmanuel, another participant > in > the Jython users group. To summarize quickly: > > I do remember jython did not complain about the setting of the model. > It > complained about the class definition itself. When I invoked the > interpreter, I got a message (I am paraphrasing obviously) that was > something like: Error- AbstractTableModel is an abstract class. > Cannot > add sortMyData method to an abstract class. I am using Jython 2.1 > with > the Komode IDE 2.0 professional. > > I supply the class described in my first posting as a model to a > simple > swing JTable. I set the model this way: > self.tblSearchOutput.setModel(self.searchTableModel) > > The JTable is on a JFrame with several other GUI components. > > I was able to get around the problem I described by creating another > class, which has the extra sorting methods that I need, and allowing > my > model class to inherit from both these classes: > > class cMyTableData(swing.table.AbstractTableModel, > cSearchTableSorter): > > Admittedly, sloppy. However, as is often the case, the show must go > on, > and I could not seem to reason through this problem. No matter what I > did, Jython complained about my adding the sortMyData method to a > class > inheriting from the AbstractTableModel, and I had to do something to > fix > the problem. > > There has been some lag time between when I had posted this problem > to > the jython user group and when I received any interest in the form of > responses. I can't reproduce the error exactly because my code base > has > moved on substantially. I wish I had had the foresight to freeze and > label that particular point in the project in case somebody > responded. > > It's just weird to me that I haven't had this problem with other > abstract classes. > > KD > > -----Original Message----- > From: Bent Andre Solheim [mailto:be...@be...] > Sent: Wednesday, September 10, 2003 3:00 PM > To: Davis, Kimberly A > Cc: jyt...@li... > Subject: RE: [Jython-users] Understanding the Limitations of Abstract > Classes > > Hi Kimberly, > > I'm not sure if I have understood your problem, so please correct me > if > I > am wrong; > You are subclassing a Java class i Jython and wish to use this class > together with some other javax.swing class? It looks to me as if you > are > working with your object through a limited interface, for instance > through > javax.swing.table.TableModel which AbstractTableModel implements, or > through the public interface of AbstractTableModel itself. Which > interface > you are working with depends on how you created your object (or got a > hold > of it). I am unable to help you more without seeing more code... > Hope this helps > > regards > Bent > > > > > > Perhaps this problem has been covered already, but I haven't been > able > > to find the answer in documentation or user groups. I am using an > > abstract class called AbstractTableModel. To create a concrete > > TableModel as a sublcass of AbstractTableModel you need only > provide > > implementations for the following three methods (which I've done): > > public int getRowCount(); > > public int getColumnCount(); > > public Object getValueAt(int row, int column); > > > > Here is the jython class: > > > > class cMyTableData(swing.table.AbstractTableModel): > > #---------------------------------------------------------- > > # __init__ Constructor > > # Initializes all member data. > > # > > #---------------------------------------------------------- > > def __init__(self): > > self.path = cColumnData(COLUMN_1, 50, swing.JLabel.LEFT) > > self.lineno = cColumnData(COLUMN_2, 50, swing.JLabel.LEFT) > > self.columns = [ self.path,self.lineno] > > self.vector = java.util.Vector() > > self.vector.removeAllElements() > > > > def getColumnCount(self): > > # code particular to my situation > > > > def getRowCount(self): > > # code particular to my situation > > > > def getValueAt(self, nRow, nCol): > > # code particular to my situation > > > > #An additional function I've added... > > def sortMyData(self, thing): > > # blah, blah, blah... > > > > When I add sortData, to this class, I get an error: AttributeError: > > sortMyData > > > > Why does this particular class restrict me? Does anyone know? I > have > > tried the same thing with AbstractList with success. > > > > Thanks in advance for any information, > > KD > > > > > > Last ned dette som en fil > <https://mail.intermedium.com/src/download.php?absolute_dl=true&passed_i > d=94&passed_ent_id=0&mailbox=Sent&showHeaders=1> > > > > Forrige | Neste > <https://mail.intermedium.com/src/read_body.php?passed_id=93&mailbox=Sen > t&sort=0&startMessage=1&show_more=0> | Delete & Prev | Delete & > Next > <https://mail.intermedium.com/src/read_body.php?passed_id=93&mailbox=Sen > t&sort=0&startMessage=1&show_more=0&delete_id=94> > Move to: INBOX Drafts Sent Trash Differ General_done > General_todo Jobb HiA Mailinglists/Apache > Mailinglists/Cryptogram > Mailinglists/Developer Works Mailinglists/Dr. Dobbs > Mailinglists/ikt_hia03 Mailinglists/Jython Mailinglists/nltk > Mailinglists/Python Url Mailinglists/Python Web Mailinglists/PyX > Mailinglists/test Mailinglists/TuT Mailinglists/Windows Developer > Mailinglists/xindice_dev Mailinglists/xindice_users Of interest > Personal Read Resources/Done Resources/GenTodo Resources/PriA > Resources/PriB Review Service/backend Service/basehopp > Service/fehode Service/miscellanious Service/prekestol > Service/QA > Service/vertshus Service/vevstol System_errors Wiki > > > __________________________________ Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software http://sitebuilder.yahoo.com |