package anzeigen; //Paket erstellen
import java.awt.*; //importieren von Paketen und Klassen
import java.awt.event.*;
import java.io.*;
import java.net.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
public class Prüfpläneanzeigen extends JFrame //Klasse Prüfpläneanzeigen erbt von Oberklasse JFrame
{
private String[] Spaltennamen = {"Getriebetyp", "Nummer", "Art", "Dokumentiert", "Prüfmittel", "Messbereich", "Prüfablauf", "Prüfergebnis"}; //Deklaration eines Strings
private DefaultTableModel AnzeigenTabelle; //Deklaration eines Tabellenmodels
private JComponent contentPane = (JComponent) getContentPane(); //Deklaration von JComponent für Ereignisabfrage
Prüfpläneanzeigen() //Methode Prüfpläneanzeigen
{
super("Alle Prüfpläne anzeigen"); //Titelleiste wird als Alle Prüfpläne anzeigen bezeichnet
AnzeigenLayout(); //Methode AnzeigenLayout aufrufen
ClientThread b = new ClientThread(String Test);
readTable(); //Methode readTable aufrufen
}
void AnzeigenLayout() //Methode AnzeigenLayout
{
contentPane.setLayout(new BorderLayout()); //Variable contentPane wird der BorderLayout zugewiesen
createAnzeigenMenuleiste(); //Methode createMenuleiste aufrufen
AnzeigenTabelle = new DefaultTableModel(null, Spaltennamen); //neues Tabellenmodel wird erstellt
JTable tblAnzeigen = new JTable(AnzeigenTabelle); //neue Tabelle wird erstellt
tblAnzeigen.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS); //passt die Größe der Spalten an
JScrollPane scrollPane = new JScrollPane(tblAnzeigen); //Scrollleiste erstellen
scrollPane.setPreferredSize(new Dimension(785, 500)); //Größe der Tabelle festlegen
JPanel panelAnzeigenTable = new JPanel(); //JPanel erzeugen
panelAnzeigenTable.add("Center", scrollPane); //Scrollleiste Tabelle zuweisen
contentPane.add("West", panelAnzeigenTable); //JPanel auf Fenster ablegen
JButton btnAnzeigenOK = new JButton("OK"); //JButton erzeugen
btnAnzeigenOK.addActionListener(new ActionListener() //JButton Aktion zuweisen
{
public void actionPerformed(ActionEvent e)
{
closeAnzeigenWindow(); //Methode closeAnzeigenWindow aufrufen
}
});
JPanel panelAnzeigenButton = new JPanel(); //JPanel erzeugen
panelAnzeigenButton.add(btnAnzeigenOK); //JButton JPanel zuweisen
contentPane.add("South", panelAnzeigenButton); //JPanel auf Fenster ablegen
}
private void createAnzeigenMenuleiste() //Methode createAnzeigenMenuleiste
{
JMenuBar Anzeigenleiste = new JMenuBar(); //Menuleiste erzeugen
JMenu AnzeigenProgramm = new JMenu("Programm"); //Menu "Programm" erzeugen
JMenuItem AnzeigenEnde = new JMenuItem("Beenden"); //Menupunkt "Beenden" erzeugen
AnzeigenProgramm.add(AnzeigenEnde); //Menupunkt Menu zuweisen
AnzeigenEnde.addActionListener(new ActionListener() //Menupunkt Aktion zuweisen
{
public void actionPerformed(ActionEvent e)
{
closeAnzeigenProgramm(); //Methode closeAnzeigenProgramm aufrufen
}
});
Anzeigenleiste.add(AnzeigenProgramm); //Menu Menuleiste zuweisen
setJMenuBar(Anzeigenleiste); //Menuleiste wird auf Fenster abgelegt
}
void closeAnzeigenProgramm() //Methode closeAnzeigenProgramm
{
System.exit(0); //schließt das komplette Programm
}
void closeAnzeigenWindow() //Methode closeAnzeigenWindow
{
this.setVisible(false); //schließt das Fenster "Alle Prüfpläne anzeigen"
}
protected void readTable() //Methode readTable
{
try
{
BufferedReader Anzeigenreader = new BufferedReader(new FileReader("Prüfpläne.txt")); //auslesen aus Textdatei
String strAnzeigenLine;
String Test = Anzeigenreader.readLine(); //String deklarieren
while((strAnzeigenLine = Anzeigenreader.readLine()) != null) //while-Schleife beginnen
{
String[] AnzeigenSplit = strAnzeigenLine.split(";"); //Text wird bis zum Semikolen abgeschnitten
AnzeigenTabelle.addRow(AnzeigenSplit); //abgeschnittener Text an Tabelle übergeben
}
AnzeigenTabelle.fireTableDataChanged();
JOptionPane.showMessageDialog(null, "Die Datenbank enthält zurzeit " + AnzeigenTabelle.getRowCount() + " Datensätze.", "Information", JOptionPane.INFORMATION_MESSAGE);
}
catch(FileNotFoundException e)
{
JOptionPane.showMessageDialog(null, "Datei 'Prüfpläne.txt' wurde nicht gefunden.", "Fehlermeldung", JOptionPane.ERROR_MESSAGE);
}
catch(IOException e)
{
JOptionPane.showMessageDialog(null, "Sie besitzen keinen Lesezugriff auf die Datei 'Prüfpläne.txt'.", "Information", JOptionPane.INFORMATION_MESSAGE);
}
}
public static void Prfanzeigen() //Methode Anzeigen
{
Prüfpläneanzeigen Anzeigen = new Prüfpläneanzeigen(); //Prüfpläneanzeigen erzeugen
Anzeigen.setLocation(100, 100); //Fenster um 100 Pixel nach rechts und 100 nach unten versetzt
Anzeigen.setSize(800, 600); //Fenstergröße
Anzeigen.setResizable(false); //Fenstergröße nicht veränderbar
Anzeigen.setVisible(true); //Fenster anzeigen
}
}
class ClientThread extends Thread
{
ClientThread(String Test)
{
empfangen(Test);
}
public void empfangen(String Test)
{try
{Socket socket = new Socket("localhost", 10001);
socket.getOutputStream().write(Test.getBytes());
socket.close();
}
catch (UnknownHostException e)
{
}
catch (IOException e)
{
}
}
}