我正在尝试使用我制作的Painter对象在我的JTable上绘制线条,但由于某种原因table.getGraphics()
返回null.
画家类:
import java.awt.BasicStroke;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JTable;
public class Painter extends JTable {
public Painter(){
}
public void paintSudokuLines(Graphics g){
paintComponent(g);
}
public void paintComponent(Graphics g){
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.setStroke(new BasicStroke(3));
g2.drawLine(0, 300, 400, 250);
}
}
Run Code Online (Sandbox Code Playgroud)
我用以下方法调用方法:
private Painter paint = new Painter();
paint.paintSudokuLines(table.getGraphics());
Run Code Online (Sandbox Code Playgroud)
我不知道为什么会这样,所以我需要一些解释.