嗨,当我运行我的程序时,我收到一个错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at seven.segmeng.display.test.MultiCharacterDisplay.main(MultiCharacterDisplay.java:68)
Java Result: 1
有一部分代码,我不确定哪些我不确定,并且它与输出中的错误相关联
public static void main(String[] args) {
String text = args[0];
MultiCharacterDisplay display = new MultiCharacterDisplay(text.length(), Color.GREEN);
display.setText(text);
JFrame frame = new JFrame();
frame.setBackground(Color.black);
frame.getContentPane().setBackground(Color.black);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.getContentPane().add(display);
frame.pack();
frame.setVisible(true);
}
我不知道在这一点上去哪里。
这是多字符显示代码段
public MultiCharacterDisplay(int segmentDisplayCount, Color segmentColor) {
this.segmentDisplayCount = segmentDisplayCount;
segmentDisplays = new ArrayList<SixteenSegmentDisplay>(segmentDisplayCount);
setLayout(new FlowLayout(FlowLayout.LEFT, GAP, 0));
for (int i = 0; i < segmentDisplayCount; i++) {
SixteenSegmentDisplay display = new SixteenSegmentDisplay();
display.setSegmentColor(segmentColor);
segmentDisplays.add(display);
add(display);
}
}
这里是segmentdisplaycount部分
public class MultiCharacterDisplay extends JComponent {
private static final int GAP = 5;
private int segmentDisplayCount;
private List<SixteenSegmentDisplay> segmentDisplays;
public MultiCharacterDisplay(int segmentDisplayCount) {
this(segmentDisplayCount, Color.red);
}
public MultiCharacterDisplay(int segmentDisplayCount, Color segmentColor) {
this.segmentDisplayCount = segmentDisplayCount;
segmentDisplays = new ArrayList<SixteenSegmentDisplay>(segmentDisplayCount);
setLayout(new FlowLayout(FlowLayout.LEFT, GAP, 0));
for (int i = 0; i < segmentDisplayCount; i++) {
SixteenSegmentDisplay display = new SixteenSegmentDisplay();
display.setSegmentColor(segmentColor);
segmentDisplays.add(display);
add(display);
}