ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
459
459
EMPFEHLEN
-
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:Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174
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:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
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
Geändert von SZAG (09.02.12 um 13:44 Uhr)
-
09.02.12 13:40 #2
- Registriert seit
- Jun 2009
- Beiträge
- 870
Hi und willkommen im Forum.
Kannst du deinen Code bitte in java-Tags statt code-Tags fassen? (siehe meine Signatur), das liest sich besser.
Ein paar Code-Richtlinien:
• Klassennamen schreibt man groß
• Methodennamen schreibt man klein
• Attribute macht man so wenig sichtbar wie möglich, also fast immer private oder protected
Was ist „Regelvergleich“ ?
Du willst also folgendes:
• per JFileChooser den Nutzer die Datei(en) auswählen lassen
• diese Datei(en) einlesen und daraus eine Liste generieren, aus der der Nutzer eine/mehrere Elemente (Regeln) wählen kann
• diese ausgewählten Elemente darstellen
Richtig?
In welchem Format liegen die Regeln vor? ist das Text, der angezeigt werden soll? Zahlen/Binärdaten, die visualisiert werden sollen? Wie sind die Daten strukturiert (XML, CSV, …)?Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.Code java:1
System.out.println("Hallo");
___________
Ubuntu Bug #1: Microsoft has a majority market share
Casecon: Projekt leiser Käse
-
Was ist „Regelvergleich“ ?
variablen zB C_Wert, Güteschlüssel etc werden gegen einen Server geschmissen welcher dann Ergebnisse zurückliefert. Ein Bsp. Güteschlüssel = 2, C_Wert = 0,8 dann kommt als ergebnis Zusatzdamm = 1 raus.
Du willst also folgendes:
• per JFileChooser den Nutzer die Datei(en) auswählen lassen
genau ich würde gerne das der nutzer ein LogFile hochladen kann. Darin enthalten sind die Eingangsparameter. Wenn der User jetzt das LogFile hochgeladen hat und als Regel zusatzdamm ausgewählt hat, soll mein Programm aus diesen LogFile die werte suchen damit die Regelanfrage getätigt werden kann. Im Fall Zusatzdamm halt den C_Wert und den Güteschlüssel.
• diese Datei(en) einlesen und daraus eine Liste generieren, aus der der Nutzer eine/mehrere Elemente (Regeln) wählen kann
In der GUI gibt es ein DropDown Menü da sind die Regeln enthalten, er kann zB dort die Regel zusatzdamm oder Baumann auswählen. danach soll das Programm wie oben vorgehen sich aus den LogFile die Daten rausholen die er für die Regelanfrage braucht.
• diese ausgewählten Elemente darstellen
Die ausgewählten Elemente also bei Zusatzdamm Güteschlüssel und C_Wert soll er in ein neues Text File schreiben. In einen LogFile gibt es 1000 verschiedene Werte von den C_wert usw. Nachdem er dieses File geschrieben hat soll er die Regelanfrage starten.
In welchem Format liegen die Regeln vor? ist das Text, der angezeigt werden soll? Zahlen/Binärdaten, die visualisiert werden sollen? Wie sind die Daten strukturiert (XML, CSV, …)?
Das LogFile ist ein .txt Dokument mit Strings, Int und Double Werten
Vielen Dank für die schnell Antwort
Ähnliche Themen
-
Verknüpfungen löschen mit VBA
Von thuiskon im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 11.02.05, 18:51 -
Verknüpfungen in CorelDraw 12
Von met im Forum Vektor-ProgrammeAntworten: 0Letzter Beitrag: 21.04.04, 12:52 -
if und log. Verknüpfungen
Von How im Forum C/C++Antworten: 3Letzter Beitrag: 05.07.03, 15:08 -
Verknüpfungen
Von met im Forum 3D Studio MaxAntworten: 1Letzter Beitrag: 25.02.03, 16:03 -
Interne verknüpfungen...
Von MsvP im Forum HTML-EditorenAntworten: 1Letzter Beitrag: 22.07.01, 18:28





Zitieren
Login





