看板java
标 题Re: [问题] 有关用SetXORmode且doublebuffer开了萤뤠…
发信站未来最旧小栈 (Wed Jun 14 02:59:13 2006)
转信站ptt!ctu-reader!ctu-gate!news.nctu!news.ntu!OfO
※ 引述《[email protected] (Mr.Q)》之铭言:
: 请问板上各位大大
: 我写一个小画家程式
: 使用这种写法
: 发现萤幕闪烁问题 把doublebuffer打开也是一样闪
: 请问是什麽原因呢??
: 我设定的是 当成画布的JPanel , 请问识不是还有别的地方也要设定doublebuffer
: 还是说本来就会闪烁呢 ? 谢谢
: 请各位给我一点提示吧^^
: 以下是程式片断
: //drag事件内容///
: public void mouseDragged(MouseEvent e) //drag发生则click必不发生.
: {
: Graphics2D gg=(Graphics2D)graphpanel.getGraphics();
: graphpanel.setDoubleBuffered(true); //doublebuffer开启 为继承JPanel的class(为了方便大家检视,所以在这边刻意call缓冲设定)
graphpanel.setDoubleBuffer(true);
只要在产生出 graphpanel 物件後设定一次就可以了吧...
: gg.setXORMode(Color.white); //设定XORMode
: gg.setColor(colr);
: gg.setStroke(mypen);
: if (line.isSelected())
: {
: gg.draw( new Line2D.Double(Origin.x,Origin.y,End.x,End.y));
: End.setLocation(e.getX(),e.getY());
: gg.draw( new Line2D.Double(Origin.x,Origin.y,End.x,End.y));
: }
: ///////////////////////////////以下省略//////////////////////////////////
--
◢█◣▏◤█◣ ◆未来最旧小栈 Oldest Future Object
█●▇█▁˙█ ◆通讯频率 OfO.twbbs.org
◥█◢▉◥█◤ ◆来源座标
sparc13.cc.ncu.edu.tw