我遇到了這個問題:我可以以某種方式向JPanel添加一個虛線(或虛線,無論)邊框嗎?Java將一個虛線或虛線邊框添加到一個JPanel
我搜索了SO問題,但似乎沒有人問過這個問題。
我想知道是否有任何類使用。實際上我正在使用:
myPanel.setBorder(BorderFactory.createLineBorder(Color.BLACK));
很明顯,這是一個標準的類,只給出幾個標準邊界,沒有人對我有用。
我遇到了這個問題:我可以以某種方式向JPanel添加一個虛線(或虛線,無論)邊框嗎?Java將一個虛線或虛線邊框添加到一個JPanel
我搜索了SO問題,但似乎沒有人問過這個問題。
我想知道是否有任何類使用。實際上我正在使用:
myPanel.setBorder(BorderFactory.createLineBorder(Color.BLACK));
很明顯,這是一個標準的類,只給出幾個標準邊界,沒有人對我有用。
這是一個很好的答案,但請包括自Java 1.7以來提及的方法在JDK中。 – Timmos
另外,標準的'Color'類實現'Paint',所以不要試圖解析函數簽名。 –
從Java 7開始,您可以使用BorderFactory.createDashedBorder(Paint)
。
在Java 7之前,您必須自己定義此邊框。然後你可以使用這個自寫邊界:
private class DashedBorder extends AbstractBorder {
@Override
public void paintBorder(Component comp, Graphics g, int x, int y, int w, int h) {
Graphics2D gg = (Graphics2D) g;
gg.setColor(Color.GRAY);
gg.setStroke(new BasicStroke(1, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 0, new float[]{1}, 0));
gg.drawRect(x, y, w - 1, h - 1);
}
}
看看[MatteBorder(http://docs.oracle.com/javase/7/docs/api/javax/swing/border/MatteBorder。 html)和[如何使用邊框](http://docs.oracle.com/javase/tutorial/uiswing/components/border.html)舉例 – MadProgrammer
http://docs.oracle.com/javase/tutorial/uiswing /components/border.html#custom –