我有一个jlable。我将在它上面绘制一个图形。但我意识到画线方法创建的一条线在调整框架大小时会消失。
这是我的代码。我想知道如何避免在resize时消失。我希望保持行甚至调整大小的jframe。
void graph(JComponent jcom,int thick,int height,int xpos,int ypos,Color col){
Graphics2D gfx=(Graphics2D) jcom.getGraphics();
gfx.setStroke(new BasicStroke(thick));
gfx.setPaint(col);
gfx.drawLine(xpos, ypos, xpos, ypos-height);
}
按钮点击代码
graph(jLabel1, 10, 100, 200, 200, Color.GREEN);
答案 0 :(得分:3)
您可以创建自己的类,该类从JLabel
延伸,并有一个额外的方法来决定是否必须绘制线条。
在此新课程的重写paintComponent()
方法中,请在super.paintComponent()
来电后绘制您的专线。
JLabel
的父组件中应用建议1中的逻辑。 (不确定这是否适用于所有情况)