Avatar billede wuuhuu Nybegynder
03. januar 2005 - 17:09 Der er 16 kommentarer og
1 løsning

clear screen in Java

Kan det lade sig gøre, at lave en clear screen i Java, der virker i Dos/Windows? Samtidig med at det man laver stadig er platformuafhængigt?
Avatar billede jakoba Nybegynder
03. januar 2005 - 17:19 #1
Tjae. Du kan spørgege i system om operativsystement er dos/windows, og kun køre det platformspecifikke clear screen kode hvis det er.

men om man så kan kalde dit program for platformsuafhængigt, det er et spørgsmål om definition.
Avatar billede arne_v Ekspert
03. januar 2005 - 18:16 #2
Den pragmatiske løsning er vel at skrive 24 tomme linier ...
Avatar billede wuuhuu Nybegynder
03. januar 2005 - 18:19 #3
er desværre ikke helt med på hvad du mener? Ved at der i C++ er en simpel måde, at lave dette på. Men har ikke kunnet finde en simpel måde i Java. De jeg har stiftet bekendtskab med er hvor man går ind og ændrer enten config.sys eller laver en cls fil i C og så kalder den fra sit javaprogram, men mener stadig ikke at dette er en optimal løsning til mit problem.
Avatar billede wuuhuu Nybegynder
03. januar 2005 - 18:20 #4
arne_v den løsning har jeg skam tænkt på men synes ikke at det er "pæn" kode hvis du forstår.
Avatar billede wuuhuu Nybegynder
03. januar 2005 - 18:25 #5
samtidig får den cursoren til at stå nede i bunden og desværre ikke oppe i toppen.
Avatar billede trenskow Nybegynder
03. januar 2005 - 23:46 #6
jeg er stødt på et par eksempler på nettet. Jeg ved ikke om de virker.

import java.lang.Object;

class saet
{

public static void cls()
{

try {
Runtime runtime = Runtime.getRuntime ();
Process child = runtime.exec ("cls");
child.waitFor ();
} catch (InterruptedException e) {
} catch (java.io.IOException e){}

}
}
-----------------------------------
Runtime.getRuntime().exec("command.com /c cls");

------------------------------------
Avatar billede arne_v Ekspert
03. januar 2005 - 23:55 #7
Der er ikke en måde at gøre det på i standard portabel C.  Så godt som alle
C implementationer har en compiler/platform specifik måde at gøre det på.

Det kan næppe gøres platforms uafhængigt i Java.

Men du kan da altid kombinere jakobs test på platform med trenskows Runtime exec CLS.

Der er næppe den store interesse for problemet. Console apps hvor look and feel ikke
betyder noget er ligeglade og console apps hvor look and feel betyder noget laves
ikke som console apps.
Avatar billede wuuhuu Nybegynder
03. januar 2005 - 23:59 #8
Er der så en måde hvorpå man kan blande C og Java - for eksempel ved at lave en fil i C som man kalder fra Java og hvordan kunne dette eventuelt gøres?

Trenskow - kan ikke lige umiddelbart få din løsning til at makke ret.
Avatar billede arne_v Ekspert
04. januar 2005 - 00:02 #9
Ja - du kan godt kalde C kode fra Java.

Det hedder JNI.

(og så er koden naturligvis slet ikke platform uafhængig)
Avatar billede arne_v Ekspert
04. januar 2005 - 00:03 #10
Avatar billede wuuhuu Nybegynder
04. januar 2005 - 00:05 #11
Det er jeg med på - tror endda at jeg har smidt håndklædet i ringen hvad det angår så nu går jeg efter en brugbar løsning udover en for løkke :)
Avatar billede trenskow Nybegynder
04. januar 2005 - 00:06 #12
ok, det var også lige nogen jeg faldt over mens jeg ledte efter noget andet.
Så vidt jeg kunne fortå på en kammerat, så virker System.Out.Print("\f") på alt andet end windows
Avatar billede wuuhuu Nybegynder
04. januar 2005 - 00:08 #13
Ja ham kender jeg godt :o) skulle lige hilse dig fra ham.
Avatar billede arne_v Ekspert
04. januar 2005 - 00:09 #14
På alle ANSI kompatible terminaler bør:

System.out.print("\x1B[2J");

virke.
Avatar billede wuuhuu Nybegynder
04. januar 2005 - 00:13 #15
for at få denne til at virke skal der så ikke skrives noget i config.sys?
Avatar billede arne_v Ekspert
04. januar 2005 - 00:15 #16
Windows DOS vinduer er ikke en ANSI kompatibel terminal.

I ægte DOS kunne man loade ANSI.SYS i CONFIG.SSY og bruge ANSI escape
sekvenser.

Muligvis kan man stadig det.
Avatar billede wuuhuu Nybegynder
04. januar 2005 - 00:17 #17
det er jeg desværre bange for at man ikke kan mere i det "nye" prøvede nemlig at tilføje en linje til config.sys men det gjorde hverken fra eller til.
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