gpt4 book ai didi

java - 覆盖 Java Applet 中的结果

转载 作者:行者123 更新时间:2023-12-02 05:11:26 25 4
gpt4 key购买 nike

我想开发一个 Java Applet,它显示排序的可视化。所以我写了这样的代码......

public class SortNumbersGUI extends JApplet {
private static final long serialVersionUID = 1L;
List<Integer> randomList;
JLabel numberLabel;
JButton sortButton;

@Override
public void init() {
randomList = MyRandom.myRandom();
setSize(400, 400);
setLayout(new FlowLayout());
sortButton = new JButton("Sort");
sortButton.setBounds(50, 0, 50, 10);
sortButton.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
Collections.sort(randomList);
removeAll();
repaint();
}
});
this.add(sortButton);
super.init();
}


@Override
public void paint(Graphics g) {
int y = 20;

for (Integer i : randomList) {
g.drawString(i.toString(), 0, y + 10);
g.fillRect(20, y, (i * 10) / 10, 5);
y = y + 20;
}
}
}

但是,我在这里面临两个问题..

  1. 排序按钮,即JButton并不总是可见的。当我将鼠标光标放在该排序按钮位置上时,只有它出现。

  2. 当我调用 repaint() 方法时,结果将被覆盖。如下图

Result Image (因为我没有声誉,所以我粘贴了图像链接。)

请帮我解决这个问题。提前谢谢您。

最佳答案

@Override
public void paint(Graphics g) {
// ..

应该是:

@Override
public void paint(Graphics g) {
super.paint(g); // paints **BG**, border etc.
// ..

关于java - 覆盖 Java Applet 中的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27302354/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com