Hallo liebe User,
ich arbeite derzeitig an einen Programm für einen Regelvergleich. Und nun habe ich folgendes Problem. Ich habe eine GUI dort kann man auswählen was getestet werden soll ein Beispiel Zusatzdamm, nun soll das Programm wissen welche Attribute er brauch und ein LogFile durchsuchen und mir die gesuchten Attribute in ein Textfile reinspeichern. Die Frage ist wie bekomme ich es hin, das er mir einen Datei einliest und diese durchsucht und ich noch auf der GUI aussuchen kann welche Regel getestet werden soll und nur diese Parameter in das neue Textfile gespeichert werden.
für hilfreiche Tipps danke ich im Vorraus
GUI:
Main:
Bitte nicht so streng mit mir sein. Bin gerade erst in die Firma gekommen und mir wurde JAVA windows Builder mit Eclipse ziemlich aufgehalst und kenne mich daher nicht so gut aus![Smile :) :)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)
ich arbeite derzeitig an einen Programm für einen Regelvergleich. Und nun habe ich folgendes Problem. Ich habe eine GUI dort kann man auswählen was getestet werden soll ein Beispiel Zusatzdamm, nun soll das Programm wissen welche Attribute er brauch und ein LogFile durchsuchen und mir die gesuchten Attribute in ein Textfile reinspeichern. Die Frage ist wie bekomme ich es hin, das er mir einen Datei einliest und diese durchsucht und ich noch auf der GUI aussuchen kann welche Regel getestet werden soll und nur diese Parameter in das neue Textfile gespeichert werden.
für hilfreiche Tipps danke ich im Vorraus
GUI:
Java:
import java.awt.EventQueue;
public class GUIJava extends JPanel
implements ActionListener{
static private final String newline = "\n";
private JFrame frmJavaRegelvergleich;
private JTextField txtReturnval;
JFileChooser fc;
JTextArea log;
* Launch the application.
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
GUIJava window = new GUIJava();
window.frmJavaRegelvergleich.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
* Create the application.
public GUIJava() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frmJavaRegelvergleich = new JFrame();
frmJavaRegelvergleich.setTitle("Java Regelvergleich");
frmJavaRegelvergleich.setBounds(100, 100, 450, 572);
frmJavaRegelvergleich.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GridBagLayout gridBagLayout = new GridBagLayout();
gridBagLayout.columnWidths = new int[]{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
gridBagLayout.rowHeights = new int[]{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
gridBagLayout.columnWeights = new double[]{0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE};
gridBagLayout.rowWeights = new double[]{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE};
frmJavaRegelvergleich.getContentPane().setLayout(gridBagLayout);
//JPanel Bezeichnung Ausgabe auf der GUI
JLabel label = new JLabel("LogFile");
GridBagConstraints gbc_label = new GridBagConstraints();
gbc_label.insets = new Insets(0, 0, 5, 5);
gbc_label.gridx = 3;
gbc_label.gridy = 1;
frmJavaRegelvergleich.getContentPane().add(label, gbc_label);
txtReturnval = new JTextField();
txtReturnval.setColumns(10);
GridBagConstraints gbc_txtReturnval = new GridBagConstraints();
gbc_txtReturnval.gridwidth = 5;
gbc_txtReturnval.insets = new Insets(0, 0, 5, 5);
gbc_txtReturnval.fill = GridBagConstraints.HORIZONTAL;
gbc_txtReturnval.gridx = 5;
gbc_txtReturnval.gridy = 1;
frmJavaRegelvergleich.getContentPane().add(txtReturnval, gbc_txtReturnval);
JButton button = new JButton("browse...");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Browse Button Aktiv");
JFileChooser fc = new JFileChooser();
int returnVal = fc.showDialog(GUIJava.this, "Attach");
File file = new File(this.toString());
System.out.println("File "+ file);
try {
main.liesLog(file);
} catch (IOException e1) {
System.out.println("Fehler beim lesen der Datei!");
e1.printStackTrace();
}
}
});
GridBagConstraints gbc_button = new GridBagConstraints();
gbc_button.insets = new Insets(0, 0, 5, 5);
gbc_button.gridx = 10;
gbc_button.gridy = 1;
frmJavaRegelvergleich.getContentPane().add(button, gbc_button);
//Startet Main und führt das Programm aus
JButton btnNewButton = new JButton("Starte Vergleich");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
long zeitvorher;
long zeitnachher;
System.out.println("Starte den Vergleich der Regel");
zeitvorher = System.currentTimeMillis();
main.Parser();
zeitnachher = System.currentTimeMillis();
System.out.println("Zeit benötigt für Starte Vergleich: "+ ((zeitnachher - zeitvorher)/1000)+"Sekunden");
}
});
JLabel lblRegel = new JLabel("Regel");
GridBagConstraints gbc_lblRegel = new GridBagConstraints();
gbc_lblRegel.insets = new Insets(0, 0, 5, 5);
gbc_lblRegel.gridx = 3;
gbc_lblRegel.gridy = 3;
frmJavaRegelvergleich.getContentPane().add(lblRegel, gbc_lblRegel);
JComboBox comboBox = new JComboBox();
comboBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.out.println("Zu testende Regel: " + getName());
//main.liesLog(file);
}
});
comboBox.setModel(new DefaultComboBoxModel(new String[] {"Gie\u00DFgeschwindigkeit", "Zusatzdamm", "Baumann", "H2 Probe", "Zu testende Regel..."}));
comboBox.setSelectedIndex(4);
comboBox.setToolTipText("");
GridBagConstraints gbc_comboBox = new GridBagConstraints();
gbc_comboBox.gridwidth = 4;
gbc_comboBox.insets = new Insets(0, 0, 5, 5);
gbc_comboBox.fill = GridBagConstraints.HORIZONTAL;
gbc_comboBox.gridx = 6;
gbc_comboBox.gridy = 3;
frmJavaRegelvergleich.getContentPane().add(comboBox, gbc_comboBox);
JProgressBar progressBar = new JProgressBar();
GridBagConstraints gbc_progressBar = new GridBagConstraints();
gbc_progressBar.gridwidth = 8;
gbc_progressBar.insets = new Insets(0, 0, 5, 5);
gbc_progressBar.gridx = 3;
gbc_progressBar.gridy = 16;
frmJavaRegelvergleich.getContentPane().add(progressBar, gbc_progressBar);
GridBagConstraints gbc_btnNewButton = new GridBagConstraints();
gbc_btnNewButton.insets = new Insets(0, 0, 0, 5);
gbc_btnNewButton.gridx = 8;
gbc_btnNewButton.gridy = 17;
frmJavaRegelvergleich.getContentPane().add(btnNewButton, gbc_btnNewButton);
//JButton Abbrechen, bricht Porgramm nach bestätigung ab******
JButton btnAbbrechen = new JButton("Abbrechen");
btnAbbrechen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
GridBagConstraints gbc_btnAbbrechen = new GridBagConstraints();
gbc_btnAbbrechen.insets = new Insets(0, 0, 0, 5);
gbc_btnAbbrechen.gridx = 10;
gbc_btnAbbrechen.gridy = 17;
frmJavaRegelvergleich.getContentPane().add(btnAbbrechen, gbc_btnAbbrechen);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
}
Main:
Java:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.io.*;
import javax.xml.rpc.ServiceException;
import soapclasses.DecisionServiceException;
import soapclasses.DecisionServiceSZFG_TS_Prototyp_Service;
import soapclasses.DecisionServiceSZFG_TS_Prototyp_ServiceLocator;
import soapclasses.DecisionServiceSZFG_TS_Prototyp_PortType;
import soapclasses.EingangsdatenTyp;
import soapclasses.AusgangsdatenTyp;
import soapclasses.Eingangsdaten;
import soapclasses.Ausgangsdaten;
import soapclasses.DecisionServiceRequest;
import soapclasses.DecisionServiceResponse;
public class main {
/*
* Globale Variablen deklarieren
*/
private static DecisionServiceSZFG_TS_Prototyp_Service service = new DecisionServiceSZFG_TS_Prototyp_ServiceLocator();
private static DecisionServiceSZFG_TS_Prototyp_PortType decision;
private static EingangsdatenTyp eingangsdaten = new EingangsdatenTyp();
private static AusgangsdatenTyp ausgangsdaten = new AusgangsdatenTyp();
private static Eingangsdaten input = new Eingangsdaten();
private static Ausgangsdaten output = new Ausgangsdaten();
private static DecisionServiceRequest request = new DecisionServiceRequest();
private static DecisionServiceResponse response = new DecisionServiceResponse();
/**
* @param args
* @throws IOException
* @throws DecisionServiceException
* @throws ServiceException
* @throws RemoteException
*/
/*
* Ausführen der Methoden // Eingangsdaten befüllen, Regel ausführen,
* Ausgangsdaten ausgeben
*/
public static void LeseDateiEin() throws IOException{
byte zeichen;
String text= "";
String dateiName="LogFile.txt";
FileInputStream leseStrom = new FileInputStream(dateiName);
do{
zeichen = (byte)leseStrom.read();
System.out.println(zeichen+" ");
text += (char)zeichen;
}while (zeichen != -1);
leseStrom.close();
System.out.println();
System.out.println(text);
}
public static void Parser(){
}
//File einlesen
// und Attribute in Array setzen
public static void liesLog(File file) throws IOException{
byte zeichen;
String text= "";
//String dateiName="C:/data.txt";
File nimmDatei = file;
FileInputStream leseStrom = new FileInputStream(nimmDatei);
do{
zeichen = (byte)leseStrom.read();
System.out.println(zeichen+" ");
text += (char)zeichen;
}while (zeichen != -1);
leseStrom.close();
System.out.println();
System.out.println(text);
}
public static void main(String[] args) throws DecisionServiceException,
RemoteException, ServiceException {
setEingangsdaten();
Regelanfrage();
printAusgangsdaten();
}
/*
* Eingangsdaten definieren
*/
public static void setEingangsdaten() {
eingangsdaten.setBREITE_GESAMT(544);
eingangsdaten.setANWEISUNGSSCHLUESSEL_1(2374237);
eingangsdaten.setCU_WERT(23424.0);
}
/*
* Ausgangsdaten über System.out.println in der Konsole ausgeben
*/
public static void printAusgangsdaten() {
System.out.println(response.getDecisionID());
System.out.println(ausgangsdaten.getBAUMANN());
System.out.println(ausgangsdaten.getABDECKMASSE());
System.out.println(ausgangsdaten.getDAMM());
System.out.println(ausgangsdaten.getKONIZITAET());
System.out.println(ausgangsdaten.getENTZUNDERUNG());
System.out.println(ausgangsdaten.getGIESSPULVER());
System.out.println(ausgangsdaten.getH2PROBE());
System.out.println(ausgangsdaten.getSTOPFEN());
}
/*
* Regelanfrage ausführen
*/
public static void Regelanfrage() throws ServiceException,
//Proxy definieren
DecisionServiceException, RemoteException {
((DecisionServiceSZFG_TS_Prototyp_ServiceLocator) service)
.setDecisionServiceSOAPhgestmr1EndpointAddress("http://hgestmr1:8080/DecisionService/ws/SZFG_TS_Prototyp_RuleApp/SZFG_TS_Prototyp?WSDL");
DecisionServiceSZFG_TS_Prototyp_PortType decision = service
.getDecisionServiceSOAPhgestmr1();
//Eingangsdaten in Input Objekt | Input in Request
input.setEingangsdaten(eingangsdaten);
request.setEingangsdaten(input);
//Regelanfrage ausführen
response = decision.executeDecisionService(request);
//Ausgangsdaten Klasse befüllen
output = response.getAusgangsdaten();
ausgangsdaten = output.getAusgangsdaten();
}
}
Bitte nicht so streng mit mir sein. Bin gerade erst in die Firma gekommen und mir wurde JAVA windows Builder mit Eclipse ziemlich aufgehalst und kenne mich daher nicht so gut aus
![Smile :) :)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)
Zuletzt bearbeitet von einem Moderator: