2022-05-24 17:28:29 +02:00
|
|
|
import java.awt.*;
|
|
|
|
import java.io.BufferedReader;
|
|
|
|
import java.io.FileReader;
|
|
|
|
import java.io.IOException;
|
|
|
|
import java.util.Random;
|
|
|
|
|
|
|
|
import javax.swing.*;
|
|
|
|
|
|
|
|
public class Couleurs extends JPanel {
|
|
|
|
int max;
|
|
|
|
int index1 = -1;
|
|
|
|
int index2 = -1;
|
|
|
|
String[] nameList;
|
|
|
|
Color[] colorList;
|
|
|
|
|
|
|
|
public static void main(String[] args) {
|
|
|
|
JFrame f = new JFrame("OwO");
|
|
|
|
f.setSize(300, 300);
|
|
|
|
f.setLocation(100, 100);
|
|
|
|
f.setResizable(false);
|
|
|
|
f.add(new Couleurs());
|
|
|
|
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
|
|
|
f.setVisible(true);
|
|
|
|
}
|
|
|
|
|
|
|
|
public Couleurs() {
|
|
|
|
super();
|
|
|
|
|
|
|
|
try (BufferedReader br = new BufferedReader(new FileReader("rgb.txt"))) {
|
|
|
|
br.mark(2000000000);
|
|
|
|
this.max = (int)br.lines().count();
|
|
|
|
br.reset();
|
|
|
|
this.nameList = new String[max];
|
|
|
|
this.colorList = new Color[max];
|
|
|
|
System.out.println(br.readLine());
|
|
|
|
|
|
|
|
for (int i = 0; i < max-1; i++) {
|
|
|
|
String[] infos = br.readLine().trim().split("[ \t]+");
|
|
|
|
nameList[i] = infos[3];
|
|
|
|
colorList[i] = new Color(Integer.parseInt(infos[0]), Integer.parseInt(infos[1]), Integer.parseInt(infos[2]));
|
|
|
|
}
|
|
|
|
|
|
|
|
Random r = new Random();
|
|
|
|
this.index1 = r.nextInt(max);
|
|
|
|
this.index2 = r.nextInt(max);
|
|
|
|
|
|
|
|
br.close();
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
protected void paintComponent(Graphics g) {
|
|
|
|
Graphics newG = g.create();
|
|
|
|
|
|
|
|
if (this.isOpaque()) {
|
|
|
|
newG.setColor(this.getBackground());
|
|
|
|
newG.fillRect(0, 0, this.getWidth(), this.getHeight());
|
|
|
|
}
|
|
|
|
|
|
|
|
if (index1 != -1 && index2 != -1) {
|
|
|
|
newG.setColor(colorList[index1]);
|
|
|
|
newG.fillPolygon(new int[] {0, 0, this.getWidth()}, new int[] {0, this.getHeight(), this.getHeight()}, 3);
|
|
|
|
|
|
|
|
newG.setColor(colorList[index2]);
|
|
|
|
newG.fillPolygon(new int[] {0, this.getWidth(), this.getWidth()}, new int[] {0, 0, this.getHeight()}, 3);
|
2022-06-13 16:26:56 +02:00
|
|
|
|
|
|
|
newG.setColor(colorList[index1]);
|
|
|
|
newG.drawString(nameList[index2], this.getWidth() - 150, 20);
|
|
|
|
|
|
|
|
newG.setColor(colorList[index2]);
|
|
|
|
newG.drawString(nameList[index1], 20, this.getHeight() - 20);
|
2022-05-24 17:28:29 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|