- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个扩展 JPanel 的 Hexagon 组件。它在PaintComponent()中绘制一个六边形多边形。为了让它用给定的颜色填充多边形,我创建了一个 Highlight() 方法来导致组件重新绘制:
public class Hexagon{
private Color highlightColor;
private boolean highlighted;
private Polygon polygon;
public Hexagon(int width ... etc){
// code to create the hexagon polygon to be drawn
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D)g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.drawPolygon(polygon);
// highlighting
if(highlighted){
g2d.setColor(highlightColor);
g2d.fillPolygon(polygon);
}
}
public void highlight(Color highlightColor){
highlight(highlightColor, false);
}
public void highlight(Color highlightColor, boolean dontRepaint){
highlighted = true;
this.highlightColor = highlightColor;
if(dontRepaint) { return; }
repaint();
}
}
现在,当我想一次突出显示(填充)多个六边形时,就会出现问题。为了突出显示它们,我将使用 for 循环并调用 Hexagon.highlight(Color.orange)。然而,对于用户来说,一次填充一个六边形是显而易见的。这是填充如何发生的示例图像
我尝试了另一种重绘方法,让包含六边形的 JPanel 自行重绘。示例:
// this code is inside the containing Jpanel that hosts all the hexagons
public void highlightManyHexagons(List<Hexagon> hexes){
for(Hexagon h : hexes){
// use overload that prevents the hexagon to do a repaint
h.highlight(Color.orange, true);
}
// repaint the whole panel
repaint();
}
这不起作用。知道如何一次填充所有六边形吗?谢谢。
最佳答案
您可以尝试创建一个由所有要填充的六边形组成的形状。使用 Area
类和 public void add(Area rhs)
方法。可以基于六角形对象创建区域。然后填充单个区域。
关于java swing - 如何一次重新绘制所有组件,以便用户不会注意到它们被一一填充?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9770979/
我最近注意到一个隐藏的进程,它没有出现在进程列表中,但它消耗CPU时间和内存。这是怎么发生的,它是如何编写的,它在做什么,我们如何杀死该进程。 有什么方法可以取消隐藏此类隐藏的进程 最佳答案 简而言之
假设我有一个相当嵌套的 JS 对象,我需要对其进行 JSON 编码: var foo = { "totA": -1, "totB": -1, "totC": "13,052.0
我正在尝试使用 scrapy 抓取一些诗歌,我有这样的文本: Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean co
这可能是常识,但我似乎无法找到有关该问题的任何信息。这是一些背景知识: 我有一些页面使用了 Bootstrap 的标签系统。在这些页面的 $(document).ready() 函数中是一些基于 UR
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我创建了一组新的 Controller ,当我尝试归档新代码时,在归档这些 Controller 时发生了这个错误: error: open /Users/owner12/Library/Develo
在 Xcode 12.5.1 中使用 IOS 14.5 部署目标遵循 UIDocumentPickerViewController 的现场 IOS 文档时,出现错误: Incorrect argume
我是一名优秀的程序员,十分优秀!