Avatar billede DonSkoD Juniormester
05. marts 2012 - 10:25 Der er 6 kommentarer og
1 løsning

Java - setText() hvis alt går godt.

Hej Eksperter

Jeg har følgende kode sat:

Private void KnapActionPerformed (java.awt.event.ActionEvent evt) {
      Try {
      string netdrev = "c:\\windows\\system32\\net.exe use..."
      string printserver = "c:\\windows\\system32\\net.exe use.."
      string printer = "cmd.exe /K start \\\\printserver\\.."
      Process p1 = Runtime.getRuntime().exec(netdrev);
      Process p1 = Runtime.getRuntime().exec(printserver);
      Process p1 = Runtime.getRuntime().exec(printer);
      }
      catch (IOException e) {
            label.setText("programfejl");
      }
}

Koden opretter forbindelse til et netdrev samt en netværksprinter.
"label" er et "statusfelt" på min form, som skal fortælle status.
Hvordan får jeg min "label" til at skrive "Succes!" og efterfølgende lukke programmet, hvis alt går som det skal?
Avatar billede arne_v Ekspert
05. marts 2012 - 15:00 #1
Private void KnapActionPerformed (java.awt.event.ActionEvent evt) {
      Try {
      string netdrev = "c:\\windows\\system32\\net.exe use..."
      string printserver = "c:\\windows\\system32\\net.exe use.."
      string printer = "cmd.exe /K start \\\\printserver\\.."
      Process p1 = Runtime.getRuntime().exec(netdrev);
      Process p1 = Runtime.getRuntime().exec(printserver);
      Process p1 = Runtime.getRuntime().exec(printer);
            label.setText("success");
      }
      catch (IOException e) {
            label.setText("programfejl");
      }
}

vil jeg tro
Avatar billede DonSkoD Juniormester
06. marts 2012 - 08:57 #2
jae.. - med dit forslag vil den også køre igennem, selvom brugeren ikke har tastet brugernavn og kodeord.
Jeg endte med følgende kode:

try {
      String netdrev = "c:\\windows\\system32\\net.exe use..."
      String printserver = "c:\\windows\\system32\\net.exe use.."
      String printer = "cmd.exe /K start \\\\printserver\\.."
      InetAddress address = InetAddress.getByName("Server");
      If (TextField.getText().equals("") || new String(Passw..) {
            label.setText("Indtast Brugernavn og Pass!");
      }
      else {
      Process p1...
      Process p2...
      Process p3...
            if (address.isReachable(3000) == true) {
            label.setText("Færdig!");
            System.exit(0);
            }
      }
      }

Men som jeg formulerede mit spørgsmål, har du vel egentligt svaret korrekt :)
Avatar billede arne_v Ekspert
07. marts 2012 - 01:56 #3
Der var ikke mange hints om success kriterie i det oprindelig spoergsmaal.

Jeg har ikke meget fidus til isReachable som test.

Kan du ikke teste om drev eksisterer?
Avatar billede DonSkoD Juniormester
07. marts 2012 - 08:19 #4
Nej, mangler bare lige at programmet tjekker om H:-drevet allerede er oprettet og derefter fjerner det, hvis det er.

Enten dét, eller en "afbryd forbindelse til netdrev"-jButton.

Men jeg har forsøgt på samme vis med RunTime og exec med kommandoen:

String fjernnetdrev = "c:\\windows\\system32\\net.exe use h: /delete"

Den ryger bare i min catch (IOException) :S
Avatar billede DonSkoD Juniormester
07. marts 2012 - 09:41 #5
Okay, nu virker mit program - jeg fik den til at smidde netdrevet H: under opstart af formen.

Hvis du kender en måde hvorpå jeg kan tjekke om H:-drevet findes i stedet for at pinge filserveren, skal du være velkommen til at smide et forslag. Ellers så svar for points :)
Avatar billede DonSkoD Juniormester
07. marts 2012 - 11:49 #6
Lige et spørgsmål mere >.<

Når jeg nu er færdig med mit program, og vælger "Build Main Project" (i Netbeans), så opretter den mappen "dist" i min Netbeans-project folder. Hvis jeg eksekverer .jar-filen på computeren, hvor jeg har udviklet programmet kører det fint, men hvis jeg kopierer .jar-filen til en anden PC, og forsøger at køre den dér, så får jeg fejlen:

Could not find the main class: <programnavn>. Program will exit.
Avatar billede DonSkoD Juniormester
16. marts 2012 - 13:11 #7
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester