1
是否可以在JTextField(或任何其他Swing控件上)上繪製對角線而無需將面板置於文本框上?在Java中的文本框上繪製對角線
是否可以在JTextField(或任何其他Swing控件上)上繪製對角線而無需將面板置於文本框上?在Java中的文本框上繪製對角線
創建一個自定義JTextField並覆蓋paint()方法。例如:
public void paint(Graphics g)
{
super.paint(g);
// do custom painting here
}
注意:通常自定義繪畫是通過覆蓋組件的paintComponent(..)方法來完成的。所以你也可以這樣做:
public void paintComponent(Graphics g)
{
super.paintComponent(g);
// do custom painting here
}
和結果將是相同的,因爲JTextField沒有任何子組件添加到它。但是我建議使用paint(...),因爲如果您想在支持子組件的組件(如JPanel)上繪製對角線,此方法可以工作。請通過閱讀Custom Painting上的Swing教程中的部分,確保您瞭解這兩種方法之間的區別。
或者另一種選擇是創建一個自定義熒光筆,在選定的文本上繪製對角線。 RectanglePainter可以讓你開始使用這種方法。
因此,根據您的要求,您有幾個不同的選項。