2012-03-30 58 views
3

我想在here描述画了一系列的矩形的玻璃面板。问题是只有我列表中的最后一个元素显示在窗格上。怎么可能画上玻璃板不止一个矩形?

有谁怎么能画一个以上的矩形在同一窗格?

下面是所用的代码:在窗格的类

涂料的方法,延伸的JComponent

protected void paintComponent(Graphics g) { 
     if (point != null) { 

      int value = this.getGradient(); 


      Color myColour = new Color(255, value, 0, 175); 
      g.setColor(myColour); 
      g.fillRect(point.x - 13, point.y - 15, this.width, this.height); 

     } 
    } 
+0

为了更好地帮助越早,张贴[SSCCE(http://sscce.org/)。 – 2012-03-30 04:22:56

+2

'图形G = container.getGraphics();'也就是说立即怀疑,但我会进一步评论之前等待SSCCE。 – 2012-03-30 04:23:57

+0

+1,对于这个问题,让我学到新的东西:-) – 2012-03-30 05:13:37

回答

3

有上画没有内在限制在玻璃板,比剪裁边界其他。例如,请在MyGlassPane中尝试以下内容。

glass pane demo

protected void paintComponent(Graphics g) { 
    if (point != null) { 
     g.setColor(Color.red); 
     g.drawRect(point.x, point.y, 60, 20); 
     g.setColor(Color.blue); 
     g.drawRect(point.x, point.y, 20, 60); 
    } 
} 
+0

非常感谢您的帮助,我不画都在这个方法中,矩形的,但我叫了好几遍..感谢了很多:) – ict1991 2012-03-30 05:03:45

+1

很高兴你把它分类。如果直接调用'paintComponent()',请考虑调用'repaint()'。 – trashgod 2012-03-30 05:18:24

+0

不错,因为我相信,直到这一刻,玻璃/的rootPane约为漆(API和其他垃圾。)不是的paintComponent :-),右,外观极好 – mKorbel 2012-03-30 06:01:58