2025-12-19 10:49:27 +01:00
|
|
|
package fr.iutfbleau.sae.vconverter;
|
|
|
|
|
|
2025-12-20 00:30:14 +01:00
|
|
|
import javax.swing.*;
|
2025-12-20 14:56:22 +01:00
|
|
|
import java.awt.*;
|
|
|
|
|
|
2025-12-20 00:30:14 +01:00
|
|
|
|
|
|
|
|
public class FrequencyTablePanel extends JPanel {
|
2025-12-20 14:56:22 +01:00
|
|
|
// 3 Zone de texte pour la fréquence du rouge , du vert et du bleu
|
|
|
|
|
private JTextArea freqRouge , freqVert , freqBleu;
|
|
|
|
|
|
2025-12-20 00:30:14 +01:00
|
|
|
public FrequencyTablePanel() {
|
2025-12-20 14:56:22 +01:00
|
|
|
setLayout(new BoxLayout(this , BoxLayout.Y_AXIS));
|
|
|
|
|
setBorder(BorderFactory.createEmptyBorder(15, 15, 15, 15));
|
|
|
|
|
|
|
|
|
|
// Premiere étiquette pour les fréquences en géneral
|
|
|
|
|
JLabel etiquette1 = new JLabel("Frequence");
|
|
|
|
|
etiquette1.setFont(new Font("SansSerif", Font.BOLD, 16));
|
|
|
|
|
super.add(etiquette1);
|
|
|
|
|
super.add(Box.createVerticalStrut(10));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Puis création de zone de texte pour le rouge , le vert et le bleu
|
|
|
|
|
this.freqRouge = creationZoneText("Rouge");
|
|
|
|
|
this.freqVert = creationZoneText("Vert");
|
|
|
|
|
this.freqBleu = creationZoneText("Bleu");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-12-20 00:30:14 +01:00
|
|
|
}
|
|
|
|
|
|
2025-12-20 14:56:22 +01:00
|
|
|
private JTextArea creationZoneText(String t) {
|
|
|
|
|
super.add(new JLabel(t + ":"));
|
|
|
|
|
GridLayout gestionnaire_mise_en_page = new GridLayout(5,5,10,10);
|
|
|
|
|
JTextArea zone = new JTextArea(8, 30);
|
|
|
|
|
zone.setLayout(gestionnaire_mise_en_page);
|
|
|
|
|
zone.setEditable(false);
|
|
|
|
|
zone.setFont(new Font("Monospaced", Font.PLAIN, 12));
|
|
|
|
|
JScrollPane scroll = new JScrollPane(zone);
|
|
|
|
|
scroll.setPreferredSize(new Dimension(300, 120));
|
|
|
|
|
add(scroll);
|
|
|
|
|
add(Box.createVerticalStrut(10));
|
|
|
|
|
return zone;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void updateFrequencies(int[] freqR,int[] freqG,int[] freqB) {
|
|
|
|
|
mettreAJour(freqRouge,freqR);
|
|
|
|
|
mettreAJour(freqVert,freqG);
|
|
|
|
|
mettreAJour(freqBleu,freqB);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void mettreAJour(JTextArea zone,int[] frequence){
|
|
|
|
|
StringBuilder string = new StringBuilder();
|
|
|
|
|
|
|
|
|
|
for(int i = 0 ; i < frequence.length ; i++){
|
|
|
|
|
string.append(String.format("%3d : %s%n", i, frequence[i]));
|
|
|
|
|
|
|
|
|
|
if(i%10 == 0 && i!=0){
|
|
|
|
|
string.append("\n");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
zone.setText(string.toString());
|
2025-12-20 00:30:14 +01:00
|
|
|
}
|
2025-12-19 10:49:27 +01:00
|
|
|
}
|