Hallo Leute, ich nutze diesen Thread direkt einmal, um mich vorzustellen.
Ich heiße Tobias und bin ein "Anfänger" was Java an geht und arbeite mich solangsam hier rein.
Doch hänge ich direkt schon an einem Problem, welches ich nicht gelöst bekomme und somit hoffe ich, dass ihr mir helfen könnt.
Über die GUI kann ich einen neuen Flug hinzufügen und dann im JOptionPane Fracht- oder Passagierflugzeug aussuchen. Dann werden die einzelnen Informationen abgefragt die man eingeben muss.
Diese Informationen sollen dann in einer ArrayList gespeichert werden und in der GUI mit einem Jtable in echtzeit dargestellt werden....
An Bekannter von mir der Programmierer ist, hat mir dabei geholfen, weil ich noch lange nicht über solches Wissen verfüge.... doch hat er auch an dem Punkt gehangen, dass die Werte nicht in das JTable übertragen werden...
Ich sehe auch nicht ob es nur an dem übertrag an das JTable liegt, oder ob es an ganz anderen Dingen hapert....
Die systemprintout Zeilen sind nur zum Test drin und wurden auskommentiert.
Hier mal der Code: oder das komplette Programm hochgeladen: kostenlos Dateien hochladen bei File Upload X
Danke schon einmal für eure Hilfe
Ich heiße Tobias und bin ein "Anfänger" was Java an geht und arbeite mich solangsam hier rein.
Doch hänge ich direkt schon an einem Problem, welches ich nicht gelöst bekomme und somit hoffe ich, dass ihr mir helfen könnt.
Über die GUI kann ich einen neuen Flug hinzufügen und dann im JOptionPane Fracht- oder Passagierflugzeug aussuchen. Dann werden die einzelnen Informationen abgefragt die man eingeben muss.
Diese Informationen sollen dann in einer ArrayList gespeichert werden und in der GUI mit einem Jtable in echtzeit dargestellt werden....
An Bekannter von mir der Programmierer ist, hat mir dabei geholfen, weil ich noch lange nicht über solches Wissen verfüge.... doch hat er auch an dem Punkt gehangen, dass die Werte nicht in das JTable übertragen werden...
Ich sehe auch nicht ob es nur an dem übertrag an das JTable liegt, oder ob es an ganz anderen Dingen hapert....
Die systemprintout Zeilen sind nur zum Test drin und wurden auskommentiert.
Hier mal der Code: oder das komplette Programm hochgeladen: kostenlos Dateien hochladen bei File Upload X
Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*; //Event brauchen wir für das Ereigniss, wenn ein Button geklickt wird
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.JScrollPane;
import javax.swing.table.DefaultTableModel;
import java.awt.GridLayout;
import java.util.ArrayList;
/*
* import javax.swing.JScrollPane;
* import java.awt.Dimension;
* import java.awt.event.MouseAdapter;
* import java.awt.event.MouseEvent;
*/
public class Datenbank extends JFrame
{
/**
*
*/
private static final long serialVersionUID = 1L;
public JButton button1;
public JButton button2;
public JButton button3;
public JButton button4;
public JPanel panelButton, panelLabel, panelRadio;
public JLabel oben;
public JTable liste;
public JScrollPane spane;
public ArrayList<Flugzeug> array;
public String[][] data;
DefaultTableModel dtm;
public Datenbank()
{
super("Kontrollterminal");
// Arraylist instanzieren
array = new ArrayList<Flugzeug>();
//Fenster erzeugen
setLocation(300,300);
setSize (600,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout(5,5));
//Panels erzeugen
panelButton = new JPanel(new GridLayout(4,1));
panelRadio = new JPanel(new GridLayout(2,1));
//Buttons erzeugen
button1 = new JButton("Neuer Flug hinzufügen");
button2 = new JButton("Flug löschen");
button3 = new JButton("Flug bearbeiten");
button4 = new JButton("Liste ausdrucken");
//Auf Panel Buttons packen
panelButton.add(button1);
panelButton.add(button2);
panelButton.add(button3);
panelButton.add(button4);
//Listener für Buttons
addButtonListener(button1);
addButtonListener(button2);
addButtonListener(button3);
addButtonListener(button4);
//Labels erzeugen
oben = new JLabel("Flüge verwalten");
//Label zentrieren
oben.setHorizontalAlignment(JLabel.CENTER);
//Label dem Panel hinzufügen
String[] cNames = {"Flugnummer","Startzeit","Startbahn","Ankunft"};
dtm = new DefaultTableModel(data, cNames);
liste = new JTable(dtm);
spane = new JScrollPane(liste);
//Panels auf Frame packen
add(BorderLayout.WEST, panelButton);
add(BorderLayout.NORTH, oben);
add(BorderLayout.CENTER, spane);
// Das Fenster wird Sichtbar gemacht
setVisible(true);
}
public static void main(String[] args)
{
new Datenbank();
}
private void addButtonListener(JButton b)
{
b.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == button1)
{
try
{
Object[] auswahl = {"Passagierflugzeug", "Frachtflugzeug"};
String h = (String) JOptionPane.showInputDialog(null, "Wählen Sie einen Flugzeugtyp:", "Frage",JOptionPane.QUESTION_MESSAGE,null,auswahl,"Passagierflugzeug");
String a = JOptionPane.showInputDialog(null, "Geben sie die Flugnummer ein: ", "Eingabeterminal", 3);
String d = JOptionPane.showInputDialog(null, "Geben sie die Anzahl der Flugbegleiter ein: ", "Eingabeterminal", 3);
if(h.equals("Passagierflugzeug"))
{
String b = JOptionPane.showInputDialog(null, "Geben sie die Anzahl der Passagiere ein: ", "Eingabeterminal", 3);
String c = JOptionPane.showInputDialog(null, "Geben sie die Anzahl der Gesamtplätze ein: ", "Eingabeterminal", 3);
int w = Integer.parseInt(a);
int x = Integer.parseInt(b);
int y = Integer.parseInt(c);
int z = Integer.parseInt(d);
Passagierflugzeug pf = new Passagierflugzeug(w, x, y, z );
array.add(pf);
}
else
{
String b = JOptionPane.showInputDialog(null, "Geben sie die Ladung ein: ", "Eingabeterminal", 3);
String c = JOptionPane.showInputDialog(null, "Geben sie das Gewicht ein: ", "Eingabeterminal", 3);
int w = Integer.parseInt(a);
int y = Integer.parseInt(c);
int z = Integer.parseInt(d);
Frachtflugzeug ff = new Frachtflugzeug(b, y, w,z);
array.add(ff);
}
}
catch (NumberFormatException g)
{
System.out.println("Fehler!");
}
data = new String[array.size()][4];
/*
System.out.println("Arraygröße: "+ array.size());
System.out.println(array.toString());
*/
for(int i =0; i<array.size(); i++)
{
if(array.get(i) instanceof Passagierflugzeug)
{
/*
* System.out.println(i);
* System.out.println("Array:"+ array.get(i));
*/
Passagierflugzeug pf = (Passagierflugzeug) array.get(i);
data[i][0]= Integer.toString(pf.getGesamtPlaetze());
data[i][1]= Integer.toString(pf.getPassagierAnzahl());
data[i][2]= Integer.toString(pf.getBesatzungsAnzahl());
data[i][3]= Integer.toString(pf.getFlugnummer());
}
else
{
Frachtflugzeug ff = (Frachtflugzeug) array.get(i);
data[i][0]= Integer.toString(ff.getLadegewicht());
data[i][1]= ff.getFracht();
data[i][2]= Integer.toString(ff.getBesatzungsAnzahl());
data[i][3]= Integer.toString(ff.getFlugnummer());
}
}
/*
for(int i=0; i<array.size(); i++)
{
for (int k= 0 ;k<4; k++)
{
System.out.println(data[i][k]);
}
System.out.println("");
}
dtm.fireTableDataChanged();
liste.repaint();
liste.revalidate();
repaint();
revalidate();
*/
}
if(e.getSource() == button2)
{
System.out.println("Button2");
}
if(e.getSource() == button3)
{
System.out.println("Button3");
}
if(e.getSource() == button4)
{
System.out.println("Button4");
}
}
});
}
/* private void eingabe(String a)
{
anzeige.setText(a);
}
*/
}
Danke schon einmal für eure Hilfe