[String.format()
没有运气的小时...我转向你。无论如何,我有一个用新条目填充的JList,下面是代码:
private void addModule(final JList browse, final JList select){
browse.addMouseListener(new MouseListener(){
@Override
public void mouseClicked(MouseEvent e) {
String addable = browse.getSelectedValue().toString();
if(e.getClickCount() == 2 && getSelectedTower() != null && addable.charAt(0) == ' '){
String data[] = new EPTModule_Model().moduleData(addable.trim());
String module = data[0];
String module_cap = data[1];
String module_cpu = data[2];
struct.addElement("> " + module + "Capacitor:" + module_cap + "CPU:" + module_cpu);
select.setModel(struct);
setSelectedModules(1);
} else if (e.getClickCount() == 2 && getSelectedTower() == null){
new EPTEvent_Model().eventNoTowerSelected();
}
}
@Override
public void mousePressed(MouseEvent e) {}
@Override
public void mouseReleased(MouseEvent e) {}
@Override
public void mouseEntered(MouseEvent e) {}
@Override
public void mouseExited(MouseEvent e) {}
});
}
无论如何,当我现在将我的应用程序添加到列表中时,它们的长度并不相同,所以我得到如下输出:
如您所见,我想输出的不是很可读>电容器...在同一列中对齐,而与xxxxxx字符串长度无关。无论如何,如果有帮助,xxxx字符串的最大长度为47个字符。
尝试一下:
struct.addElement(String.format("> %47s Capacitor: %s CPU: %s", module, module_cap, module_cpu));
尝试一下:
String part1 = String.format("%47s", "xxxxxxxxxxxxxxxxxxxx");
String line1 = part1 + " Capacitor: 555 Cpu: 10";
String part2 = String.format("%47s", "xxxxxxxxxx");
String line2 = part2 + " Capacitor: 555 Cpu: 10";
System.out.println(line1);
System.out.println(line2);
无论“ xxx”部分的长度如何,它们始终具有47个字符的长度,并且将在左侧填充空白。所有“电容器...”部分将在同一列中对齐。