import java.awt.*;
import java.awt.event.*;
public class StackOFlow {
static Frame frame = new Frame();
static Label dot = new Label(".");
public static void main(String[] args) {
new StackOFlow();
for (int i = 1; i < 1600; i += 30) {
dot.setBounds(i, 400, 80, 30);
frame.add(dot);
}
}
public StackOFlow() {
frame.setVisible(true);
frame.setLayout(null);
frame.setExtendedState(Frame.MAXIMIZED_BOTH);
}
}
我正在尝试用Java创建一个图形程序,其中,基于所需的功能,将在AWT框架中创建点以形成虚线。我想知道是否有一种方法可以多次创建一个单独的组件(点),因此我不需要声明许多只是点的标签。
答案 0 :(得分:0)
正如您对问题的评论所述:出于各种原因这样做可能不是一个好主意。
现在,如果你不得不这样做:
1)如果您以后不需要这些点,您只需创建新的实例或展示位置:
for (int i = 1; i < 1600; i += 30) {
Label tempDot = new Label(".");
tempDot .setBounds(i, 400, 80, 30);
frame.add(tempDot );
}
2)如果你需要所有单个点或更晚的参考,你可能想把它们放在一个List中:
List<Label> dots = new ArrayList<Label>();
[...]
for (int i = 1; i < 1600; i += 30) {
Label tempDot = new Label(".");
tempDot .setBounds(i, 400, 80, 30);
frame.add(tempDot );
dots.add(tempDot);
}
3)如果Label
仅表示结束(虚线),请点击此处查看:Drawing dashed line in java