2017-10-14 106 views
0

我刚刚开始我的comp科学课程和3周,我已经挣扎。使用BlueJ我需要创建一个矩形,其中包括方法标签,矩形的高度,矩形的颜色,标签和矩形的位置以及矩形的宽度。它基本上看起来像一个条形图,其左侧有文本,因此我需要计算出像素的文本宽度,然后我可以从矩形的x位置中减去它。我没有使用java或编程的经验,因此我需要某种label.getWidth();命令如何获得在java中的字符串的宽度

+1

http://idownvotedbecau.se/noattempt/你确定你不是被要求模拟一个矩形而不是绘制它吗?在第3周跳进图形用户界面的计算机科学课程似乎很奇怪/设计不佳。 –

回答

2

文本的宽度取决于您使用的字体。例如,五个字符可以看起来像:在可变宽度的字体

IIIII

MMMMM

(一个 'i' 是不一样宽的 'M')。

在固定宽度的字体,五个字符总是相同的宽度:

iiiii 

mmmmm 

所以,为了保持简单,切换到一个固定宽度的字体(比方说速递)计数的字符数和乘由单个字符的宽度决定。

可变宽度字体也可以进行类似的计算,但更复杂。

相关问题