通过drawline方法创建的java线条在调整窗体大小时消失
我有一张桌子。我要在上面画一个图表。但我意识到,当调整帧的大小时,通过绘制线的方法装箱的线消失了
这是我的密码。我想知道如何避免在调整大小时消失。我想保持直线,甚至调整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);
# 1 楼答案
您可以创建自己的类,该类从
JLabel
扩展,并有一个额外的方法来决定是否必须绘制线条在这个新类的重写的
paintComponent()
方法中,在super.paintComponent()
调用之后画线将建议1中的逻辑应用于您的父组件
JLabel
。(不确定这是否适用于所有情况)