Avatar billede ljungberg Nybegynder
17. februar 2003 - 21:43 Der er 10 kommentarer og
1 løsning

Komponent?

Hvordan laver jeg følgende java kode om til en komponent jeg kan benytte på en hjemmeside (f.eks. en knap på hjemmesiden, der udføre javakoden, når der trykkes)

import java.awt.*;
import java.awt.print.*;

public class PrintBlank implements Printable
{
    /**
    * Print a single, blank page.
    */
    static public void main(String args[])
    {
       
        PrinterJob printerJob = PrinterJob.getPrinterJob();
       
        Book book = new Book();
        book.append(new PrintBlank(), new PageFormat());
       
        printerJob.setPageable(book);
       
        boolean doPrint = printerJob.printDialog();
        if (doPrint)
        {
            try
            {
                printerJob.print();
            }
            catch (PrinterException exception)
            {
                System.err.println("Printing error: " + exception);
            }
        }
    }
   
    public int print(Graphics g, PageFormat format, int pageIndex)
    {
       
        return Printable.PAGE_EXISTS;
    }
}
Avatar billede webster Nybegynder
17. februar 2003 - 22:01 #1
Hvis du skal havde noget java kodo eksekveret som en del af user interfacet (altså eksekveret klient side)  så er du nød til at lave det som en applet.

Hvis koden skal eksekveres på din server, så kan fx lave et .jsp script på en webserver eller en servlet. Hvis du lige fortæller om det er klient/server side koden skal eksekveres så kan jeg droppe et par links til nogle tutorials.
Avatar billede gybel Nybegynder
17. februar 2003 - 22:04 #2
Det kommer anpå om det skal virke på serveren eller Klienten.

Klient --> applet (nok det eneste der giver mening :o))
server --> serverpage (servlet, jsp)

jeg går stærk du fra at det skal virke på klient siden så skal det laves som en applet.
Avatar billede arne_v Ekspert
17. februar 2003 - 22:15 #3
Den kode der skal jo tydeligvis udføres på client side.

Som webster siger, så skal den laves om til en applet for
at den kan køre si en browser.

Men jeg tvivler på at en almindelig applet vil have permission
til at printe !

Og at begynde at give en applet specielle priviligier kan
hurtigt blive bøvlet og imod hele ideen med et web interface.
Avatar billede ljungberg Nybegynder
17. februar 2003 - 22:18 #4
Yeps, som arne_v siger bliver det bøvlet at give en applet ret til at printe, derfor skulle det være noget i stil med en activeX komponent, som brugeren skal acceptere, nogen ideer?
Avatar billede arne_v Ekspert
17. februar 2003 - 22:29 #5
Din applets skal signes og der skal ændres i policy.

Se f.eks. http://java.sun.com/security/signExample12/ !

De fleste finder det meget besværligt at få til at virke.
Avatar billede ljungberg Nybegynder
17. februar 2003 - 23:19 #7
Tak for links. Jeg må rode lidt med det og se om jeg kan få det til at funge!
Hvis der er nogen der kommer på andre ideer, så må I meget gerne maile dem til ljungberg@doek.dk
Avatar billede htx98i17 Professor
29. juni 2003 - 19:57 #8
Man kan i browserens java-indstillinger aktivere udskrivning. Gør det det nemmere at give en applet rettigheder til at udskrive?

Jeg står nemlig også og skal bruge noget smart, som kan udskrive websiden uden promptbox. hvis det er nogen der har fundet en løsning her, vil  jeg natuligvis gerne give en sjat point.
Avatar billede ljungberg Nybegynder
29. juni 2003 - 21:35 #9
Jeg har fundet ud af at man skal rode med det der hedder Print Templates, for at kunne styre udskriften. Der er meget mere om dette på http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnie55/html/printtemplate2.asp
Avatar billede htx98i17 Professor
29. juni 2003 - 21:41 #10
okay

Jeg har fundet følgende, som jeg til nød kan bruge. Den printer uden dialog box.

<HTML>
<HEAD>
<TITLE></TITLE>
<SCRIPT LANGUAGE=vbscript>
    function printsiden()
        //PrintOBJ.Navigate2 "/andenside.htm"
        PrintOBJ.ExecWB 6,2,1
    end function
</SCRIPT>
</HEAD>
<BODY >
<P>
<OBJECT id=PrintOBJ style="LEFT:0px;TOP:0px;width:1px;height:1px" classid="clsid:8856F961-340A-11D0-A96B-00C04FD705A2">
    <PARAM NAME="ExtentX" VALUE="7938">
    <PARAM NAME="ExtentY" VALUE="3969">
    <PARAM NAME="ViewMode" VALUE="0">
    <PARAM NAME="Offline" VALUE="0">
    <PARAM NAME="Silent" VALUE="0">
    <PARAM NAME="RegisterAsBrowser" VALUE="0">
    <PARAM NAME="RegisterAsDropTarget" VALUE="1">
    <PARAM NAME="AutoArrange" VALUE="0">
    <PARAM NAME="NoClientEdge" VALUE="0">
    <PARAM NAME="AlignLeft" VALUE="0">
    <PARAM NAME="NoWebView" VALUE="0">
    <PARAM NAME="HideFileNames" VALUE="0">
    <PARAM NAME="SingleClick" VALUE="0">
    <PARAM NAME="SingleSelection" VALUE="0">
    <PARAM NAME="NoFolders" VALUE="0">
    <PARAM NAME="Transparent" VALUE="0">
    <PARAM NAME="ViewID" VALUE="{0057D0E0-3573-11CF-AE69-08002B2E1262}">
</OBJECT>
</P>
hej med dig
<script language="javascript" >
    printsiden();
</script>
</BODY>
</HTML>
Avatar billede arne_v Ekspert
29. juni 2003 - 21:56 #11
Men så er vi også røget lidt udenfor Java.
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