package de.tlaubengaier.preisanfragefenster;
import java.awt.Button;
import java.awt.Canvas;
import java.awt.Choice;
import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Label;
import java.awt.MediaTracker;
import java.awt.TextField;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.File;
import java.util.Arrays;
import sun.security.util.PendingException;
//java.awt.cursor
public class PreisAnfrageFenster extends Frame {
//Attribute
//Labels
private Label lbl1;
private Label lbl2;
//TextFelder
private TextField txtFeld1;
private TextField txtFeld2;
//Dropdownmenüs
private Choice choi1;
private Choice choi2;
//Buttons
private Button btnZurueck;
private Button btnWeiter;
//MySql
private PreisAnfrageMysql mysqlQuery;
private String lolwhat;
//Zeichenflächen
private Image img;
private Image [] bildListe;
private String verzeichnis;
private String [] dateiNamen;
ZeichenFlaeche zf;
private int id;
//Konstruktoren
public PreisAnfrageFenster(PreisAnfrageMysql query){
mysqlQuery = query;
setBounds(50, 50, 500, 550);
setBackground(Color.lightGray);
setLayout(null);
addWindowListener(new WindowListener(){
public void windowActivated(WindowEvent e) {
}
public void windowClosed(WindowEvent e) {
}
public void windowClosing(WindowEvent e) {
System.exit(0);
}
public void windowDeactivated(WindowEvent e) {
}
public void windowDeiconified(WindowEvent e) {
}
public void windowIconified(WindowEvent e) {
}
public void windowOpened(WindowEvent e) {
}
});
lbl1 = new Label("Auflage: ");
lbl1.setBounds(20, 270, 60, 20);
txtFeld1 = new TextField();
txtFeld1.setBounds(20, 290, 120, 20);
lbl2 = new Label("Format: ");
lbl2.setBounds(160, 270, 60, 20);
choi1 = new Choice();
choi1.setBounds(160, 290, 120, 20);
choi1.add("A7");
choi1.add("A6");
choi1.add(query.sum[2]);
verzeichnis = ".\\bilder\\";
readData(verzeichnis);
for(int i = 0; i < bildListe.length; i++){
if (bildListe[i] != null){
double verhaeltnis = (double)bildListe[i].getWidth(this) /
(double)bildListe[i].getHeight(this);
zf = new ZeichenFlaeche(i);
zf.setBounds(10+i*85, 50, 90, (int)(80/verhaeltnis));
add(zf);
}
}
}//Ende des Konstruktors
private void readData(String verzeichnis){
MediaTracker mt = new MediaTracker(this);
File dir = new File(verzeichnis);
dateiNamen = dir.list();
bildListe = new Image[dateiNamen.length];
for(int i = 0; i < dateiNamen.length; i++) {
if (!dateiNamen[i].equals("Thumbs.db")){
img = getToolkit().getImage(verzeichnis + dateiNamen[i]);
bildListe[i] = img.getScaledInstance(80, -1, 0);
img = null;
if (bildListe[i] != null){
mt.addImage(bildListe[i], i);
}
}
}
try{
mt.waitForAll();
}catch(InterruptedException ie){
//exception
}
}
private void zeigeAndereDaten(int id, int bildNr){
if(id == 1){
add(lbl1);
add(txtFeld1);
add(lbl2);
add(choi1);
txtFeld1.setText(mysqlQuery.sum[1]+mysqlQuery.sum[2]);
for(int i = 0; i < bildListe.length; i++){
bildListe[i] = null;
//Hier der versuch die Bilder wegzulöschen :/
}
}
}
//Methoden
class ZeichenFlaeche extends Canvas{
private int bildNr;
public ZeichenFlaeche(int bildNr){
this.bildNr = bildNr;
addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent arg0) {
verarbeiteKlick(arg0);
}
});
}
private void verarbeiteKlick(MouseEvent arg0){
System.out.println("Bild Nummer: " + bildNr);
zeigeAndereDaten(1, bildNr);
repaint();
}
public void paint(Graphics g) {
img = getToolkit().getImage(verzeichnis + dateiNamen[bildNr]);
MediaTracker mt = new MediaTracker(this);
mt.addImage(img, 0);
try{
mt.waitForAll();
}catch(InterruptedException e){
//exception
}
if(img != null){
g.drawImage(bildListe[bildNr], 5, 0, this);
}
}
}
}