Beiträge von Blackmonkey01

    Ich will ein XML File das mein programm erzeugt auf denn Desktop abspeichern. Jetzt habe ich folgendes Problem. Wie finde ich denn Pfad ? Weis jemand eine Lösung bzw ein Universallösung die vielleicht nicht nur unter Windows läuft?

    Wenn mir jemand diese 2 fragen beantworten kann wäre ich auch schon glücklich :D.

    • Wie finde ich in Java das Betriebsystem heraus auf dem mein Programm läuft?
    • Wie hole ich mir den pfad der Partition wo das Betriebsystem liegt?

    Folgendes Problem. Ich möchte ein Bild als Panelhintergrund einfügen. Ich habe folgende Klassen.



    Mein mainPanel soll denn Hintergrund erhalten.
    Die BackgroundPanel Klasse hab ich aus dem Internet. Wie benutzt ich sie jetzt ? Irgendwie scheitern alle versuche die neue paint methode zu benutzen. Wie rufe ich sie auf ? Könnte mir jemand anhand von meinen Code ein Beispiel bauen?

    Hallo,

    also ich habe eine JComboBox in der 2 Items zur auswahl sind. Ich möche gern das alles andere still steht bis ich ein Item gewählt habe. Also man soll keine Textfelder, Buttons,... etz. anwählen können. So in etwa wie wenn beim beenden das "Wollen sie wirklich schließen?" Fenster auftaucht.
    Als erstes ist mir hier ein Thread eingefallen. Aber denn wollte ich eigtl nicht einbauen. Hat wer eine andere Lösung?

    Sollte das nicht gehen ? Geht bei mir immer in die Else Anweisung.....

    public static void checkName( JTextField fieldName ){
    .....for

    (int i = 0; i != ArrayNamen.length; i++){
    ................if(ArrayNamen[i].toLowerCase().equals(fieldName.getText().toLowerCase())){
    ........................fieldName.setText("Gibt es!!");
    ................}
    ................else{
    ........................fieldName.setText("Gibts nicht!!");
    ...............}


    .......}
    }

    Alos folgendes, ich habe ein Textfile Namen.txt in dem Namen drin stehen. Diese lese ich jetzt in ein String Array ein. Nun möchte ich in einer If-Abfrage mit .equals fragen ob der Name aus dem Array mit meinen Namen denn ich such übereinstimmt.

    Namen.txt :

    Fred, Jan, Phillip, ....

    ArrayNamen :

    ['Fred'],['Jan'],.....

    if( ArrayNamen[1].equals(gesuchter Name) ) {

    Tuh irgend was......
    }

    Jetzt kann der gesuchte Namen Klein oder Groß geschrieben werden. Wie mach ich das er es trozdem erkennt ? Gibts da ne Methode oder hat wer ein Codebeispiel ?
    Danke schonmal im vorraus.

    So hab denn Fehler mal eingegrenzt. Er muss hier wo sein aber nichts wird rot makiert bin etwas verwirrt. Ich hatte schon alles auf Doubel gesetzt weil er bei der Logik() Methode auf Doubel besteht.

    Falls wer weiter weis Hilfe is immer erwünscht :).

    static int eloZahl1;
    static int eloZahl2;
    static double neuZahl1;
    static double neuZahl2;
    static double eA;


    static double ergebnis1 = 0;
    static double ergebnis2 = 0;


    static int k1 = 15, k2 = 15;

    static void berechnenKlasse( int k1, int k2){


    eloZahl1 = Integer.valueOf(tElo1.getText());
    eloZahl2 = Integer.valueOf(tElo2.getText());
    neuZahl1 = Integer.valueOf(tElo1Neu.getText());
    neuZahl2 = Integer.valueOf(tElo2Neu.getText());
    ergebnis1 = logik(eloZahl1, eloZahl2);
    ergebnis2 = logik(eloZahl2, eloZahl1);


    switch(jcb.getSelectedIndex()){
    //Remi
    case 0: .....neuZahl1 = eloZahl1+k1*(0.5-ergebnis1);
    ..................tElo1Neu.setText(String.valueOf(neuZahl1));
    ..................neuZahl2 = eloZahl2+k2*(0.5-ergebnis2);
    ..................tElo2Neu.setText(String.valueOf(neuZahl2));
    //Sieg
    case 1: ......neuZahl1 = eloZahl1+k1*(1-ergebnis1);
    ..................tElo1Neu.setText(String.valueOf(neuZahl1));
    ..................neuZahl2 = eloZahl2+k2*(0-ergebnis2);
    ..................tElo2Neu.setText(String.valueOf(neuZahl2));
    //Niederlage
    case 2: ......neuZahl1 = eloZahl1+k1*(0-ergebnis1);
    ..................tElo1Neu.setText(String.valueOf(neuZahl1));
    ..................neuZahl2 = eloZahl2+k2*(1-ergebnis2);
    ..................tElo2Neu.setText(String.valueOf(neuZahl2));
    }


    }


    static double logik(double eloZahl1, double eloZah2){
    double zErgebnis;
    zErgebnis = Math.pow(10, (eloZahl1-eloZah2) / 400);
    eA = 1/(1+zErgebnis);
    returneA;


    }

    Leider wäre der Code viel zu lang um ihn zu posten deswegen hoff ich das jemand so ne Ahnung hat.

    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)


    at java.awt.EventDispatchThread.run(Unknown Source)

    Ich habe kein Thread eingebaut oder implementiert.... Hier noch kleiner Screenshot im Debugger von Eclipse.


    informatik-forum.net/attachment/17813/

    Erstmal danke stimmt so war das Sinnlos :). Jetzt hab ich es hier soweit das er es ausliest aber trozdem mit Leerzeichen.
    Also zum Beispiel Person.txt:
    1 Manfred H. RUS 75664 <----- Hier können beliebig viele leerzeichen zwischen denn wörtern sein.
    2 Timo L. GER 19990


    Es ändert sich nichts gegenüber dem textfile wenns in der textbox steht...
    So sollte es sein:
    1;Manfred;H.;RUS;75664
    2;Timo;L.;GER;19990


    (Wie weit wirken sich Tabs darauf aus wenn ich leerzeichen zähle ? Also wenn diese zwischen denn Wörtern vorkommen)




    zeile_array

    = newchar[200];


    String pfad;


    pfad = System.getProperty("user.dir") + "\\Personen.txt";


    pfad = pfad.replace("\\","/");


    BufferedReader lese = new BufferedReader(new FileReader(pfad));


    String zeile = "";


    String text = "";


    while((zeile = lese.readLine()) != null) {


    ........zeile_array = zeile.toCharArray();


    ........for(int c = 0;c != zeile_array.length; c++){

    .............String cha = String.valueOf(zeile_array[c]);

    .............if(cha!=" "){
    ...................text = text + cha;
    .............}
    .............else{
    .............cha = String.valueOf(zeile_array[c+1]);
    .............if(cha!=" "){
    ..................text = text + ";";
    .............}
    ........}
    }


    textbox.setText(text);


    Also er hollt sich denn Text liest die "zeile" ein. Dann wandelt er die "zeile" in ein Char-Array um und macht eine For-Schleife die solange geht wie die länge des Char-Arrays. Danach wandelt er denn aktuellen Char in ein String um. Ist es kein leerzeichen wir er in denn "text" eingefügt ist es eins geht er in die else und frägt ob der folge Char auch leer ist. Ist er das nicht kommt logischerweise ein ";" da ein neues wort kommt nach dem Leerzeichen. Und an sonsten kommt eben der nächte Char der "zeile".

    Also die Abfrage macht folgendens. Sie liest das Textfile ein und sorgt dafür das egal wie viel leerzeichen auftauchen die einzelnen Wörter mit ein ";" getrennt werden und in denn String "text" gespeichert werden. Damit ich Sie später schön Splitten kann und ihre Position bestimmen kann. Bin noch ein Anfänger :). Naja seht selbst.

    Hier erstmal der Code:

    char[] zeile_array ;
    zeile_array = newchar[25000];

    String pfad;
    pfad = System.getProperty("user.dir") + "\\Personen.txt";
    pfad = pfad.replace("\\","/");
    BufferedReader lese = new BufferedReader(new FileReader(pfad));


    String zeile = "";
    String text = "";
    while((zeile = lese.readLine()) != null) {
    zeile_array = zeile.toCharArray();
    for(int c = 0;zeile_array.length != 0; c++){
    String cha = String.valueOf(zeile_array[c]);
    if(cha!=" "){
    text = text + cha;
    }
    else{
    cha = String.valueOf(zeile_array[c+1]);
    if(cha!=" "){
    text = text + ";";
    }
    }
    }



    textbox.setText(text);

    Folge ist --->
    java.lang.ArrayIndexOutOfBoundsException

    Würde echt Hilfe brauchen damit das geht.
    ( Falls mir noch einer sagen kann wie ich das schöner formatieren kann hier wäre das auch gut :) )