【问题标题】:Java drawing on JPanel which on a JFrame [closed]在 JFrame 上的 JPanel 上绘制 Java [关闭]
【发布时间】:2010-09-09 00:58:19
【问题描述】:

您好,我有一个 JFrame,上面有两个 JPanel。我的目的是利用 JPanel。任何人都可以分享任何Java代码吗?

【问题讨论】:

  • 你应该接受一个答案。

标签: java swing jpanel custom-painting


【解决方案1】:

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

基本上......哦..好吧,我认为这会更合适:

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

朴素样本:

源代码:

    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 );
        }
    }

【讨论】:

  • +1 用于选择粗体笔画!我也会考虑注释、覆盖 getPreferredSize() 并调用 pack()
  • 是被引用文章中的第一个:P
【解决方案2】:

查看Java tutorials 页面。从 2D 图形教程开始。

【讨论】:

    猜你喜欢
    • 2011-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多