0
Цикл while в моем коде ниже не отображает JPanels в графическом интерфейсе. Каков правильный способ сделать это? Я ценю помощь. Не беспокойтесь о том, что делает код.Добавление JPanels в JFrame?
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import javax.swing.*;
public class Green {
public static int[] values = new int[100];
public final int COLOR_RANGE = 150;
public static int count;
JFrame window = new JFrame("Green Values");
static JPanel main_panel = new JPanel();
static JPanel green_panel;
public Green() {
window.setSize(600, 600);
window.setVisible(true);
main_panel.setVisible(true);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.pack();
}
public static void main (String[] args) throws FileNotFoundException {
Green g = new Green();
Scanner sc = new Scanner(new File("green.txt"));
int i = 0;
while(sc.hasNextInt()) {
values[i++] = sc.nextInt();
count++;
JPanel green_panel = new JPanel(); // help
main_panel.add(green_panel); // help - is this correct?
sc.close();
int max = values[0];
int min = values[0];
for (i = 0; i < count; i++) {
if (max < values[i]) {
max = values[i];
}
if (min > values[i]) {
min = values[i];
}
}
int temp;
int val = 0;
for (i = 0; i < count; i++) {
values[i] = val;
System.out.println("Array value: " + val + " | " + "Green value: " + g.greenValue(val, max, min));
temp = values[i+1];
val = temp;
}
}
}
public int greenValue(int val, int max, int min) {
int colorValue;
int arrayRange = (max - min);
colorValue = (((val-min) * COLOR_RANGE)/arrayRange) + 100;
return colorValue;
}
}
........................................... .................................................. .................................................. .......
Спасибо! Теперь он отлично работает. – Mike