BasicArrowButton是Java SE的一部分,它是一个类,用于显示指定方向的单个箭头头部。我想覆盖这个类,保留现有的方法,但让BasicArrowButton显示双箭头头部而不是单箭头头部。例如,请参见以下网址www.tiresias.org/images/ff.jpg。我只是想改变这个图标的绘制方式。
谢谢。
子类化 BasicArrowButton 并覆盖 paintTriangle 方法。你可以尝试两次调用 BasicArrowButton 的 paintTriangle 方法来获取三角形。例如:
public static class Bidriectional extends BasicArrowButton {
private static final long serialVersionUID = 1L;
public Bidriectional() {
// This does not matter, we'll override it anyways.
super(SwingConstants.NORTH);
}
@Override
public void paintTriangle(Graphics g, int x, int y, int size,
int direction, boolean isEnabled) {
super.paintTriangle(g, x - (size / 2), y, size, SwingConstants.EAST, isEnabled);
super.paintTriangle(g, x + (size / 2), y, size, SwingConstants.EAST, isEnabled);
}
}
应该会给你一个按钮,看起来像这样:
(来源: amnet.net.au)
简单。
子类化BasicArrowButton并覆盖paint()方法,通过使用g.drawImage()绘制你在问题中提到的图像(ff.jpg或任何其他图像)。请注意,您可能需要将ff.jpg复制到您的项目中并加载它。
注意:为此,您必须创建一个新类并使用它。您不能更改BasicArrowButton的现有行为,因为它不使用UI委托。