Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 30
  1. #1

    Codice java del mio libro non funzionante (Applet + AWT)

    C'è un codice java del mio libro che non funziona, sapreste capire dove sta il problema?

    codice:
    // Demonstrate text alignment. 
    import java.applet.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    /* <title>Text Layout</title>
       <applet code="Esempio" width=200 height=200>
       <param name="text" value="Output to a Java window is actually quite easy. 
          As you have seen, the AWT provides support for
          fonts, colors, text, and graphics. <P>  Of course,
          you must effectively utilize these items
          if you are to achieve professional results.">
        <param name="fontname" value="Serif">
        <param name="fontSize" value="14">
       </applet>
     */
    
     public class Esempio extends Applet {
      final int LEFT = 0;
      final int RIGHT = 1;
      final int CENTER = 2;
      final int LEFTRIGHT =3;
      int align;
      Dimension d;
      Font f;
      FontMetrics fm;
      int fontSize;
      int fh, bl;
      int space;
      String text;
    
      public void init() {
        setBackground(Color.white);
        text = getParameter("text");
        try {
          fontSize = Integer.parseInt(getParameter("fontSize"));}
        catch (NumberFormatException e) {
          fontSize=14;
        }
        align = LEFT;
        addMouseListener(new MyMouseAdapter(this));
      }
    
      public void paint(Graphics g) {
        update(g);
      }
    
      public void update(Graphics g) {
        d = getSize();
        g.setColor(getBackground());
        g.fillRect(0,0,d.width, d.height);
        if(f==null) f = new Font(getParameter("fontname"),
                                 Font.PLAIN, fontSize);
        g.setFont(f);
        if(fm == null) {
            fm = g.getFontMetrics();
            bl = fm.getAscent();
            fh = bl + fm.getDescent();
            space = fm.stringWidth(" ");
        }
    
        g.setColor(Color.black);
        StringTokenizer st = new StringTokenizer(text);
        int x = 0;
        int nextx;
        int y = 0;
        String word, sp;
        int wordCount = 0;
        String line = "";
        while (st.hasMoreTokens()) {
          word = st.nextToken();
          if(word.equals("<P>")) {
            drawString(g, line, wordCount,
                       fm.stringWidth(line), y+bl);
            line = "";
            wordCount = 0;
            x = 0;
            y = y + (fh * 2);
          }
          else {
            int w = fm.stringWidth(word);
            if(( nextx = (x+space+w)) > d.width ) {
              drawString(g, line, wordCount,
                         fm.stringWidth(line), y+bl);
              line = "";
              wordCount = 0;
              x = 0;
              y = y + fh;
            }
            if(x!=0) {sp = " ";} else {sp = "";}
            line = line + sp + word;
            x = x + space + w;
            wordCount++;
          }
        }
        drawString(g, line, wordCount, fm.stringWidth(line), y+bl);
      }
    
      public void drawString(Graphics g, String line,
                             int wc, int lineW, int y) {
        switch(align) {
          case LEFT: g.drawString(line, 0, y);
            break;
          case RIGHT: g.drawString(line, d.width-lineW ,y);
            break;
          case CENTER: g.drawString(line, (d.width-lineW)/2, y);
            break;
          case LEFTRIGHT:
            if(lineW < (int)(d.width*.75)) {
              g.drawString(line, 0, y);
            }
            else {
              int toFill = (int)((d.width - lineW)/wc);
              int nudge = d.width - lineW - (toFill*wc);
              int s = fm.stringWidth(" ");
              StringTokenizer st = new StringTokenizer(line);
              int x = 0;
              while(st.hasMoreTokens()) {
                String word = st.nextToken();
                g.drawString(word, x, y);
                if(nudge>0) {
                  x = x + fm.stringWidth(word) + space + toFill + 1;
                  nudge--;
                } else {
                  x = x + fm.stringWidth(word) + space + toFill;
                }
              }
            }
            break;
          }
    
      }
    
    }
    
    class MyMouseAdapter extends MouseAdapter {
      Esempio tl;
      public MyMouseAdapter(Esempio tl) {
        this.tl = tl;
      }
      public void mouseClicked(MouseEvent me) {
        tl.align = (tl.align + 1) % 4;
        tl.repaint();
      }
    }

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Definisci "non funziona"...
    Non compila? Da eccezioni? Non fa quello che ti aspetti?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Non fa quello che mi aspetto. Si apre l'applet ma non vedo il contenuto indentato che sarebbe questo:

    Output to a Java window is actually quite easy.
    As you have seen, the AWT provides support for
    fonts, colors, text, and graphics. Of course,
    you must effectively utilize these items
    if you are to achieve professional results.

  4. #4
    Se crei sul tuo Eclipse una classe Esempio dentro un pakage qualsiasi e fai girare vedi il problema. Si tratta di un esempio di giustificazione di testo, lo scopo è allineare tutto il contenuto a destra o tutto il contenuto a sinistra.
    Ultima modifica di giannino1995; 26-11-2013 a 11:40

  5. #5
    Ragazzi ho risolto il problema, basta scrivere:

    codice:
    text = "Output to a Java window is actually quite easy. As you have seen, the AWT provides support for fonts, colors, text, and graphics. <P>  Of course, you must effectively utilize these items if you are to achieve professional results.";
    Per cui il problema è questo:

    codice:
    text = getParameter("text");
    Per farla breve Eclipse sbaglia a creare il file html e il codice html che il libro suggerisce di scrivere è sbagliato. Ho già scritto nella sezione html 5 per avere qualcosa di decente ma mi sembra di capire che non volete aiutarmi...

    http://forum.html.it/forum/showthrea...readid=2899830

  6. #6
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    Ragazzi ho risolto il problema, basta scrivere:

    codice:
    text = "Output to a Java window is actually quite easy. As you have seen, the AWT provides support for fonts, colors, text, and graphics. <P>  Of course, you must effectively utilize these items if you are to achieve professional results.";
    Per cui il problema è questo:

    codice:
    text = getParameter("text");
    Per farla breve Eclipse sbaglia a creare il file html e il codice html che il libro suggerisce di scrivere è sbagliato. Ho già scritto nella sezione html 5 per avere qualcosa di decente ma mi sembra di capire che non volete aiutarmi...

    http://forum.html.it/forum/showthrea...readid=2899830

    Quel getParameter("text") non è sbagliato... semplicemente si aspetta che nell'html tu abbia definito il parametro "text".
    Lo avevi fatto? Cos'hai scritto nella tua pagina html?

    L'esempio l'hai riportato tu stesso:

    codice:
    <title>Text Layout</title>
       <applet code="Esempio" width=200 height=200>
       <param name="text" value="Output to a Java window is actually quite easy. 
          As you have seen, the AWT provides support for
          fonts, colors, text, and graphics. <P>  Of course,
          you must effectively utilize these items
          if you are to achieve professional results.">
        <param name="fontname" value="Serif">
        <param name="fontSize" value="14">
       </applet>
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  7. #7
    Grazie di essere intervenuto! Il libro consiglia di scrivere questo file html:

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <title>senza nome</title>
        <meta http-equiv="content-type" content="text/html;charset=utf-8" />
        <meta name="generator" content="Geany 1.23.1" />
    </head>
    <body>
    <applet code="Esempio.class" width=200 height=200>
       <param name="text" value="Output to a Java window is actually quite easy. 
          As you have seen, the AWT provides support for
          fonts, colors, text, and graphics. <P>  Of course,
          you must effectively utilize these items
          if you are to achieve professional results.">
        <param name="fontname" value="Serif">
        <param name="fontSize" value="14">
       </applet>
    </applet>
    </body>
    </html>
    Ma sul mio computer non funziona e penso che l'errore sia qui nell'html anche perché il file java l'ho esaminato a fondo e con la modifica non da problemi.

  8. #8
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Il value di text mettilo tutto su una riga:
    <param name="text" value="Output to a Java window is actually quite easy. As you have seen, the AWT provides support for fonts, colors, text, and graphics. <P> Of course, you must effectively utilize these items if you are to achieve professional results.">
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  9. #9
    Quote Originariamente inviata da Alex'87 Visualizza il messaggio
    Il value di text mettilo tutto su una riga:
    <param name="text" value="Output to a Java window is actually quite easy. As you have seen, the AWT provides support for fonts, colors, text, and graphics. <P> Of course, you must effectively utilize these items if you are to achieve professional results.">
    Ho già provato, non funziona neanche così... A te non da questi errori?

    Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
    at java.util.StringTokenizer.<init>(StringTokenizer.j ava:199)
    at java.util.StringTokenizer.<init>(StringTokenizer.j ava:236)
    at Esempio.update(Esempio.java:59)
    at Esempio.paint(Esempio.java:41)
    at sun.awt.RepaintArea.paintComponent(RepaintArea.jav a:264)
    at sun.awt.X11.XRepaintArea.paintComponent(XRepaintAr ea.java:73)
    at sun.awt.RepaintArea.paint(RepaintArea.java:240)
    at sun.awt.X11.XComponentPeer.handleEvent(XComponentP eer.java:591)
    at java.awt.Component.dispatchEventImpl(Component.jav a:4937)
    at java.awt.Container.dispatchEventImpl(Container.jav a:2287)
    at java.awt.Component.dispatchEvent(Component.java:46 87)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.j ava:735)
    at java.awt.EventQueue.access$200(EventQueue.java:103 )
    at java.awt.EventQueue$3.run(EventQueue.java:694)
    at java.awt.EventQueue$3.run(EventQueue.java:692)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPri vilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPri vilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:708)
    at java.awt.EventQueue$4.run(EventQueue.java:706)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPri vilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java: 705)
    at java.awt.EventDispatchThread.pumpOneEventForFilter s(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(E ventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:91)
    Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
    at java.util.StringTokenizer.<init>(StringTokenizer.j ava:199)
    at java.util.StringTokenizer.<init>(StringTokenizer.j ava:236)
    at Esempio.update(Esempio.java:59)
    at sun.awt.RepaintArea.updateComponent(RepaintArea.ja va:255)
    at sun.awt.X11.XRepaintArea.updateComponent(XRepaintA rea.java:60)
    at sun.awt.RepaintArea.paint(RepaintArea.java:232)
    at sun.awt.X11.XComponentPeer.handleEvent(XComponentP eer.java:591)
    at java.awt.Component.dispatchEventImpl(Component.jav a:4937)
    at java.awt.Container.dispatchEventImpl(Container.jav a:2287)
    at java.awt.Component.dispatchEvent(Component.java:46 87)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.j ava:735)
    at java.awt.EventQueue.access$200(EventQueue.java:103 )
    at java.awt.EventQueue$3.run(EventQueue.java:694)
    at java.awt.EventQueue$3.run(EventQueue.java:692)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPri vilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPri vilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:708)
    at java.awt.EventQueue$4.run(EventQueue.java:706)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPri vilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java: 705)
    at java.awt.EventDispatchThread.pumpOneEventForFilter s(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(E ventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:91)
    Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
    at java.util.StringTokenizer.<init>(StringTokenizer.j ava:199)
    at java.util.StringTokenizer.<init>(StringTokenizer.j ava:236)
    at Esempio.update(Esempio.java:59)
    at sun.awt.RepaintArea.updateComponent(RepaintArea.ja va:255)
    at sun.awt.X11.XRepaintArea.updateComponent(XRepaintA rea.java:60)
    at sun.awt.RepaintArea.paint(RepaintArea.java:232)
    at sun.awt.X11.XComponentPeer.handleEvent(XComponentP eer.java:591)
    at java.awt.Component.dispatchEventImpl(Component.jav a:4937)
    at java.awt.Container.dispatchEventImpl(Container.jav a:2287)
    at java.awt.Component.dispatchEvent(Component.java:46 87)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.j ava:735)
    at java.awt.EventQueue.access$200(EventQueue.java:103 )
    at java.awt.EventQueue$3.run(EventQueue.java:694)
    at java.awt.EventQueue$3.run(EventQueue.java:692)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPri vilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPri vilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:708)
    at java.awt.EventQueue$4.run(EventQueue.java:706)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPri vilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java: 705)
    at java.awt.EventDispatchThread.pumpOneEventForFilter s(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(E ventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:91)
    Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
    at java.util.StringTokenizer.<init>(StringTokenizer.j ava:199)
    at java.util.StringTokenizer.<init>(StringTokenizer.j ava:236)
    at Esempio.update(Esempio.java:59)
    at sun.awt.RepaintArea.updateComponent(RepaintArea.ja va:255)
    at sun.awt.X11.XRepaintArea.updateComponent(XRepaintA rea.java:60)
    at sun.awt.RepaintArea.paint(RepaintArea.java:232)
    at sun.awt.X11.XComponentPeer.handleEvent(XComponentP eer.java:591)
    at java.awt.Component.dispatchEventImpl(Component.jav a:4937)
    at java.awt.Container.dispatchEventImpl(Container.jav a:2287)
    at java.awt.Component.dispatchEvent(Component.java:46 87)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.j ava:735)
    at java.awt.EventQueue.access$200(EventQueue.java:103 )
    at java.awt.EventQueue$3.run(EventQueue.java:694)
    at java.awt.EventQueue$3.run(EventQueue.java:692)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPri vilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPri vilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:708)
    at java.awt.EventQueue$4.run(EventQueue.java:706)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPri vilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java: 705)
    at java.awt.EventDispatchThread.pumpOneEventForFilter s(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(E ventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:91)
    Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
    at java.util.StringTokenizer.<init>(StringTokenizer.j ava:199)
    at java.util.StringTokenizer.<init>(StringTokenizer.j ava:236)
    at Esempio.update(Esempio.java:59)
    at sun.awt.RepaintArea.updateComponent(RepaintArea.ja va:255)
    at sun.awt.X11.XRepaintArea.updateComponent(XRepaintA rea.java:60)
    at sun.awt.RepaintArea.paint(RepaintArea.java:232)
    at sun.awt.X11.XComponentPeer.handleEvent(XComponentP eer.java:591)
    at java.awt.Component.dispatchEventImpl(Component.jav a:4937)
    at java.awt.Container.dispatchEventImpl(Container.jav a:2287)
    at java.awt.Component.dispatchEvent(Component.java:46 87)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.j ava:735)
    at java.awt.EventQueue.access$200(EventQueue.java:103 )
    at java.awt.EventQueue$3.run(EventQueue.java:694)
    at java.awt.EventQueue$3.run(EventQueue.java:692)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPri vilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPri vilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:708)
    at java.awt.EventQueue$4.run(EventQueue.java:706)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPri vilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java: 705)
    at java.awt.EventDispatchThread.pumpOneEventForFilter s(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(E ventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:91)
    Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
    at java.util.StringTokenizer.<init>(StringTokenizer.j ava:199)
    at java.util.StringTokenizer.<init>(StringTokenizer.j ava:236)
    at Esempio.update(Esempio.java:59)
    at sun.awt.RepaintArea.updateComponent(RepaintArea.ja va:255)
    at sun.awt.X11.XRepaintArea.updateComponent(XRepaintA rea.java:60)
    at sun.awt.RepaintArea.paint(RepaintArea.java:232)
    at sun.awt.X11.XComponentPeer.handleEvent(XComponentP eer.java:591)
    at java.awt.Component.dispatchEventImpl(Component.jav a:4937)
    at java.awt.Container.dispatchEventImpl(Container.jav a:2287)
    at java.awt.Component.dispatchEvent(Component.java:46 87)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.j ava:735)
    at java.awt.EventQueue.access$200(EventQueue.java:103 )
    at java.awt.EventQueue$3.run(EventQueue.java:694)
    at java.awt.EventQueue$3.run(EventQueue.java:692)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPri vilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPri vilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:708)
    at java.awt.EventQueue$4.run(EventQueue.java:706)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPri vilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java: 705)
    at java.awt.EventDispatchThread.pumpOneEventForFilter s(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(E ventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:91)

  10. #10
    Uffa ma nessuno riesce a trovare una soluzione al mio caso? Sono giorni che non leggo risposta... è una questione proprio banale per dei luminari come voi!!! ...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.