Tag: 重绘

Java的Paint方法出现问题,可笑的刷新速度

我正在开发R-Type的一个非常简单的版本作为大学的工作,但尽pipe它的工作,手艺速度是很慢,所以运动是丑陋和笨拙。 我用刷新的方法刷新屏幕,还有其他的方法或方法最好吗? 运动video 在主面板上绘制方法 @Override public void paint(Graphics g) { super.paint(g); Graphics2D g2 = (Graphics2D) g; g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2.drawImage(fondo, 0, 0,1200,600,this); pj.paint(g2); g2D=g2; } PJ的油漆方法 public void paint(Graphics2D g) { g.drawImage(imagen,x,y,this); } PJ的移动方法 public void move (KeyEvent e) { int dx = 0; int dy = 0; int code = e.getKeyCode(); switch (code) { case […]

在listview中重绘单行

是否有可能在ListView重绘单个行? 我有一个ListView的LinearLayout的行。 我倾听一个偏好改变,有时我需要改变一个单一行的LinearLayout中的一个View 。 有没有办法让它重绘该行,而无需调用listview.notifyDatasetChanged() ? 我已经尝试调用view.invalidate()在视图( LinearLayout ),但它不重绘该行。

Swing Worker:function get()

我的问题是,我不明白swingworker是如何工作的,因为我正在做的是使fa=worker.get()因为我有一个很长的方法,计算很多点在后台运行,因为我不'我想冻结我的界面,我想让她的结果来绘制组件图像。 但是,我不明白它在哪里去,当我做fa=worker.get()因为我的控制台打印"titi" ,我把很多其他打印看到程序的下一部分到达,但没有人打印。 请帮助我知道在get()或执行它之后编译的位置,以及如果您对如何实现我所需要的每个代码块有所了解,欢迎。 public void paintComponent(final Graphics g1){ // TODO Auto-generated method stub final int width=getWidth(); final int height=getHeight(); image= new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB); //On transforme le rectangle de base en un rectangle qui a le meme ratio que le cadre contenant l'ancien //(Il yaura dessus la meme fractale mais avec plus de fond noir) afin […]

javafx listview和treeview控件没有被正确重绘

我试图把元素放在一个ListView和TreeView与javafx,但两个控件都不会刷新它们的内容。 我正在使用obvservable列表来控制项目,每次我删除一个项目时,listview或treeview从数据源中删除它。 但是视图不更新。 我仍然看到所有的项目。 唯一的区别是,删除的项目不能再被选中。 例如链接2显示了拼合的项目列表。 图片1显示了它们拼合之前的项目。 项目被折叠,但旧的条目仍然可见。 有没有人知道这个问题的解决scheme。 谢谢大家帮助我 链接1: treeview不折叠链接2: treeview被折叠,但不更新旧的视图 这是我用来显示一个列表视图的自定义单元格工厂: public ListCell<T> call(final ListView<T> param) { ListCell<T> cell = new ListCell<T>(){ @Override protected void updateItem(final T persistentObject, final boolean empty) { super.updateItem(persistentObject, empty); if(persistentObject instanceof POProcessStep){ POProcessStep poProcessStep = (POProcessStep) persistentObject; if (persistentObject != null) { super.setText(poProcessStep.getId() + " – " […]