我正在开发一个Java屏幕保护程序项目,到目前为止,我已经完成了很多工作.我需要代码在随机位置生成随机颜色的随机形状.我相信我已经完成了所有随机方面的工作,但现在我只需要使用计时器以500 ms的间隔创建这些形状.我还需要创建一个计数器来计算30个形状,然后清除屏幕并重新开始.(我有背景和keylistener添加到项目的其他部分,但他们工作完美,万一有人想知道他们为什么在那里).
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
public class ScreenSaver1 extends JPanel implements ActionListener {
private JFrame frame = new JFrame("FullSize");
private Rectangle rectangle;
Timer t;
int x1, y1;
boolean full;
protected void paintComponent(Graphics g) {
super.paintComponent(g);
int shape;
shape = (int)(Math.random() * 4);
}
ScreenSaver1() {
t = new Timer(500, this);
t.setDelay(500);
t.start();
// Remove the title bar, min, max, close stuff
frame.setUndecorated(true);
// Add a Key Listener to the frame
frame.addKeyListener(new KeyHandler());
// Add this …Run Code Online (Sandbox Code Playgroud) 我正在开发一个项目来创建一个绘制随机形状的屏幕保护程序.我有几个问题,但我现在主要关心的是如何让形状保持在屏幕上而不是在它们被创建后消失.这是我的代码.我不能使用任何循环,我不想改变我所拥有的任何功能(除了可能的shapesDrawn).
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ScreenSaver2 extends JPanel implements ActionListener {
private JFrame frame = new JFrame("FullSize");
private Rectangle rectangle;
boolean full;
protected void paintComponent(Graphics g) {
int r = (int)(Math.random() * 255);
int gr = (int)(Math.random() * 255);
int b = (int)(Math.random() * 255);
Color color = new Color(r, gr, b);
int width = 10 + (int)(Math.random() * 40);
int height = 10 + (int)(Math.random() * 40);
int x = (int)(Math.random() * (getWidth() - width)); …Run Code Online (Sandbox Code Playgroud) 我正在尝试完成一个JCF数组列表,它在30分钟前编译得很好,但现在我收到错误"类型ArrayList不是通用的;它不能用参数参数化".我已经尝试了一些事情来解决它,但我不知所措.这是代码:
import java.util.*;
/**
* Class to test the java.util.ArrayList class.
*/
public class Main
{
public static void main(String[] args)
{
Main myAppl = new Main();
}
public Main()
{
ArrayList<Integer> numbers = new ArrayList<Integer>();
//list creation
for (int i = 0; i < 10; i++)
numbers.add((int) (Math.random() * 100));
System.out.println("List of numbers:");
System.out.println(numbers);
Scanner in = new Scanner(System.in);
System.out.print("Please, enter an int value: ");
int x = in.nextInt();
if (numbers.contains(x))
System.out.println("Found!");
else
System.out.println("Not found!");
}
}
Run Code Online (Sandbox Code Playgroud)