Rated 2 out of 5 stars


//--------------------
// StartSeite.java--- Auto
//--------------------

package uebung33;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.JPopupMenu.Separator;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableColumnModel;
import javax.swing.table.TableColumn;
import java.io.*;


public class StartSeite extends JFrame implements ActionListener, TableData{

//Instanzvariablen
File pfad=null;
String[] bestellung= new String[30];
private DefaultTableColumnModel dtc;
private MeinTableModel tm1;
private int IndexRow =0;
private JPanel p1 = new JPanel();
private JTable tabelle;
private JTabbedPane tp1 = new JTabbedPane();
String[][] daten = new String[10][1];

//Konstruktor
public StartSeite (String titel) {
super(titel);
Container cp = getContentPane();
//Spaltenmodell erzeugen
//tp1.add("Inhalt der Datei",p1);
//tp1.setVisible(true);
//cp.add(tp1);
dtc = new DefaultTableColumnModel();
for (int i=0;iÖÄkopfzeile.length;i++){
TableColumn col = new TableColumn(i, i==2 ? 150 : 60);
col.setHeaderValue(kopfzeile[i]);
dtc.addColumn(col);
}
//Tabellenmodell erzeugen
tm1 = new MeinTableModel();
tabelle = new JTable(tm1,dtc);



JMenuBar leiste = new JMenuBar();
JMenu m1 = new JMenu("Auswahl");
JMenu m2 = new JMenu("Bestellung");
JMenuItem m1i1 = new JMenuItem("Autos",'a');
m1i1.setActionCommand("autos");
m1i1.addActionListener(this);
m1i1.setAccelerator(KeyStroke.getKeyStroke('A',InputEvent.CTRL_MASK));

JMenuItem m1i2 = new JMenuItem("Spielsachen",'s');
m1i2.setActionCommand("spielsachen");
m1i2.setAccelerator(KeyStroke.getKeyStroke('S',InputEvent.CTRL_MASK));

JMenuItem m1i3 = new JMenuItem("Beenden",'b');
m1i3.addActionListener(new BeendenListener());

JMenuItem m2i1 = new JMenuItem("Warenkorb",'w');
m2i1.setActionCommand("warenkorb");
m2i1.addActionListener(this);
m2i1.setAccelerator(KeyStroke.getKeyStroke('W',InputEvent.CTRL_MASK));


cp.setLayout(new FlowLayout());
JLabel ueberschrift = new JLabel("Katalog");
//Menüleiste + Menü ....
m1.add(m1i1);
m1.add(m1i2);
m1.addSeparator();
m1.add(m1i3);
m2.add(m2i1);
leiste.add(m1);
leiste.add(m2);
//addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e){System.exit(0);}});





setLayout(new FlowLayout(FlowLayout.CENTER));
ueberschrift.setFont(new Font("SansSerif",Font.BOLD,40));

cp.setLayout(new GridLayout(2,1));
//cp.add(ueberschrift);
cp.add(tabelle);
cp.add(new JScrollPane(tabelle));
//cp.add(tabelle);
//cp.add(p1);
repaint();
setSize(800,500);
setLocation(0,0);
setJMenuBar(leiste);
setVisible(true);
setResizable(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);

}



//Listener registrieren

public class BeendenListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
dispose();
setVisible(false);
System.exit(0);
}
}


class MeinTableModel extends AbstractTableModel implements TableData{
public int getRowCount(){
return daten.length;
}
public int getColumnCount(){
return daten[0].length;
}
public boolean isCellEditable(int rowIndex, int columnIndex){
return rowIndex ÖÄ daten.length && columnIndex ÖÄ daten[0].length;
}
public Object getValueAt(int row, int column){
return daten[row][column];
}
public void setValueAt(Object aValue, int rowIndex, int columnIndex){
daten[rowIndex][columnIndex] = (String)aValue;
}

public void printData() {
for (int i=0; iÖÄdaten.length; i++){
for( int j=0; j ÖÄ daten[i].length; j++)
System.out.print(daten[i][j] + " ");
System.out.println();
}
}
}
//main
public static void main (String[] args) {
StartSeite fenster = new StartSeite("Katalog");

}
public void actionPerformed(ActionEvent arg0) {
String cmd = arg0.getActionCommand();
if(cmd.equals("autos")){
System.out.println("autos!!");
uebung33 ue = new uebung33();
setVisible(true);
}
if(cmd.equals("spielsachen")){

}
if(cmd.equals("warenkorb")){
System.out.println("warenkorb!!");
StartSeite test = this;
JFileChooser fs = new JFileChooser();
fs.setMultiSelectionEnabled(false);
fs.showOpenDialog(test);
pfad = fs.getSelectedFile();
String s=null;
String save = "G:\\java\\uebung33\\vorgabe\\bestellfax.txt";
int i=0;
try {
BufferedReader in = new BufferedReader(new FileReader(pfad));
BufferedWriter out = new BufferedWriter(new FileWriter(save, true));
while((s=in.readLine())!=null){
System.out.println(s + " index : " + i);
bestellung[i]=s;
out.write(bestellung[i]);
((BufferedWriter)out).newLine();
i++;
}
in.close();
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();

}
daten = new String[bestellung.length][kopfzeile.length];
for (int j = 0;jÖÄbestellung.length;j++){
if(bestellung[j]!=null)
System.out.println(bestellung[j]);
daten[j][0]=bestellung[j];
}repaint();
setVisible(true);
}

}

}




///////////////////////////////////////////////////////
// Uebung33 //
// //
///////////////////////////////////////////////////////
package uebung33;

// Importanweisungen
import java.awt.* ;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;

import javax.swing.*;
import javax.swing.event.*;


/*Autoverkauf */
public class uebung33 extends JFrame implements ActionListener, ListSelectionListener{

// Instanzvariablen
File pfad = null;
private Auto[] autos = new Auto[9];
private Image iBild;
private MeinJPanel Foto;
private JLabel lUeberschrift = new JLabel("Luxusautos",JLabel.CENTER);
private JLabel lAuswahl = new JLabel("Modellauswahl");
private JLabel lMenge = new JLabel("Menge:");
private JList listeAuswahl;
private JTextArea taInfo = new JTextArea(5,30);
private JTextField tfMenge = new JTextField(2);
private JButton bBestellen = new JButton("Bestellen");
private JButton bBeenden = new JButton("Beenden");
private JTextArea ta = new JTextArea(5,10);
String[] bestellungen = new String[10];

String dateiname="";
JPanel drumherum = new JPanel(new GridLayout(1,1));
JPanel links = new JPanel();
JPanel rechts = new JPanel();
JPanel panelfläche;
String[] bezeichnung = new String[autos.length];
String[] bildarray = new String[autos.length];

int k =0;
int index =0;
int marker=0;
//.......


/****************************************************************/

class MeinJPanel extends JPanel{
private Image bild;
private int panelbreite;
private int panelhoehe;

public MeinJPanel(int breite, int hoehe, Image bild2) {
panelbreite = breite;
panelhoehe = hoehe;
this.bild = bild2;
setBackground(Color.black);
}

public Dimension getPreferredSize(){
return new Dimension(panelbreite,panelhoehe);
}
public void paintComponent(Graphics g){
super.paintComponent(g);
if(iBild!=null){
g.drawImage(iBild, 0, 0, panelbreite, panelhoehe, this);
}this.setVisible(true);

}

// ......
}

/****************************************************************/


//Methode zum Laden eines Bildes
// Inputparameter: Dateiname
// Outputparameter: Image
public Image bildladen(String dateiname){
System.out.println("--> bildzeichen " + dateiname);
Toolkit tk = Toolkit.getDefaultToolkit();
MediaTracker mt = new MediaTracker(this);
Image img = tk.getImage(dateiname);
mt.addImage(img,1);
try { mt.waitForID(1);

}
catch (InterruptedException e) {
System.out.println(e);
}
return img;
}


//Konstruktor
public uebung33 () {
super(" Kaufen Sie sich doch noch ein Auto .....");

autos[0] = new Auto("Ferrari 360 Spider",
"Klassisch rot, nicht zu hoch,\nauch für niedrige Garagen.\n\nnur 82000 €","bild0.jpg");
autos[1] = new Auto("Porsche Boxster",
"Robust, geländegängig !\nIdeal für die abenteuerbewusste\nKleinstfamilie.\ngebraucht, nur 31000 €", "bild1.jpg");
autos[2] = new Auto("Aston Martin DB2",
"Ein Designwunder, keine Tür zuviel,\npermanenter Grill auf dem\nKöfferchenraum.\nnur 173000 €", "bild2.jpg");
autos[3] = new Auto("Jaguar 220 S Twin",
"Einfach glänzend, wunderbares\nStandbild, nur 3x täglich putzen.\n\ngebraucht, nur 200000 €", "bild3.jpg");
autos[4] = new Auto("Lamborghini Countach LP 400",
"Für modebewusste Damen: in weiß,\npasst also zu jeder Handtasche.\n\nnur 113000 €", "bild4.jpg");
autos[5] = new Auto("Maserati 3200 GT",
"Für den junggebliebenen Rentner.\nDurchquert jede Innenstadt in vier\nSekunden.\nnur 83000 €", "bild5.jpg");
autos[6] = new Auto("Ferrari 330 GTC",
"Einfach klassisch schön, aber\nnur auf roten Plätzen zu benutzen.\nDaher ein Sonderangebot:\n139952,98 €", "bild6.jpg");
autos[7] = new Auto("Lotus Elise 111 S",
"Lustiges Gesicht, etwas für die \nJüngsten.\nDas klassische Fünft-Auto.\nnur 47000 €", "bild7.jpg");
autos[8] = new Auto("Bugatti EB110 GT, priv. Nachbau,2001",
"Nur für Liebhaber: früher als Post-\nauto missbraucht. Baujahr liegt\netwas zurück.\nnur 450000 €", "bild8.jpg");
// JScrollPane scr = new JScrollPane(listeAuswahl);
for (int i=0;iÖÄautos.length;i++){
bezeichnung[i]= new String(autos[i].getName());
bildarray[i] = new String("G:\\java\\uebung33\\vorgabe\\bild"+i+".jpg");
}
listeAuswahl = new JList (bezeichnung);
listeAuswahl.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
listeAuswahl.setSelectedIndex(0);
JScrollPane scr = new JScrollPane(listeAuswahl);
Container cp = getContentPane();
cp.setLayout(new FlowLayout(FlowLayout.CENTER));
lUeberschrift.setFont(new Font("arial",1,22));
cp.add(lUeberschrift);
links.setLayout(new GridLayout(2,1));
links.add(scr);
links.add(ta);
// C:\\daten\\ausbildung\\java\\uebung33\\vorgabe
// G:\\java\\uebung31\\vorgabe\\start.jpg
Foto = new MeinJPanel(300,200,bildladen("G:\\java\\uebung31\\vorgabe\\start.jpg"));

rechts.add(Foto);
drumherum.add(links);
drumherum.add(rechts);
cp.add(drumherum);

cp.add(lMenge);
cp.add(tfMenge);
cp.add(bBestellen);
cp.add(bBeenden);


System.out.println(pfad);
// .....
// add action Listener
bBestellen.addActionListener(this);
bBestellen.setActionCommand("bestellen");
bBeenden.addActionListener(this);
bBeenden.setActionCommand("beenden");
listeAuswahl.addListSelectionListener(this);


setLocation(200,100);
setSize(650,480);
setVisible(true);
setResizable(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}



class BeendenAL implements ActionListener {
public void actionPerformed (ActionEvent e) {
setVisible(false);
dispose();
}
}


class BeendenWindowAdapter extends WindowAdapter {
public void windowClosing (WindowEvent e){
setVisible(false);
dispose();
}
}



public static void main(String[] args) {
uebung33 fenster = new uebung33();
}

public void bestellunginsArray(String bestellung){
// J File Chooser
JFileChooser fs = new JFileChooser();
if(k==0){
uebung33 test = this;
fs.setMultiSelectionEnabled(false);
fs.showOpenDialog(test);
pfad=fs.getSelectedFile();
}
bestellungen[k] = new String();
bestellungen[k]=autos[index].getName()+ " : " + tfMenge.getText();

try {
BufferedWriter out = new BufferedWriter(new FileWriter(pfad,true));
//for (int i =0;iÖÄbestellungen.length;i++){
// if(bestellungen[i]!=null)
out.write(bestellung);
((BufferedWriter)out).newLine();
//}
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
k++;

}

public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();
if (cmd.equals("beenden")){
System.exit(0);
}
if(cmd.equals("bestellen")){
String bestellungsingle = null;
if (tfMenge.getText()!=null)
bestellungsingle = "Bestellung :"+ autos[index].getName() + " Menge: "+ tfMenge.getText() + " stck";
System.out.println(bestellungsingle);
bestellunginsArray(bestellungsingle);
}

}



public void valueChanged(ListSelectionEvent e) {
//System.out.println(e.toString());
index = listeAuswahl.getSelectedIndex();
/*Object[] o = ((JList)e.getSource()).getSelectedValues();
StringBuffer sb = new StringBuffer();
for(int i=0; iÖÄo.length;i++){
sb.append(o[i] + "");
}
for (int i = 0; iÖÄbildarray.length;i++){
if (sb.toString().equals(bezeichnung[i]))
marker = i;
}
if(sb.length() > 0 ){
//sb.delete(sb.length()-2, sb.length());
System.out.println(sb.toString());
iBild=bildladen(bildarray[marker]);
}*/
ta.setText(autos[index].getBeschreibung());

iBild=bildladen(bildarray[index]);
repaint();
setVisible(true);
}

}

///////////////////////////////////////////////////////
// Uebung31 //
// //
///////////////////////////////////////////////////////
package uebung31;

import java.awt.*;
import java.awt.event.*;
import java.awt.print.PrinterException;
import java.io.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;
import javax.swing.text.TableView.TableRow;


public class LeseAusBinaerDatei extends JFrame implements TableData, ActionListener {
String[][] daten = new String[8][4];
private DefaultTableColumnModel dtc;
private MeinTableModel tm1;
private JTable tabelle;
private int IndexRow =0;
private JPanel p1 = new JPanel();
Ziel lesearray[] = new Ziel[10];

//JTextArea ta1 = new JTextArea();
JTabbedPane tp1 = new JTabbedPane();
private String dateiname;
int arraymarker=0;

public LeseAusBinaerDatei(String titel){
super(titel);
//Menüleiste
JMenuBar leiste = new JMenuBar();
JMenu m1 = new JMenu("Datei");
JMenu m2 = new JMenu("Optionen");

JPanel p1 = new JPanel();
//p1.add(new JScrollPane(ta1));
tp1.add("Inhalt der Datei",p1);
tp1.setVisible(true);
Container cp = getContentPane();
cp.add(tp1);

//Menü einträge
JMenuItem m1i1 = new JMenuItem("Datei öffnen");
m1i1.setActionCommand("Öffnen");
m1i1.setAccelerator(KeyStroke.getKeyStroke('O',InputEvent.CTRL_MASK));

JMenuItem m1i2 = new JMenuItem("Beenden");
m1i2.setActionCommand("Beenden");
m1i2.setAccelerator(KeyStroke.getKeyStroke('X',InputEvent.CTRL_MASK));

//ACtion Listener
m1i1.addActionListener(new ÖffnenListener(this));
m1i2.addActionListener(this);
// TAbellle
//Spaltenmodell erzeugen
dtc = new DefaultTableColumnModel();
for (int i=0;iÖÄkopfzeile.length;i++){
TableColumn col = new TableColumn(i, i==2 ? 150 : 60);
col.setHeaderValue(kopfzeile[i]);
dtc.addColumn(col);
}
//Tabellenmodell erzeugen
tm1 = new MeinTableModel();
tabelle = new JTable(tm1,dtc);
cp.setLayout(new FlowLayout());
cp.add(tabelle);
cp.add(new JScrollPane(tabelle));
cp.add(new JLabel("Buchungen"),BorderLayout.NORTH);
//cp.add(new JScrollPane(tabelle),BorderLayout.CENTER);
cp.add(p1);





m1.add(m1i1);
m1.add(m1i2);
leiste.add(m1);
leiste.add(m2);
setJMenuBar(leiste);
this.setVisible(true);
}

public static void main(String[] args) {
LeseAusBinaerDatei programm = new LeseAusBinaerDatei("Daten Auslesen");
programm.setLocation(200,100);
programm.setSize(500,400);
programm.setResizable(true);
}

class MeinTableModel extends AbstractTableModel implements TableData{
public int getRowCount(){
return daten.length;
}
public int getColumnCount(){
return daten[0].length;
}
public boolean isCellEditable(int rowIndex, int columnIndex){
return rowIndex ÖÄ daten.length && columnIndex ÖÄ daten[0].length;
}
public Object getValueAt(int row, int column){
return daten[row][column];
}
public void setValueAt(Object aValue, int rowIndex, int columnIndex){
daten[rowIndex][columnIndex] = (String)aValue;
}

public void printData() {
for (int i=0; iÖÄdaten.length; i++){
for( int j=0; j ÖÄ daten[i].length; j++)
System.out.print(daten[i][j] + " ");
System.out.println();
}
}
}
public void actionPerformed(ActionEvent e1) {
String cmd = e1.getActionCommand();
if(cmd.equals("Beenden")){
System.exit(0);
}
}

public class ÖffnenListener implements ActionListener{
LeseAusBinaerDatei test;

public ÖffnenListener (LeseAusBinaerDatei test2){
test = test2;
}
File datei;
public void actionPerformed(ActionEvent e) {
String Zeile;
JFileChooser fc1 = new JFileChooser();
fc1.setMultiSelectionEnabled(false);
tp1.setVisible(true);
fc1.showOpenDialog(test);
datei = fc1.getSelectedFile();
try{
FileInputStream fin = new FileInputStream(datei);
ObjectInputStream oIn = new ObjectInputStream(fin);

for (int i = 0;iÖÄlesearray.length;i++){
lesearray[i] = (Ziel) oIn.readObject();
}
fin.close();
oIn.close();
}
catch(Exception e3){
System.out.println(e3);
}
for (int i = 0;iÖÄlesearray.length;i++){
if(lesearray[i]!=null) {
System.out.println("2ter Lauf: " + lesearray[i]);
arraymarker++;
}
}
daten = new String[arraymarker][4];
for (int i=0; iÖÄarraymarker;i++){
for (int j=0; jÖÄkopfzeile.length;j++){
daten[i][j] = new String();
if (j==0)
daten[i][0] = lesearray[i].getStart();
if (j==1)
daten[i][1] = lesearray[i].getDauer();
if(j==2)
daten[i][2] = lesearray[i].getBeschreibung();
if(j==3)
daten[i][3] = String.valueOf(lesearray[i].getPreis());
}
}
//tabelle = new JTable(tm1,dtc);
repaint();
setVisible(true);


}
}
}

//-------------------------------------------------------------------------------------------------------------
package uebung31;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Writer;


public class uebung31 extends JFrame implements ActionListener, KeyListener {

Ziel zArray[] = new Ziel[6];

Container cp = getContentPane();
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
JPanel p3 = new JPanel();
JPanel p4 = new JPanel();
JPanel rechts = new JPanel();
JPanel links = new JPanel();
JPanel beides = new JPanel(new GridLayout(1,2));
JLabel reiseziel = new JLabel("Reiseziel");
JTextField tfreiseziel = new JTextField(15);
JButton btndatenanzeigen = new JButton("Daten Anzeigen");
JLabel zeitraum = new JLabel("Zeitraum");
JTextField tfzeitraum = new JTextField(15);
JLabel kategorie = new JLabel("Kategorie");
JTextField tfkategorie = new JTextField(15);
JLabel preis = new JLabel("Preis");
JTextField tfpreis = new JTextField(15);
JButton abbrechen = new JButton("Abbrechen");
JButton btnbuchen = new JButton("Buchen");
JButton btnsichern = new JButton("Sichern");
//dynamisch erzeugt bei daten anzeigen
JTextArea tf1 = new JTextArea();
JScrollPane scr = new JScrollPane(tf1);
// für die error message
JLabel error = new JLabel("Dieses Reiseziel ist uns nicht bekannt");
JButton ok = new JButton("Ok");
JFrame message = new JFrame();
//zum Sichern
private String dateinamezumsichern;
private String zumSichern="";
private Ziel sicherungsarray[] = new Ziel[6];
int arraymarker=0;
// für das Bild
private String dateiname;
private Image iBild;
private int Panelhöhe;
private int Panelbreite;
private MeinJPanel panelfläche;
private int marker=0;
// lesen der Binärdatei
JButton btnlesen = new JButton("Datei öffnen");


public uebung31(String titel){
super(titel);
dateiname = "G:\\java\\uebung31\\vorgabe\\start.jpg";
Toolkit tk = Toolkit.getDefaultToolkit();
iBild = tk.getImage(dateiname);
MediaTracker mt = new MediaTracker(this);
mt.addImage(iBild, 1);
try { mt.waitForID(1);
}
catch(InterruptedException e){
System.out.println(e);
}

panelfläche = new MeinJPanel(250,250,iBild);
zArray[0] = new Ziel("Start",null,null,0);
zArray[1] = new Ziel("Marienheide","01.07.07-31.07.07","VP, für Naturbewusste",500.00);
zArray[2] = new Ziel("Nippes","01.08.07-22.08.07","HP, Für Individualisten",3999.99);
zArray[3] = new Ziel("Kalk","01.08.07-31.08.07","HP+VP, für Exzentriker",3000.00);
zArray[4] = new Ziel("Traumschiff","01.09.07-01.10.07","VP, High Society",20000.00);
zArray[5] = new Ziel("Wolfsburg","24.06.07-09.07.07","Für Hightech-Fans",1372.83);

cp.setLayout(new FlowLayout());
links.setLayout(new GridLayout(4,1));
cp.add(reiseziel);
cp.add(tfreiseziel);
cp.add(btndatenanzeigen);
p1.add(zeitraum);
p1.add(tfzeitraum);
links.add(p1);
p2.add(kategorie);
p2.add(tfkategorie);
links.add(p2);
p3.add(preis);
p3.add(tfpreis);
links.add(p3);
p4.add(abbrechen);
p4.add(btnbuchen);
p4.add(btnsichern);
p4.add(btnlesen);
links.add(p4);
beides.add(links);
rechts.add(panelfläche);
beides.add(rechts);
cp.add(beides);
//Action Listener
abbrechen.setActionCommand("Abbrechen");
abbrechen.addActionListener(this);
btndatenanzeigen.setActionCommand("Daten Anzeigen");
btndatenanzeigen.addActionListener(this);
btnbuchen.setActionCommand("Buchen");
btnbuchen.addActionListener(this);
btnsichern.setActionCommand("Sichern");
btnsichern.addActionListener(this);
tfreiseziel.addKeyListener(this);
ok.setActionCommand("Ok");
ok.addActionListener(this);
btnlesen.setActionCommand("Lesen");
btnlesen.addActionListener(this);
this.setVisible(true);
}

public void keyPressed( KeyEvent k ){
if( k.getKeyCode()==10){
int markierung=0;
for(int i = 0; iÖÄzArray.length;i++){
if(tfreiseziel.getText().equals(zArray[i].getStart())){
tfzeitraum.setText(zArray[i].getDauer());
tfkategorie.setText(zArray[i].getBeschreibung());
String s = String.valueOf(zArray[i].getPreis());
tfpreis.setText(s);
dateiname = "G:\\java\\uebung31\\vorgabe\\"+tfreiseziel.getText()+".jpg";
Toolkit tk = Toolkit.getDefaultToolkit();
iBild = tk.getImage(dateiname);
markierung=1;
if(marker==1){
rechts.add(panelfläche);
marker=0;
rechts.remove(scr);
}
repaint();
this.setVisible(true);
}
}
if(markierung==0) {
System.out.println("ich bin in der Erstellung der Error message");
//JOptionPane.showMessageDialog(this, "Hier und das Reiseziel","Fehlermeldung",JOptionPane.ERROR_MESSAGE);
message.setLayout(new FlowLayout());
message.setTitle("Reiseziel unbekannt");
message.add(error);
message.add(ok);
message.setSize(250, 100);
message.setLocation(200, 300);
message.setVisible(true);
}
}}
public void keyReleased(KeyEvent k){}

public void keyTyped(KeyEvent k){}



public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();
if (cmd.equals("Abbrechen")){
try{dateinamezumsichern = "G:\\java\\uebung31\\bestellung.dat";
FileOutputStream datAus = new FileOutputStream(dateinamezumsichern);
ObjectOutputStream oAus = new ObjectOutputStream(datAus);
//Writer out = new BufferedWriter(new FileWriter(dateiname,true));
//out.write(zumSichern);
for(int i=0;iÖÄsicherungsarray.length;i++)
oAus.writeObject(sicherungsarray[i]);
//((BufferedWriter)out).newLine();
//out.close();
oAus.close();
datAus.close();
} catch (Exception b){
System.out.println(b);
}
System.exit(0);
}
if(cmd.equals("Ok")){
message.dispose();
}
if(cmd.equals("Lesen")){
dateinamezumsichern = "G:\\Java\\uebung31\\bestellung.dat";
rechts.remove(panelfläche);
JTextArea jta1 = new JTextArea();
try{
FileInputStream fIn = new FileInputStream(dateinamezumsichern);
ObjectInputStream oIn = new ObjectInputStream(fIn);
Ziel lesearray[] = new Ziel[zArray.length];

for(int i=0;iÖÄsicherungsarray.length;i++){
lesearray[i] = (Ziel) oIn.readObject();
}
for(int i=0;iÖÄlesearray.length;i++)
if(lesearray[i]!=null)
System.out.println(lesearray[i]);

}
catch(Exception c){
c.printStackTrace();
}
rechts.add(jta1);
setVisible(true);
}
if(cmd.equals("Sichern")){
dateinamezumsichern = "G:\\Java\\uebung31\\bestellung.txt";
try{
Writer out = new BufferedWriter(new FileWriter(dateinamezumsichern,true));
for(int i=0;iÖÄsicherungsarray.length;i++){
//System.out.println(sicherungsarray[i].toString());
out.write(sicherungsarray[i].getStart());
//((BufferedWriter)out).newLine();

}
out.close();
} catch (Exception b){
System.out.println(b);
}
}
if (cmd.equals("Daten Anzeigen")&&marker ÖÄ1){
rechts.remove(panelfläche);
this.marker+=1;
String s="";
for (int i=1;iÖÄzArray.length;i++){
s+=zArray[i].getStart()+ "\n";
}
tf1.setText(s);

rechts.add(scr);
this.setVisible(true);
repaint();
}
if (cmd.equals("Buchen")){
int markierung=0;
for(int i = 0; iÖÄzArray.length;i++){
if(tfreiseziel.getText().equals(zArray[i].getStart())){markierung=1;}
}
if (markierung==1){
System.out.println("Gebucht : " + tfreiseziel.getText());
int index=0;
//zumSichern += tfreiseziel.getText()+" "+ tfzeitraum.getText()+ " " + tfpreis.getText()+"\n";
for(int i=0;iÖÄzArray.length;i++){
if (tfreiseziel.getText().equals(zArray[i].getStart())){
index=i;
break;
}
}
sicherungsarray[arraymarker]= zArray[index];
arraymarker++;
}
}
}
private class MeinJPanel extends JPanel{
private int Panelbreite;
private int Panelhöhe;
private Image bild;
public MeinJPanel(int breite ,int höhe, Image bild){
Panelbreite = breite;
Panelhöhe = höhe;
this.bild = bild;
this.setBackground(Color.RED);
}

public Dimension getPreferredSize(){
return new Dimension(Panelbreite, Panelhöhe);
}
public void paintComponent(Graphics g){
super.paintComponent(g);
if(iBild!=null){
g.drawImage(iBild,0,0, Panelhöhe, Panelbreite,this);
} this.setVisible(true);
}
}
public static void main(String[] args) {
uebung31 programm = new uebung31("Flüge Buchen");
programm.setLocation(200,100);
programm.setSize(800,350);
programm.setResizable(true);
}

}

//-------------------------------------------------------------------------------------------------------------
Ziel.java (artikelklasse)
package uebung31;

import java.io.Serializable;

public class Ziel implements Serializable{
private String start;
private String dauer;
private String beschreibung;
private double preis;
public String getStart() {
return start;
}
public void setStart(String start) {
this.start = start;
}
public String getDauer() {
return dauer;
}
public void setDauer(String dauer) {
this.dauer = dauer;
}

public String getBeschreibung() {
return beschreibung;
}
public void setBeschreibung(String beschreibung) {
this.beschreibung = beschreibung;
}
public double getPreis() {
return preis;
}
public void setPreis(int preis) {
this.preis = preis;
}
public Ziel(String start, String dauer,
String beschreibung, double preis) {
super();
this.start = start;
this.dauer = dauer;
this.beschreibung = beschreibung;
this.preis = preis;
}
public String toString(){
return this.start+ " " +this.dauer + " " + this.beschreibung + " " + this.preis;
}
}
//----------------------------------
package uebung31;

public interface TableData {
String[] kopfzeile = {"Ort","Reisedatum","Beschreibung","Preis"};
}




///////////////////////////////////////////////////////
// Uebung31 //
// //
///////////////////////////////////////////////////////
package uebung31;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Writer;


public class uebung31 extends JFrame implements ActionListener, KeyListener {

Ziel zArray[] = new Ziel[6];

Container cp = getContentPane();
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
JPanel p3 = new JPanel();
JPanel p4 = new JPanel();
JPanel rechts = new JPanel();
JPanel links = new JPanel();
JPanel beides = new JPanel(new GridLayout(1,2));
JLabel reiseziel = new JLabel("Reiseziel");
JTextField tfreiseziel = new JTextField(15);
JButton btndatenanzeigen = new JButton("Daten Anzeigen");
JLabel zeitraum = new JLabel("Zeitraum");
JTextField tfzeitraum = new JTextField(15);
JLabel kategorie = new JLabel("Kategorie");
JTextField tfkategorie = new JTextField(15);
JLabel preis = new JLabel("Preis");
JTextField tfpreis = new JTextField(15);
JButton abbrechen = new JButton("Abbrechen");
JButton btnbuchen = new JButton("Buchen");
JButton btnsichern = new JButton("Sichern");
//dynamisch erzeugt bei daten anzeigen
JTextArea tf1 = new JTextArea();
JScrollPane scr = new JScrollPane(tf1);
// für die error message
JLabel error = new JLabel("Dieses Reiseziel ist uns nicht bekannt");
JButton ok = new JButton("Ok");
JFrame message = new JFrame();
//zum Sichern
private String dateinamezumsichern;
private String zumSichern="";
private Ziel sicherungsarray[] = new Ziel[6];
int arraymarker=0;
// für das Bild
private String dateiname;
private Image iBild;
private int Panelhöhe;
private int Panelbreite;
private MeinJPanel panelfläche;
private int marker=0;
// lesen der Binärdatei
JButton btnlesen = new JButton("Datei öffnen");


public uebung31(String titel){
super(titel);
dateiname = "G:\\java\\uebung31\\vorgabe\\start.jpg";
Toolkit tk = Toolkit.getDefaultToolkit();
iBild = tk.getImage(dateiname);
MediaTracker mt = new MediaTracker(this);
mt.addImage(iBild, 1);
try { mt.waitForID(1);
}
catch(InterruptedException e){
System.out.println(e);
}

panelfläche = new MeinJPanel(250,250,iBild);
zArray[0] = new Ziel("Start",null,null,0);
zArray[1] = new Ziel("Marienheide","01.07.07-31.07.07","VP, für Naturbewusste",500.00);
zArray[2] = new Ziel("Nippes","01.08.07-22.08.07","HP, Für Individualisten",3999.99);
zArray[3] = new Ziel("Kalk","01.08.07-31.08.07","HP+VP, für Exzentriker",3000.00);
zArray[4] = new Ziel("Traumschiff","01.09.07-01.10.07","VP, High Society",20000.00);
zArray[5] = new Ziel("Wolfsburg","24.06.07-09.07.07","Für Hightech-Fans",1372.83);

cp.setLayout(new FlowLayout());
links.setLayout(new GridLayout(4,1));
cp.add(reiseziel);
cp.add(tfreiseziel);
cp.add(btndatenanzeigen);
p1.add(zeitraum);
p1.add(tfzeitraum);
links.add(p1);
p2.add(kategorie);
p2.add(tfkategorie);
links.add(p2);
p3.add(preis);
p3.add(tfpreis);
links.add(p3);
p4.add(abbrechen);
p4.add(btnbuchen);
p4.add(btnsichern);
p4.add(btnlesen);
links.add(p4);
beides.add(links);
rechts.add(panelfläche);
beides.add(rechts);
cp.add(beides);
//Action Listener
abbrechen.setActionCommand("Abbrechen");
abbrechen.addActionListener(this);
btndatenanzeigen.setActionCommand("Daten Anzeigen");
btndatenanzeigen.addActionListener(this);
btnbuchen.setActionCommand("Buchen");
btnbuchen.addActionListener(this);
btnsichern.setActionCommand("Sichern");
btnsichern.addActionListener(this);
tfreiseziel.addKeyListener(this);
ok.setActionCommand("Ok");
ok.addActionListener(this);
btnlesen.setActionCommand("Lesen");
btnlesen.addActionListener(this);
this.setVisible(true);
}

public void keyPressed( KeyEvent k ){
if( k.getKeyCode()==10){
int markierung=0;
for(int i = 0; iÖÄzArray.length;i++){
if(tfreiseziel.getText().equals(zArray[i].getStart())){
tfzeitraum.setText(zArray[i].getDauer());
tfkategorie.setText(zArray[i].getBeschreibung());
String s = String.valueOf(zArray[i].getPreis());
tfpreis.setText(s);
dateiname = "G:\\java\\uebung31\\vorgabe\\"+tfreiseziel.getText()+".jpg";
Toolkit tk = Toolkit.getDefaultToolkit();
iBild = tk.getImage(dateiname);
markierung=1;
if(marker==1){
rechts.add(panelfläche);
marker=0;
rechts.remove(scr);
}
repaint();
setVisible(true);
}
}
if(markierung==0) {
System.out.println("ich bin in der Erstellung der Error message");
//JOptionPane.showMessageDialog(this, "Hier und das Reiseziel","Fehlermeldung",JOptionPane.ERROR_MESSAGE);
message.setLayout(new FlowLayout());
message.setTitle("Reiseziel unbekannt");
message.add(error);
message.add(ok);
message.setSize(250, 100);
message.setLocation(200, 300);
message.setVisible(true);
}
}}
public void keyReleased(KeyEvent k){}

public void keyTyped(KeyEvent k){}



public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();
if (cmd.equals("Abbrechen")){
try{dateinamezumsichern = "G:\\java\\uebung31\\bestellung.dat";
FileOutputStream datAus = new FileOutputStream(dateinamezumsichern);
ObjectOutputStream oAus = new ObjectOutputStream(datAus);
//Writer out = new BufferedWriter(new FileWriter(dateiname,true));
//out.write(zumSichern);
for(int i=0;iÖÄsicherungsarray.length;i++)
oAus.writeObject(sicherungsarray[i]);
//((BufferedWriter)out).newLine();
//out.close();
oAus.close();
datAus.close();
} catch (Exception b){
System.out.println(b);
}
System.exit(0);
}
if(cmd.equals("Ok")){
message.dispose();
}
if(cmd.equals("Lesen")){
dateinamezumsichern = "G:\\Java\\uebung31\\bestellung.dat";
rechts.remove(panelfläche);
JTextArea jta1 = new JTextArea();
try{
FileInputStream fIn = new FileInputStream(dateinamezumsichern);
ObjectInputStream oIn = new ObjectInputStream(fIn);
Ziel lesearray[] = new Ziel[zArray.length];

for(int i=0;iÖÄsicherungsarray.length;i++){
lesearray[i] = (Ziel) oIn.readObject();
}
for(int i=0;iÖÄlesearray.length;i++)
if(lesearray[i]!=null)
System.out.println(lesearray[i]);

}
catch(Exception c){
c.printStackTrace();
}
rechts.add(jta1);
setVisible(true);
}
if(cmd.equals("Sichern")){
dateinamezumsichern = "G:\\Java\\uebung31\\bestellung.txt";
try{
Writer out = new BufferedWriter(new FileWriter(dateinamezumsichern,true));
for(int i=0;iÖÄsicherungsarray.length;i++){
//System.out.println(sicherungsarray[i].toString());
out.write(sicherungsarray[i].getStart());
//((BufferedWriter)out).newLine();

}
out.close();
} catch (Exception b){
System.out.println(b);
}
}
if (cmd.equals("Daten Anzeigen")&&marker ÖÄ1){
rechts.remove(panelfläche);
this.marker+=1;
String s="";
for (int i=1;iÖÄzArray.length;i++){
s+=zArray[i].getStart()+ "\n";
}
tf1.setText(s);

rechts.add(scr);
this.setVisible(true);
repaint();
}
if (cmd.equals("Buchen")){
int markierung=0;
for(int i = 0; iÖÄzArray.length;i++){
if(tfreiseziel.getText().equals(zArray[i].getStart())){markierung=1;}
}
if (markierung==1){
System.out.println("Gebucht : " + tfreiseziel.getText());
int index=0;
//zumSichern += tfreiseziel.getText()+" "+ tfzeitraum.getText()+ " " + tfpreis.getText()+"\n";
for(int i=0;iÖÄzArray.length;i++){
if (tfreiseziel.getText().equals(zArray[i].getStart())){
index=i;
break;
}
}
sicherungsarray[arraymarker]= zArray[index];
arraymarker++;
}
}
}
private class MeinJPanel extends JPanel{
private int Panelbreite;
private int Panelhöhe;
private Image bild;
public MeinJPanel(int breite ,int höhe, Image bild){
Panelbreite = breite;
Panelhöhe = höhe;
this.bild = bild;
this.setBackground(Color.RED);
}

public Dimension getPreferredSize(){
return new Dimension(Panelbreite, Panelhöhe);
}
public void paintComponent(Graphics g){
super.paintComponent(g);
if(iBild!=null){
g.drawImage(iBild,0,0, Panelhöhe, Panelbreite,this);
} this.setVisible(true);
}
}
public static void main(String[] args) {
uebung31 programm = new uebung31("Flüge Buchen");
programm.setLocation(200,100);
programm.setSize(800,350);
programm.setResizable(true);
}

}

//-------------------------------------------------------------------------------------------------------------
Lese aus Binär Datei
package uebung31;

import java.awt.*;
import java.awt.event.*;
import java.awt.print.PrinterException;
import java.io.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;
import javax.swing.text.TableView.TableRow;


public class LeseAusBinaerDatei extends JFrame implements TableData, ActionListener {
String[][] daten = new String[8][4];
private DefaultTableColumnModel dtc;
private MeinTableModel tm1;
private JTable tabelle;
private int IndexRow =0;
private JPanel p1 = new JPanel();
Ziel lesearray[] = new Ziel[10];

//JTextArea ta1 = new JTextArea();
JTabbedPane tp1 = new JTabbedPane();
private String dateiname;
int arraymarker=0;

public LeseAusBinaerDatei(String titel){
super(titel);
//Menüleiste
JMenuBar leiste = new JMenuBar();
JMenu m1 = new JMenu("Datei");
JMenu m2 = new JMenu("Optionen");

JPanel p1 = new JPanel();
//p1.add(new JScrollPane(ta1));
tp1.add("Inhalt der Datei",p1);
tp1.setVisible(true);
Container cp = getContentPane();
cp.add(tp1);

//Menü einträge
JMenuItem m1i1 = new JMenuItem("Datei öffnen");
m1i1.setActionCommand("Öffnen");
m1i1.setAccelerator(KeyStroke.getKeyStroke('O',InputEvent.CTRL_MASK));

JMenuItem m1i2 = new JMenuItem("Beenden");
m1i2.setActionCommand("Beenden");
m1i2.setAccelerator(KeyStroke.getKeyStroke('X',InputEvent.CTRL_MASK));

//ACtion Listener
m1i1.addActionListener(new ÖffnenListener(this));
m1i2.addActionListener(this);
// TAbellle
//Spaltenmodell erzeugen
dtc = new DefaultTableColumnModel();
for (int i=0;iÖÄkopfzeile.length;i++){
TableColumn col = new TableColumn(i, i==2 ? 150 : 60);
col.setHeaderValue(kopfzeile[i]);
dtc.addColumn(col);
}
//Tabellenmodell erzeugen
tm1 = new MeinTableModel();
tabelle = new JTable(tm1,dtc);
cp.setLayout(new FlowLayout());
cp.add(tabelle);
cp.add(new JScrollPane(tabelle));
cp.add(new JLabel("Buchungen"),BorderLayout.NORTH);
//cp.add(new JScrollPane(tabelle),BorderLayout.CENTER);
cp.add(p1);





m1.add(m1i1);
m1.add(m1i2);
leiste.add(m1);
leiste.add(m2);
setJMenuBar(leiste);
this.setVisible(true);
}

public static void main(String[] args) {
LeseAusBinaerDatei programm = new LeseAusBinaerDatei("Daten Auslesen");
programm.setLocation(200,100);
programm.setSize(500,400);
programm.setResizable(true);
}

class MeinTableModel extends AbstractTableModel implements TableData{
public int getRowCount(){
return daten.length;
}
public int getColumnCount(){
return daten[0].length;
}
public boolean isCellEditable(int rowIndex, int columnIndex){
return rowIndex ÖÄ daten.length && columnIndex ÖÄ daten[0].length;
}
public Object getValueAt(int row, int column){
return daten[row][column];
}
public void setValueAt(Object aValue, int rowIndex, int columnIndex){
daten[rowIndex][columnIndex] = (String)aValue;
}

public void printData() {
for (int i=0; iÖÄdaten.length; i++){
for( int j=0; j ÖÄ daten[i].length; j++)
System.out.print(daten[i][j] + " ");
System.out.println();
}
}
}
public void actionPerformed(ActionEvent e1) {
String cmd = e1.getActionCommand();
if(cmd.equals("Beenden")){
System.exit(0);
}
}

public class ÖffnenListener implements ActionListener{
LeseAusBinaerDatei test;

public ÖffnenListener (LeseAusBinaerDatei test2){
test = test2;
}
File datei;
public void actionPerformed(ActionEvent e) {
String Zeile;
JFileChooser fc1 = new JFileChooser();
fc1.setMultiSelectionEnabled(false);
tp1.setVisible(true);
fc1.showOpenDialog(test);
datei = fc1.getSelectedFile();
try{
FileInputStream fin = new FileInputStream(datei);
ObjectInputStream oIn = new ObjectInputStream(fin);

for (int i = 0;iÖÄlesearray.length;i++){
lesearray[i] = (Ziel) oIn.readObject();
}
fin.close();
oIn.close();
}
catch(Exception e3){
System.out.println(e3);
}
for (int i = 0;iÖÄlesearray.length;i++){
if(lesearray[i]!=null) {
System.out.println("2ter Lauf: " + lesearray[i]);
arraymarker++;
}
}
daten = new String[arraymarker][4];
for (int i=0; iÖÄarraymarker;i++){
for (int j=0; jÖÄkopfzeile.length;j++){
daten[i][j] = new String();
if (j==0)
daten[i][0] = lesearray[i].getStart();
if (j==1)
daten[i][1] = lesearray[i].getDauer();
if(j==2)
daten[i][2] = lesearray[i].getBeschreibung();
if(j==3)
daten[i][3] = String.valueOf(lesearray[i].getPreis());
}
}
//tabelle = new JTable(tm1,dtc);
repaint();
setVisible(true);


}
}
}


//-------------------------------------------------------------------------------------------------------------
Ziel.java (artikelklasse)
package uebung31;

import java.io.Serializable;

public class Ziel implements Serializable{
private String start;
private String dauer;
private String beschreibung;
private double preis;
public String getStart() {
return start;
}
public void setStart(String start) {
this.start = start;
}
public String getDauer() {
return dauer;
}
public void setDauer(String dauer) {
this.dauer = dauer;
}

public String getBeschreibung() {
return beschreibung;
}
public void setBeschreibung(String beschreibung) {
this.beschreibung = beschreibung;
}
public double getPreis() {
return preis;
}
public void setPreis(int preis) {
this.preis = preis;
}
public Ziel(String start, String dauer,
String beschreibung, double preis) {
super();
this.start = start;
this.dauer = dauer;
this.beschreibung = beschreibung;
this.preis = preis;
}
public String toString(){
return this.start+ " " +this.dauer + " " + this.beschreibung + " " + this.preis;
}
}

///////////////////////////////////////////////////////
// Uebung29 (weiter button //
// //
///////////////////////////////////////////////////////
package uebung29;

import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.*;
import java.awt.*;
import java.awt.event.*;



public class uebung29 extends JFrame implements TableData, ActionListener {
private DefaultTableColumnModel cm = new DefaultTableColumnModel();
private MeinTableModel tm;
private JTable tabelle;
private int indexRow=1;
private JPanel p1 = new JPanel(new FlowLayout());
private JButton beenden = new JButton("Beenden");
private JButton weiter = new JButton("Weiter");
private JButton ausgeben = new JButton("Ausgeben");

public uebung29(String titel){
super(titel);
//Spaltenmodell erzeugen
for (int i=0;iÖÄkopfzeile.length;i++){
TableColumn col = new TableColumn(i,60);
col.setHeaderValue(kopfzeile[i]);
cm.addColumn(col);
}
//Tabellenmodell erzeugen
tm = new MeinTableModel();
Container cp = getContentPane();
//JTable erzeugen
p1.add(weiter);
p1.add(ausgeben);
p1.add(beenden);
//Tabelle erzeugen und ContentPane füllen
tabelle = new JTable(tm,cm);
cp.setLayout(new FlowLayout());
cp.add(tabelle);
cp.add(new JScrollPane(tabelle));
cp.add(new JLabel("Meine Freunde"),BorderLayout.NORTH);
cp.add(new JScrollPane(tabelle),BorderLayout.CENTER);
cp.add(p1);
setSize(500,600);
setVisible(true);
// Action Command dazu
beenden.setActionCommand("BeendenAlternative");
beenden.addActionListener(new BeendenListener());

weiter.setActionCommand("weiter");
weiter.addActionListener(new WeiterListener());

ausgeben.setActionCommand("Ausgeben");
ausgeben.addActionListener(this);

}

public void valueChanged(ListSelectionEvent e){

}
public class WeiterListener implements ActionListener{
public void actionPerformed(ActionEvent e){
if(e.getActionCommand().equals("weiter")){
System.out.println("weiter button");
indexRow = tabelle.getSelectedRow() == daten.length-1? 0: indexRow+1;
tabelle.setRowSelectionInterval(indexRow, indexRow);

}
}
}
/*
public class ausgebenListener implements ActionListener{
public void actionPerformed(ActionEvent e){
if(e.getActionCommand().equals("ausgeben")){
((TableData)tm).printData();
}
}
}
*/
public class BeendenListener implements ActionListener{
public void actionPerformed(ActionEvent e){
if(e.getActionCommand().equals("BeendenAlternative")){
System.exit(0);
}
else {
System.out.println(e.getActionCommand());
}

}

}
// hinter Konstruktor
public void actionPerformed (ActionEvent e){
String cmd = e.getActionCommand();
if(cmd.equals("Ausgeben"))
((MeinTableModel)tm).printData();
else{
indexRow = tabelle.getSelectedRow() == daten.length-1? 0: indexRow + 1;
System.out.println("indexRow:" + indexRow);
tabelle.setRowSelectionInterval(indexRow, indexRow);
}



if(cmd.equals("weiter")){
System.out.println("Weiter im ActionPerformed");
}
}


public static void main(String[] args) {
// TODO Auto-generated method stub
new uebung29("Übung29");

}

}

class MeinTableModel extends AbstractTableModel implements TableData{
public int getRowCount(){
return daten.length;
}
public int getColumnCount(){
return daten[0].length;
}
public boolean isCellEditable(int rowIndex, int columnIndex){
return rowIndex ÖÄ daten.length && columnIndex ÖÄ daten[0].length;
}
public Object getValueAt(int row, int column){
return daten[row][column];
}
public void setValueAt(Object aValue, int rowIndex, int columnIndex){
daten[rowIndex][columnIndex] = (String)aValue;
}
public void printData() {
for (int i=0; iÖÄdaten.length; i++){
for( int j=0; j ÖÄ daten[i].length; j++)
System.out.print(daten[i][j] + " ");
System.out.println();
}
}
}

//-------------------------------------------------------------------------------------------------------------
package uebung29;

public interface TableData {
String[] kopfzeile = {"Vorname","Nachname","Adresse","Geburtstag","Telefon/Handy","Email"};
String[][] daten = {{"Müller","Franz","Am Weidenbruch 2","15.5.1983","0163-3373321","franz.m@web.de"},
{"Hans","Müller","Anatolienweg 5","11.05.1974","0171-5133349","H.Müll@web.de"},
{"Manuela","Kuwald","Teichstraße 20","21.4.1979","0170-5431356","manu.k@msn.de"}};
}


///////////////////////////////////////////////////////
// Wichtiges Modulhilfe //
// //
///////////////////////////////////////////////////////
//-------------------------------------------------------------------------------------------------------------
Bilder
//Oben-Global
private Image iBild;
private MeinJPanel Foto;
String dateiname="";
JPanel panelfläche;
//-------------------------------------
class MeinJPanel extends JPanel{
private Image bild;
private int panelbreite;
private int panelhoehe;

public MeinJPanel(int breite, int hoehe, Image bild2) {
panelbreite = breite;
panelhoehe = hoehe;
this.bild = bild2;
setBackground(Color.black);
}

public Dimension getPreferredSize(){
return new Dimension(panelbreite,panelhoehe);
}
public void paintComponent(Graphics g){
super.paintComponent(g);
if(iBild!=null){
g.drawImage(iBild, 0, 0, panelbreite, panelhoehe, this);
}this.setVisible(true);
}
}
//----------------------------
public Image bildladen(String dateiname){
System.out.println("--> bildzeichen " + dateiname);
Toolkit tk = Toolkit.getDefaultToolkit();
MediaTracker mt = new MediaTracker(this);
Image img = tk.getImage(dateiname);
mt.addImage(img,1);
try { mt.waitForID(1);

}
catch (InterruptedException e) {
System.out.println(e);
} repaint();
return img;
}
//------------------------------------
aufruf im Konstruktor

Foto = new MeinJPanel(300,200,bildladen("G:\\java\\uebung31\\vorgabe\\start.jpg"));
rechts.add(Foto);
//-------------------------------------------------------------------------------------------------------------

Dateiverarbeitung Text Schreiben
try {
BufferedWriter out = new BufferedWriter(new FileWriter(pfad,true));
BufferedReader in = new BufferedReader(new FileReader(pfad));
//for (int i =0;iÖÄbestellungen.length;i++){
out.write(bestellung);
((BufferedWriter)out).newLine();
//}
out.close();
in.close();
} catch (IOException e) {
e.printStackTrace();
}

// fuer lesen
while((s=in.readLine())!=null){
System.out.println(s + " index : " + i);
bestellung[i]=s;
out.write(bestellung[i]);
((BufferedWriter)out).newLine();
i++;
}

//-------------------------------------------------------------------------------------------------------------

Dateiverarbeitung Binär lesen
try{
FileInputStream fin = new FileInputStream(datei);
ObjectInputStream oIn = new ObjectInputStream(fin);

for (int i = 0;iÖÄlesearray.length;i++){
lesearray[i] = (Ziel) oIn.readObject();
}
fin.close();
oIn.close();
}
catch(Exception e3){
System.out.println(e3);
}

// zum Binär Schreiben

try{dateinamezumsichern = "G:\\java\\uebung31\\bestellung.dat";
FileOutputStream datAus = new FileOutputStream(dateinamezumsichern);
ObjectOutputStream oAus = new ObjectOutputStream(datAus);
//Writer out = new BufferedWriter(new FileWriter(dateiname,true));
//out.write(zumSichern);
for(int i=0;iÖÄsicherungsarray.length;i++)
oAus.writeObject(sicherungsarray[i]);
//((BufferedWriter)out).newLine();
//out.close();
oAus.close();
datAus.close();
} catch (Exception b){
System.out.println(b);
}
//-------------------------------------------------------------------------------------------------------------
Tabelle
// Global-Oben
String[][] daten = new String[10][4];
private TableColumnModel tcm;
private DefaultTableColumnModel dcm;
private int IndexRow;
private JTable tabelle;
private MeinTableModel tm1;
int marker=0;
// im Konstruktor
//Spaltenmodell erzeugen
dcm = new DefaultTableColumnModel();
for (int i = 0; iÖÄkopfzeile.length;i++){
TableColumn col = new TableColumn(i, i==2 ? 150 :60);
col.setHeaderValue(kopfzeile[i]);
dcm.addColumn(col);
}
//Tabellenmodell erzeugen
tm1 = new MeinTableModel();
tabelle=new JTable(tm1,dcm);


cp.add(new JScrollPane(tabelle));


class MeinTableModel extends AbstractTableModel implements TableData{
public int getRowCount(){
return daten.length;
}
public int getColumnCount(){
return daten[0].length;
}
public boolean isCellEditable(int rowIndex, int columnIndex){
return rowIndex ÖÄ daten.length && columnIndex ÖÄ daten[0].length;
}
public Object getValueAt(int row, int column){
return daten[row][column];
}
public void setValueAt(Object aValue, int rowIndex, int columnIndex){
daten[rowIndex][columnIndex] = (String)aValue;
}

public void printData() {
for (int i=0; iÖÄdaten.length; i++){
for( int j=0; j ÖÄ daten[i].length; j++)
System.out.print(daten[i][j] + " ");
System.out.println();
}
}
}

// TableData Klasse
package Selbstgemacht;
public interface TableData {
String[] kopfzeile = {"Name","Anschrift","Alter","Tel.Nummer"};
}
//-------------------------------------------------------------------------------------------------------------
JList Hilfe
// oben - Global
private JList listeAuswahl;
private JTextArea ta = new JTextArea(5,10);
// im Konstruktor
for (int i=0;iÖÄautos.length;i++){
bezeichnung[i]= new String(autos[i].getName());
bildarray[i] = new String("G:\\java\\uebung33\\vorgabe\\bild"+i+".jpg");
}
listeAuswahl = new JList (bezeichnung); // ÖÄ---- bezeichnung = der inhalt was reinkommt
listeAuswahl.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
listeAuswahl.setSelectedIndex(0);
JScrollPane scr = new JScrollPane(listeAuswahl);
links.add(scr);
links.add(ta);

public void valueChanged(ListSelectionEvent e) {
index = listeAuswahl.getSelectedIndex();
ta.setText(autos[index].getBeschreibung());
iBild=bildladen(bildarray[index]);
repaint();
setVisible(true);
}
}
//-------------------------------------------------------------------------------------------------------------
JMenue

JMenuBar leiste = new JMenuBar();
JMenu m1 = new JMenu("Auswahl");
JMenu m2 = new JMenu("Bestellung");
JMenuItem m1i1 = new JMenuItem("Autos",'a');
m1i1.setActionCommand("autos");
m1i1.addActionListener(this);
m1i1.setAccelerator(KeyStroke.getKeyStroke('A',InputEvent.CTRL_MASK));
// m2Item1.setEnabled(false);

m1.add(m1i1);
m1.add(m1i2);
m1.addSeparator();
m1.add(m1i3);
m2.add(m2i1);

leiste.add(m1);
leiste.add(m2);
setJMenuBar(leiste);

Rated 4 out of 5 stars

Dateiverarbeitung Text Schreiben

try {
BufferedWriter out = new BufferedWriter(new FileWriter(pfad,true));
BufferedReader in = new BufferedReader(new FileReader(pfad));
//for (int i =0;i

Rated 4 out of 5 stars



for(int i = 0 ; i < autos . length ; i++)
{
autos [ i ] . setBild ( bildladen ( autos [ i ] . getDateiname ( ) ) );

}





for(int i=0;i < autos. length ; i++)
{
namen [ i ] = autos [ i ] . getName ( );
}


Rated 4 out of 5 stars

listeAuswahl=new JList(namen);
listeAuswahl.addListSelectionListener(this);

listpane.setViewportView(listeAuswahl);
plinks.add(listpane);

JScrollPane areapane=new JScrollPane();
areapane.setViewportView(taInfo);

plinks.add(areapane);

pmitte.add(plinks);
pmitte.add(prechts);


cp.add(pmitte);


punten.add(lMenge);
punten.add(tfMenge);
punten.add(bBestellen);
bBeenden.addActionListener(new BeendenAL());
this.addWindowListener(new BeendenWindowAdapter());
bBestellen.addActionListener(new Bestellen());
punten.add(bBeenden);

cp.add(punten);

setLocation(200,100);
setSize(700,480);
setVisible(true);
setResizable(true);
}



class BeendenAL implements ActionListener {
public void actionPerformed (ActionEvent e) {
setVisible(false);
dispose();
}
}

class Bestellen implements ActionListener {
public void actionPerformed (ActionEvent e) {
if(listeAuswahl.getSelectedIndex()!= -1&& !tfMenge.getText().equals(""))
System.out.println(tfMenge.getText()+" - "+autos[listeAuswahl.getSelectedIndex()].getName());

}
}


class BeendenWindowAdapter extends WindowAdapter {
public void windowClosing (WindowEvent e){

setVisible(false);
dispose();

}
}



public static void main(String[] args) {
AutoVerkauf fenster = new AutoVerkauf();
}


@Override
public void actionPerformed(ActionEvent e) {

setVisible(false);
dispose();


}


@Override
public void valueChanged(ListSelectionEvent e)
{
int i=listeAuswahl.getSelectedIndex();
taInfo.setText(autos[i].getBeschreibung());
prechts.bild=autos[i].getBild();
prechts.repaint();
}

}

Rated 4 out of 5 stars

Container cp = getContentPane();
cp.setLayout(new FlowLayout(FlowLayout.CENTER));

// .....
lUeberschrift.setFont(new Font("Arial", 1, 25));
poben.add(lUeberschrift);
cp.add(poben);


JScrollPane listpane =new JScrollPane();

Rated 4 out of 5 stars

// Importanweisungen
import java.awt.* ;
import java.awt.event.*;

import javax.swing.*;
import javax.swing.event.*;


/*Autoverkauf */
public class AutoVerkauf extends JFrame implements ListSelectionListener,ActionListener {

// Instanzvariablen
private Auto[] autos = new Auto[9];
private String[] namen =new String [9];

// private MeinJPanel Foto = new MeinJPanel();
private JLabel lUeberschrift = new JLabel("Luxusautos",JLabel.CENTER);
private JLabel lAuswahl = new JLabel("Modellauswahl");
private JLabel lMenge = new JLabel("Menge:");
private JList listeAuswahl;
private JTextArea taInfo = new JTextArea(5,30);
private JTextField tfMenge = new JTextField(2);
private JButton bBestellen = new JButton("Bestellen");
private JButton bBeenden = new JButton("Beenden");

private JPanel poben =new JPanel();
private JPanel pmitte =new JPanel(new GridLayout(0,2));
private JPanel plinks =new JPanel(new GridLayout(0,1));
private MeinJPanel prechts =new MeinJPanel();
private JPanel punten =new JPanel();
//.......





/****************************************************************/

class MeinJPanel extends JPanel{
Image bild;

public MeinJPanel() {
setBackground(Color.black);
}

public Dimension getPreferredSize(){
return new Dimension(300,200);
}


public void paintComponent(Graphics g) {

super.paintComponent(g);
if(bild!=null){
g.drawImage(bild,0,0,this);
}
}


}

/****************************************************************/


//Methode zum Laden eines Bildes
// Inputparameter: Dateiname
// Outputparameter: Image
public Image bildladen(String dateiname){
Toolkit tk = Toolkit.getDefaultToolkit();
MediaTracker mt = new MediaTracker(this);
Image img = tk.getImage(dateiname);
mt.addImage(img,0);
try { mt.waitForID(0); }
catch (InterruptedException e) { }
return img;
}


//Konstruktor
public AutoVerkauf () {
super(" Kaufen Sie sich doch noch ein Auto .....");

autos[0] = new Auto("Ferrari 360 Spider",
"Klassisch rot, nicht zu hoch,\nauch für niedrige Garagen.\n\nnur 82000 €","bild0.jpg");
autos[1] = new Auto("Porsche Boxster",
"Robust, geländegängig !\nIdeal für die abenteuerbewusste\nKleinstfamilie.\ngebraucht, nur 31000 €", "bild1.jpg");
autos[2] = new Auto("Aston Martin DB2",
"Ein Designwunder, keine Tür zuviel,\npermanenter Grill auf dem\nKöfferchenraum.\nnur 173000 €", "bild2.jpg");
autos[3] = new Auto("Jaguar 220 S Twin",
"Einfach glänzend, wunderbares\nStandbild, nur 3x täglich putzen.\n\ngebraucht, nur 200000 €", "bild3.jpg");
autos[4] = new Auto("Lamborghini Countach LP 400",
"Für modebewusste Damen: in weiß,\npasst also zu jeder Handtasche.\n\nnur 113000 €", "bild4.jpg");
autos[5] = new Auto("Maserati 3200 GT",
"Für den junggebliebenen Rentner.\nDurchquert jede Innenstadt in vier\nSekunden.\nnur 83000 €", "bild5.jpg");
autos[6] = new Auto("Ferrari 330 GTC",
"Einfach klassisch schön, aber\nnur auf roten Plätzen zu benutzen.\nDaher ein Sonderangebot:\n139952,98 €", "bild6.jpg");
autos[7] = new Auto("Lotus Elise 111 S",
"Lustiges Gesicht, etwas für die \nJüngsten.\nDas klassische Fünft-Auto.\nnur 47000 €", "bild7.jpg");
autos[8] = new Auto("Bugatti EB110 GT, priv. Nachbau,2001",
"Nur für Liebhaber: früher als Post-\nauto missbraucht. Baujahr liegt\netwas zurück.\nnur 450000 €", "

Rated 4 out of 5 stars

//--------------------
// StartSeite.java---
//--------------------

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

import java.io.*;



public class StartSeite extends JFrame implements ActionListener{

//Instanzvariablen




//Konstruktor
public StartSeite (String titel) {
super(titel);
Container cp = getContentPane();
JLabel ueberschrift = new JLabel("Katalog");


this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
//Menüleiste + Menü ....
JMenuBar menubar=new JMenuBar();
JMenu auswahl=new JMenu("Auswahl");
JMenu bestellung=new JMenu("Bestellung");

JMenuItem auswahl1=new JMenuItem("Autos",'a');
auswahl1.addActionListener(new ItemListener());
auswahl1.setAccelerator(KeyStroke.getKeyStroke('A',Event.CTRL_MASK));
JMenuItem auswahl2=new JMenuItem("Spielsachen",'s');
auswahl2.setAccelerator(KeyStroke.getKeyStroke('S',Event.CTRL_MASK));
JMenuItem auswahl3=new JMenuItem("Beenden",'b');
auswahl3.addActionListener(new BeendenListener());

JMenuItem bestellung1=new JMenuItem("Warenkorb",'w');
bestellung1.setAccelerator(KeyStroke.getKeyStroke('W',Event.CTRL_MASK));
auswahl.add(auswahl1);
auswahl.add(auswahl2);
auswahl.addSeparator();
auswahl.add(auswahl3);

bestellung.add(bestellung1);

menubar.add(auswahl);
menubar.add(bestellung);

this.setJMenuBar(menubar);

setLayout(new FlowLayout(FlowLayout.CENTER));
ueberschrift.setFont(new Font("SansSerif",Font.BOLD,40));
cp.add(ueberschrift);
}



//Listener registrieren

public class BeendenListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
dispose();
}
}

public class ItemListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
AutoVerkauf fenster =new AutoVerkauf();
}
}



//main
public static void main (String[] args) {
StartSeite fenster = new StartSeite("Katalog");
fenster.setSize(800,500);
fenster.setLocation(0,0);
fenster.setVisible(true);
fenster.setResizable(true);
}



@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub

}

}

Rated 5 out of 5 stars

I love this.