我对java有点陌生,我正在制作一个小程序,我需要在这个小程序中显示一个数组(数字从0到255)(我把它放在JScrollPane中):
我还想稍后处理每个条目和其中的值。我尝试使用 JTable,但最大列数为 100。我为每个条目考虑了一个 JLabel,但它需要永远......
对不起,如果这是一个重复的问题,但我在这里搜索了问题,我找不到我需要的
哦,不,这不是家庭作业,我只是在为自己做一个小项目:)谢谢!
好吧,JLabel
如果你做这样的事情,使用 s 不会永远:
for (int i = 0; i < array.length; i++) {
contentPanel.add(new JLabel(array[i]));
}
这是第一种方法。您还可以通过继承 JPanel 和覆盖来自己绘制带有数字的网格paintComponent(Graphics)
。例子:
public void paintComponent(Graphics g) {
super.paintComponent(g);
int currX = 10, currY = 10; // A 10px offset
int gridBoxSize = 50; // In pixels. Should be large enough for three digits.
for (int i = 0; i < array.length; i++) {
if (currX + gridBoxSize > this.getWidth()) {
currX = 10;
currY += gridBoxSize;
}
g.setColor(Color.BLACK);
g.drawRect(currX, currY, gridBoxSize, gridBoxSize);
g.drawString(new String(array[i]), currX + 2, currY + 2);
}
}
笔记:
int[] array;
: