编程C,C ++,Java,PHP,Ruby,图灵,VB
计算机科学加拿大 
编程C,C ++,Java,PHP,Ruby,图灵,VB  

用户名:   Password: 
 登记登记   

 Wiki.Wiki.   博客博客   搜索搜索   图灵图灵   聊天室  成员成员 
 java.和Graphics ...更新屏幕......
指数 -> 编程,Java. -> java.帮助
查看上一个主题 可打印的版本 下载主题订阅本主题私人信息刷新页面 查看下一个主题
作者 信息
homer_simpson.




邮政发布: Tue 2月17日,2004年5:45 PM  帖子主题:Java和Graphics ...更新屏幕......

让我们说我这个:

代码:
导入java.io. *;
导入javax.swing。*;
导入java.awt。*;
导入java.awt.Event。*;
导入java.math。*;

班吉
{
   公共静态空白主(String args [])
    {
       Jframe Frame =新JFRAME("Someshit");
       Frame.addwindowListener.(new WindowAdapter ()
        {
           公共void windowlosing(WindowEvent e)
            {
                System.exit (0);
            }
        }
        );
        frame.setSize (600, 400);
        JPanel pane = (JPanel)Frame.getContentPane.();
        pane.add (new SysDraw ());
        frame.setVisible (true);
    }
}


类sysdraw扩展了JComponent
{
    public SysDraw ()
    {
        repaint ();

    }


    public void paint (Graphics g)
    {
      for (int i=0;i<600;i++)
      {
        g.drawLine(0,0,i,400);
      }
    }
}





得到了我的GUI窗口设置和一切,但是当我在页面上绘制东西......在这种情况下......它没有更新屏幕,所以我可以删除它并再次绘制......现在我想知道是否知道有一个命令,如view.update在java turing?
赞助
赞助
赞助
赞助
homer_simpson.




邮政发布: 2004年2月18日星期三上午10:52  帖子主题:(没有主题)

基本上我所需要的只是对java的View.update等效! 使困惑





邮政发布: 2004年2月18日星期三11:29  帖子主题:(没有主题)

我知道Java 2D API中有一个,我会检查什么时候回家如何使用它....
计算机科学加拿大 帮助在C,C ++,Java,PHP,Ruby,图灵,VB等内容中进行编程!
homer_simpson.




邮政发布: 2004年2月18日星期三下午5:33  帖子主题:(没有主题)

惊人的!
Rizzix.




邮政发布: FRI 2月20日,2004年5月5日下午5:55  帖子主题:(没有主题)

扩展我上一级示例..(再次)

java.:
导入javax.swing。*;
导入java.awt。*;

班级绘图景观 延伸 帆布 {
   
    私人的 图像 bImage;     // ofcScreen缓冲区
    私人的 图形 bg;      // ofcscreen图形上下文
    私人的 graphics2d.G2D.;   //屏幕图形上下文
    私人的 w, h;         //画布的宽度和高度(Component)
   
    DrawView( 宽度, height) {
        super();
        setBackground(颜色.黑色的);
        w = width;
        h = height;
    }
   
    上市 空白 paint(图形 g) {
        g2d    = (graphics2d.) g;         //投射到graphics2d(just in case)
       Bimage = createImage.(W,H.);      //创建一个新的缓冲映像
        bg     = bImage.get();   //获取图像的图形上下文
       
        bg.setXormode.(颜色.白色的);      //将白色设置为xored颜色
       
        为了 ( 我= 0;一世< 600; I ++)
        {
            bg.draw(0,0,一世,400);     //绘制在白色(on buffer)
            updateScreen();
            bg.draw(0,0,一世,400);     //在背景颜色中绘制(XORed)
        }
       
        bg.赔货();                   //处置图形上下文
        bImage.fl();                 // flush.(empty) image
    }
   
    私人的 空白更新屏幕() {
        g2d.拔迹(Bimage, 0, 0, )//加载缓冲区到屏幕
    }
}

homer_simpson.




邮政发布: Sun 22,2004 7:19 PM  帖子主题:(没有主题)

嗯...... Dude ......我如何运行没有主要方法的程序:s
Rizzix.




邮政发布: 2004年2月23日星期八:下午3:45  帖子主题:(没有主题)

java.:
导入javax.swing。*;
导入java.awt.dimension;

上市 班级 测试 {
    上市 静止的 空白 main(细绳[] args) {
        //与标题栏的标题初始化
        Jframe. 框架= 新的 Jframe.(“测试应用程序”);
        尺寸 screenSize = frame.gettoolkit.().Getscreensize.();
        frame.setBound.(屏幕尺寸。宽度/4, 屏幕尺寸。高度/4,
                        screenSize.宽度/2, 屏幕尺寸。高度/2);
        frame.setDefaultCloseoperation.(Jframe..EXIT_ON_CLOSE.);
         
          w = frame.GetBounds.().宽度;
          h = frame.GetBounds.().高度;

        frame.getContentPane.().添加(新的绘图景观(W,H.));
        frame.表演();
    }
}
homer_simpson.




邮政发布: 2004年2月24日星期二6:01 PM  帖子主题:(没有主题)

让我感受到这样一个诺贝蒂...... 尴尬
赞助
赞助
赞助
赞助
Rizzix.




邮政发布: 2004年2月24日星期二11:25下午  帖子主题:(没有主题)

是的,可能需要一段时间才能习惯。你基本上需要思考对象嘿。

无论如何..
我上面写的drawView类基本上是这样的:
我创建一个图像(如果您使用BufferedImage,则更好..但是图像会做)
现在我把我全部绘制到了这个图像上。当我需要更新屏幕时,我只需将图像加载到屏幕上。

要使这个过程更简单,我写了这个: http://www.9tt6y.icu/v2/viewtopic.php?t=3817

尝试掉..我已经通过Java方法包装了类似的语法......所以它应该更容易专注于绘图而不是缓冲的实际过程等。

这是一个使用该类的示例:
java.:
导入java.awt。*;
导入javax.swing.jframe;

班级绘图景观 延伸 Bufferedcanvas. {
       
        DrawView(Jframe. parent) {
            super(父母);
        }
       
        保护 空白 offscreenPaint() {
            为了 ( 我= 0;一世< maxx(); I ++)
            {
                drawline(0, 0 ,一世, 400, 颜色.白色的);
                drawfilloval(0, 0,我,我, 颜色.红色的);
                update();
                drawline(0, 0, 一世, 400);
                drawfilloval(0, 0我,我);
            }
        }
}


这是应用程序类:
java.:
导入javax.swing。*;
导入java.awt.dimension;
导入java.awt.Color;

上市 最终的 班级 测试 {
    上市 静止的 空白 main(细绳[] args) {
        Jframe. 框架= 新的 Jframe.(“测试应用程序”);
        尺寸 screenSize = frame.gettoolkit.().Getscreensize.();
        frame.setBound.(屏幕尺寸。宽度/4, 屏幕尺寸。高度/4,
                        screenSize.宽度/2, 屏幕尺寸。高度/2);
        frame.getContentPane.().添加(新的绘图景观(框架));
        frame.setDefaultCloseoperation.(Jframe..EXIT_ON_CLOSE.);
        frame.表演();
    }
}
从上一个显示帖子:   
   指数 -> 编程,Java. -> java.帮助
查看上一个主题 告诉一个朋友可打印的版本 下载主题订阅本主题私人信息刷新页面 查看下一个主题

11  [ 9 Posts ]
跳到:   


Style:  
搜索: