我有个问题想不通。我试着在屏幕上随机显示一堆框,但是它好像只在一行中显示框。就好像它们排成一行,而不是随机显示,即使我记录的值是超级随机的。
以下是它目前的样子:
形象
这是我的 JPanel
用于绘制方框的扩展名:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JPanel;
public class CustomComponent extends JPanel {
private Color[] colors = {Color.BLACK, Color.BLUE, Color.CYAN, Color.DARK_GRAY,Color.GRAY,Color.GREEN, Color.LIGHT_GRAY,Color.MAGENTA,Color.ORANGE, Color.PINK, Color.RED, Color.YELLOW};
double r;
double maxWidth = 2000;
double maxHeight = 2000;
double width = maxWidth;
double height = maxHeight;
public CustomComponent() {
setMaximumSize(new Dimension((int) maxWidth,(int) maxHeight));
setPreferredSize(new Dimension((int) maxWidth,(int) maxHeight));
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
int count = 0;
while (count < 50) {
r = Math.random();
g.setColor(colors[(int)(colors.length * r)]);
g.fillRect((int) (1000*r), (int) (1000*r), (int) (1000*r), (int) (1000*r));
count++;
}
}
}
这个 CustomComponent
此处使用:
public JPanel northComponent() {
JPanel panel = new JPanel();
CustomComponent j = new CustomComponent();
panel.add(j);
return panel;
}
我用的是布局管理器 BorderLayout
面板对象位于北方的位置。
暂无答案!
目前还没有任何答案,快来回答吧!