【发布时间】:2014-09-13 11:54:07
【问题描述】:
我有以下 Java 代码:
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JComboBox;
import javax.swing.JFrame;
public class EnumsRightVisible {
public void show() {
JFrame frame = new JFrame("Combo box");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
String[] items = {"aaaaaaaaa__________zzzzzzzzz",
"aaaaaaaaa__________zzzzzzzzz",
"aaaaaaaaa__________zzzzzzzzz"};
JComboBox combo = new JComboBox(items);
combo.setPreferredSize(new Dimension(100,20));
frame.add(combo, BorderLayout.CENTER);
frame.setLocation(600, 100);
frame.pack();
frame.setVisible(true);
}
public static void main(String args[]) {
EnumsRightVisible enumsRightVisible = new EnumsRightVisible();
enumsRightVisible.show();
}
}
运行它可以看到可见文本是左向的。
请注意,这段代码并不能解决我的问题(它将文本向右对齐,但仅在组合框展开时):
((JLabel)comboBox.getRenderer()).setHorizontalAlignment(JLabel.RIGHT);
如何在同一窗口中显示文本的右端 (...__zzzzzz)? 提前致谢!
【问题讨论】:
标签: java swing alignment jcombobox renderer