gpt4 book ai didi

java - 对齐 JTextArea 中由空格组成的字符串中的列

转载 作者:行者123 更新时间:2023-11-30 02:42:05 24 4
gpt4 key购买 nike

我试图在 JTextArea 中附加一个由空格组成的字符串。代码和逻辑一切都很好,但输出不是我想要的方式。我得到的输出是这样的,

实际输出

Actual output

期望的输出

Desired output

这是一个处方,“0---0---0”字符串与剂量说明相关,我希望看起来像这样,

我的代码是,

medicinename_str = medicinepanel.getComboBox().getEditor().getItem().toString();
strength_str = strength.getText();
if(morning.isSelected()){
timings_str = timings_str + "1-----" ;
}else{
timings_str = timings_str + "0-----" ;
}
if(afternoon.isSelected()){
timings_str = timings_str + "1-----" ;
}else{
timings_str = timings_str + "0-----" ;
}
if(night.isSelected()){
timings_str = timings_str + "1" ;
}else{
timings_str = timings_str + "0" ;
}
quantity_str = quantity.getText();
medicinename_str = "Tab. "+medicinename_str;
int spaces = spacelength - medicinename_str.length();//spacelength is initialized to 40 in the constructor of the JPanel the JTextArea is added in.
System.out.println("spaces ="+spaces);
String spacestring = " ";
for(int i = 1; i<spaces; i++){
spacestring = spacestring + " ";
}
medicinename_str = medicinename_str+spacestring;
MainFrame.getPrescriptionArea().append(medicinename_str);
System.out.println("Medicine strlength "+medicinename_str.length());
MainFrame.getPrescriptionArea().append(timings_str+"\n");

timings_str = "";

最佳答案

发生这种情况是因为字体不是等宽字体。

对于相同的文本:

Tab.Amusulpride          0-----0-----0
Tab.Abilify 0-----0-----0

使用 Arial(非等宽字体)

enter image description here

使用 Courier New(等宽字体)

enter image description here

关于java - 对齐 JTextArea 中由空格组成的字符串中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41362635/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com