2010-09-09 211 views

回答

5

所有JComponents(其中的JPanel继承自)都有一个可以覆盖的paintComponent(Graphics g)方法。

基本上...哦...好,我认为这将是更appropiate:

http://java.sun.com/developer/technicalArticles/GUI/java2d/java2dpart1.html

天真样本:

sample

的源代码:

import javax.swing.*; 
    import java.awt.*; 
    import java.awt.geom.*; 
    public class X { 
     public static void main(String [] args) { 
      JFrame frame = new JFrame(); 
      frame.add(new JPanel() { 
       public void paintComponent(Graphics g) { 
        super.paintComponent(g); 
        Graphics2D g2 = (Graphics2D)g; 

        Line2D line = new Line2D.Double(10, 10, 40, 40); 
        g2.setColor(Color.blue); 
        g2.setStroke(new BasicStroke(10)); 
        g2.draw(line); 
       } 
      }); 
      frame.setVisible(true); 
     } 
    } 
+0

+1选择大胆的笔画!我会考虑注释,重写'getPreferredSize()'并调用'pack()'。 – trashgod 2010-09-09 01:41:10

+0

这是引用文章中的第一篇:P – OscarRyz 2010-09-09 02:12:22