0
我想在jpanel上绘制字符串,但我不知道字符串的数量我要通过面板在某些情况下有四个字符串在某些情况下有五个字符串在某些情况下有三个。现在我怎样才能在面板上绘制字符串,并且我必须将多少个字符串传递给jPanel,因为它们在每种情况下都不相同。在jpanel上绘制字符串
我想在jpanel上绘制字符串,但我不知道字符串的数量我要通过面板在某些情况下有四个字符串在某些情况下有五个字符串在某些情况下有三个。现在我怎样才能在面板上绘制字符串,并且我必须将多少个字符串传递给jPanel,因为它们在每种情况下都不相同。在jpanel上绘制字符串
你是什么意思的“字符串数”?你的意思是它将是一串字符串,你不知道提前的长度?每个字符串是否需要自己进行“行”?
您可以使用Graphics
类中的drawString
方法。
您是否正在创建一个扩展为JPanel
的类。如果是这样,那么当您重写paintComponent时,Graphics对象将作为参数传递。
This post包含有关如何确定String大小的信息(以像素为单位)。
This link关于测量文字和this link关于显示多行文字也可能有用。
干杯!
为什么你建议为JComponent调用'getGraphics()',比如JPanel?你明白,返回的Graphics对象是短暂的,当JVM或OS需要重绘时,用它绘制的任何东西都会消失。这不应该是一个选项。如果你需要在JPanel上绘图,你应该扩展它并在paintComponent方法中绘制。 –
对不起,我没有意识到这一点。我会编辑答案。 –
感谢您的编辑,我会将我的倒票改为加票。 –