From: Frank C. <fc...@pu...> - 2004-08-06 22:50:41
|
[Sending this a second time because I think I used the wrong email account the first time. -FC ] Looks like you're trying too hard. Swing likes to mess with your mind for no aparent reason. I created the code below using NetBeans and then transcribed it into Jython. Oh I love Jython! -Frank ''' Fun with Swing and Jython by Frank Cohen, fc...@pu... http://www.pushtotest.com August 6, 2004 ''' import javax.swing as swing import java frame = swing.JFrame("Class Test", visible = 1) frame.setSize(500,400) frame.setBackground(java.awt.Color.white) jPanel1 = swing.JPanel() jLabel1 = swing.JLabel() jPanel2 = swing.JPanel() jLabel2 = swing.JLabel() jPanel1.setBackground( java.awt.Color(153, 153, 255)) jLabel1.setBackground( java.awt.Color(0, 0, 0)) jLabel1.setText("Try www.PushToTest.com for...") jPanel1.add(jLabel1) frame.getContentPane().add(jPanel1, java.awt.BorderLayout.NORTH) jPanel2.setBackground( java.awt.Color(255, 255, 51)) jLabel2.setText("Jython-based scalability and performance testing.") jPanel2.add(jLabel2) frame.getContentPane().add(jPanel2, java.awt.BorderLayout.CENTER) frame.pack() --- tom cassen <bs...@pi...> wrote: > I'm trying to draw a blue square and a red square > but treat them as though they are individual > components that can be added to the contentPane. > With the code below only the red square appears. If > I comment out frame.contentPane.add(redAy) the blue > square appears. Can anyone tell me what is going on > and how to fix it so both squares appear? > Thanks. > > import javax.swing as swing > import java > > #-------------------------- blue > ----------------------- > class BlueAyComp(swing.JPanel): > x = 0 > y = 0 > w = 0 > h = 0 > > def __init__(self, ulx, uly, width, hite): > self.x = ulx > self.y = uly > self.w = width > self.h = hite > self.setForeground(java.awt.Color.blue) > > def paintComponent(self, g): > g.drawRect(self.x, self.y, self.w, self.h) > > #--------------------------- red > ---------------------- > class RedAyComp(swing.JPanel): > x = 0 > y = 0 > w = 0 > h = 0 > > def __init__(self, ulx, uly, width, hite): > self.x = ulx > self.y = uly > self.w = width > self.h = hite > self.setForeground(java.awt.Color.red) > > def paintComponent(self, g): > g.drawRect(self.x, self.y, self.w, self.h) > > #----------------------------------------------------------- > frame = swing.JFrame("Class Test", visible = 1, > defaultCloseOperation = swing.JFrame.EXIT_ON_CLOSE) > frame.setSize(500,400) > frame.setBackground(java.awt.Color.white) > > blueAy = BlueAyComp(40, 40, 30, 30) > redAy = RedAyComp(200,200,30,30) > > frame.contentPane.add(blueAy) > frame.contentPane.add(redAy) > frame.show() |