Oi gente boa,

Eu gostaria de saber se alguém já fez ou viu um JSlider utilizando doubles

qq ajuda será muito bem vinda,

obrigado
Jefferson


>From: "Carlos Mauricio de Rodrigues e Machado-MasterJedi" 
><[EMAIL PROTECTED]>
>Reply-To: [EMAIL PROTECTED]
>To: <[EMAIL PROTECTED]>
>Subject: Re: [java-list] Bug?
>Date: Thu, 18 Apr 2002 10:08:38 -0300
>
>Olá Eduardo tudo bom???
>Eu testei seu exemplo com a combinacao winxp prof com jdk 1.4 e funcionou 
>sem problemas nenhum...
>Abraços
>Carlos Maurício
>############################################################################################
>C.M Consultoria - Carlos Maurício de Rodrigues e Machado & Associados
>Serviços na área de Sistemas, Equipamentos, Redes e Projetos
>Fones: (19) 3875-3036 e (019) 9744-8576
>[EMAIL PROTECTED]
>[EMAIL PROTECTED]
>
>   ----- Original Message -----
>   From: Eduardo de Britto Castro
>   To: [EMAIL PROTECTED]
>   Sent: Tuesday, April 16, 2002 1:59 AM
>   Subject: [java-list] Bug?
>
>
>   Tenho um exemplo de impressão que funcionava na versão 1.3. Agora é 
>gerada uma excessão em tempo de execução e é gerado também um arquivo de 
>log contendo o seguinte (mais abaixo está o código):
>
>
>   An unexpected exception has been detected in native code outside the VM.
>   Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x6D081C73
>   Function=[Unknown.]
>   Library=(N/A)
>
>   NOTE: We are unable to locate the function name symbol for the error
>         just occurred. Please refer to release documentation for possible
>         reason and solutions.
>
>
>   Current Java thread:
>    at sun.awt.windows.WPrinterJob.setNativePrintService(Native Method)
>    at sun.awt.windows.WPrinterJob.setPrintService(WPrinterJob.java:384)
>    at 
>sun.print.RasterPrinterJob.getPrintService(RasterPrinterJob.java:353)
>    at sun.awt.windows.WPrinterJob.getPrintService(WPrinterJob.java:408)
>    at sun.print.PrintJob2D.findNamedPrintService(PrintJob2D.java:187)
>    at sun.print.PrintJob2D.copyAttributes(PrintJob2D.java:223)
>    at sun.print.PrintJob2D.printDialog(PrintJob2D.java:176)
>    at sun.awt.windows.WToolkit.getPrintJob(WToolkit.java:600)
>    at sun.awt.windows.WToolkit.getPrintJob(WToolkit.java:586)
>    at Main.actionPerformed(Main.java:70)
>    at java.awt.Button.processActionEvent(Button.java:381)
>    at java.awt.Button.processEvent(Button.java:350)
>    at java.awt.Component.dispatchEventImpl(Component.java:3526)
>    at java.awt.Component.dispatchEvent(Component.java:3367)
>    at java.awt.EventQueue.dispatchEvent(EventQueue.java:445)
>    at 
>java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:190)
>    at 
>java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:144)
>    at 
>java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
>    at 
>java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:130)
>    at java.awt.EventDispatchThread.run(EventDispatchThread.java:98)
>
>   Dynamic libraries:
>   0x7D230000 - 0x7D25D000  C:\WINDOWS\SYSTEM\DBGHELP.DLL
>
>   Local Time = Tue Apr 16 01:57:24 2002
>   Elapsed Time = 9
>   #
>   # The exception above was detected in native code outside the VM
>   #
>   # Java VM: Java HotSpot(TM) Client VM (1.4.0-b92 mixed mode)
>   #
>
>   O código é o seguinte:
>
>   import java.awt.*;
>   import java.awt.event.*;
>   import java.io.*;
>   import java.util.*;
>   import java.text.*;
>
>   class Main extends Frame implements ActionListener {
>       int curPointSize = 12;
>       String filename;
>       Vector lines = new Vector();
>
>       Button printBtn = new Button("Print...");
>       TextField pointSize = new TextField("" + curPointSize);
>       TextField pageNum = new TextField("1");
>       Preview preview;
>
>       Main(String filename) {
>           super("PrintJob Example");
>           // Remember the filename.
>           this.filename = filename;
>
>           // Read the file into lines.
>           try {
>               String line;
>               BufferedReader fis = new BufferedReader(
>                   new InputStreamReader(new FileInputStream(filename)));
>               while ((line = fis.readLine()) != null) {
>                   lines.addElement(line);
>               }
>               fis.close();
>           } catch (Exception e) {
>               e.printStackTrace();
>           }
>
>           // Listen for events.
>           pageNum.addActionListener(this);
>           pointSize.addActionListener(this);
>           printBtn.addActionListener(this);
>
>           // Layout and show components.
>
>           Panel p = new Panel(new FlowLayout());
>           p.add(new Label("Page:", Label.RIGHT));
>           p.add(pageNum);
>           p.add(new Label("Point Size:", Label.RIGHT));
>           p.add(pointSize);
>           p.add(printBtn);
>           add(p, BorderLayout.NORTH);
>
>           // Create and prepare the preview component.
>           preview = new Preview(filename, lines);
>           add(preview, BorderLayout.CENTER);
>           preview.setFont(new Font("Monospaced", Font.PLAIN, 
>curPointSize));
>
>           pack();
>           show();
>       }
>
>       public void actionPerformed(ActionEvent evt) {
>           if (evt.getSource() == pageNum) {
>               // Set the page.
>               preview.setPage(Integer.parseInt(pageNum.getText())-1);
>           } else if (evt.getSource() == pointSize) {
>               // Set the point size.
>               curPointSize = Integer.parseInt(pointSize.getText());
>               preview.setFont(new Font("Monospaced", Font.PLAIN, 
>curPointSize));
>           } else if (evt.getSource() == printBtn) {
>               // Print the file.
>               Properties props = new Properties();
>               PrintJob pj = getToolkit().getPrintJob(this, filename, 
>props);
>
>               if (pj != null) {
>                   // Print out any properties.
>                   for (Enumeration e = props.propertyNames() ;
>                           e.hasMoreElements() ;) {
>                       System.out.println(e.nextElement());
>                   }
>
>                   Graphics pjG = pj.getGraphics();
>                   int pages = preview.getPageCount(pjG);
>
>                   // Always print even number of pages.
>                   if (pages % 2 == 1) {
>                       pages++;
>                   }
>                   for (int i=0; i<pages; i += 2) {
>                       if (pjG == null) {
>                           pjG = pj.getGraphics();
>                       }
>                       if (pj.lastPageFirst()) {
>                           preview.print(pjG, pages-i-2);
>                       } else {
>                           preview.print(pjG, i);
>                       }
>                       pjG.dispose();
>                       pjG = null;
>                   }
>                   pj.end();
>               }
>           }
>       }
>
>       public static void main(String[] args) {
>           if (args.length == 1) {
>               new Main(args[0]);
>           } else {
>               System.err.println("Usage: java Main <text file>");
>           }
>       }
>   }
>
>   class Preview extends Component {
>       int page;
>       String filename;
>       Font headerFont = new Font("Serif", Font.BOLD, 14);
>       Font font;
>       Vector lines;
>
>       Preview(String filename, Vector lines) {
>           this.filename = filename;
>           this.lines = lines;
>       }
>
>       // Sets the font and repaints the display.
>       public void setFont(Font f) {
>           font = f;
>           repaint();
>       }
>
>       // p is 0-based.
>       void setPage(int p) {
>           page = p;
>           repaint();
>       }
>
>       // Returns the page count relative to the metrics in g.
>       int getPageCount(Graphics g) {
>           prepareLayoutValues(g);
>           return (brokenLines.size()-1) / linesPerPage + 1;
>       }
>
>       // Prints the page p and p+1.
>       // p is 0-based.
>       public void print(Graphics g, int p) {
>           page = p;
>           paint(g);
>       }
>
>       public void paint(Graphics g) {
>           prepareLayoutValues(g);
>
>           g.setFont(headerFont);
>           FontMetrics fm = g.getFontMetrics();
>
>           // Draw the filename.
>           g.drawString(filename, boxRect.x, 
>fm.getHeight()/2+fm.getAscent());
>
>           // Draw the date and page number.
>           g.drawString(
>               DateFormat.getDateTimeInstance().format(new Date()),
>               boxRect.x + pageRect.width, 
>fm.getHeight()/2+fm.getAscent());
>
>           for (int p=0; p<2; p++) {
>               if (page + p >= (brokenLines.size()-1) / linesPerPage + 1) {
>                   break;
>               }
>
>               // Draw page number.
>               String s = "" + (page + p + 1);
>               g.setFont(headerFont);
>               fm = g.getFontMetrics();
>               g.drawString(s,
>                   boxRect.x + p*pageRect.width + boxRect.width - 
>fm.stringWidth(s),
>                   fm.getHeight()/2+fm.getAscent());
>
>               g.drawRect(boxRect.x + p*pageRect.width,
>                   boxRect.y, boxRect.width-1, boxRect.height-1);
>
>
>               // Find the starting line on the current page.
>               int l = Math.min(brokenLines.size(), (page+p) * 
>linesPerPage);
>
>               g.setFont(font);
>               fm = g.getFontMetrics();
>               int x = listingRect.x + p*pageRect.width;
>               int y = listingRect.y + fm.getAscent();
>               for (int i=0; i<linesPerPage && l+i < brokenLines.size(); 
>i++) {
>                   s = (String)brokenLines.elementAt(l + i);
>
>                   if (s.length() > charsPerLine) {
>                       int charWidth = fm.charWidth('M');
>                       s = s.substring(0, charsPerLine);
>
>                       // Draw the continuation symbol.
>                       g.drawArc(
>                           listingRect.x+charsPerLine*charWidth + 
>p*pageRect.width,
>                           y-fm.getAscent()+fm.getHeight()/2,
>                           charWidth, fm.getHeight()/2,
>                           45, -180);
>                   }
>                   g.drawString(s, x, y);
>                   y += fm.getHeight();
>               }
>           }
>       }
>
>       // External margin in which the printer cannot print.
>       int pageMargin;
>
>       // Internal margin between boxes and text.
>       int margin = 10;
>       Insets margins = new Insets(10, 10, 10, 10);;
>
>       // Bounds which includes the header, box, and listing.
>       Rectangle pageRect;
>
>       // The bounds of the box.
>       Rectangle boxRect;
>
>       // The bounds of the listing.  This rectangle strictly contains
>       // the text and not the continuation character.
>       Rectangle listingRect;
>
>       // Number of characters per line.
>       int charsPerLine;
>
>       // Number of lines per page.
>       int linesPerPage;
>
>       // The lines after they have been broken so they fit within 
>charsPerLine.
>       Vector brokenLines;
>
>       // This method calculates and sets up all the fields above
>       // based on the metrics in g.
>       void prepareLayoutValues(Graphics g) {
>           Dimension pageSize;
>           int res;
>
>           if (g instanceof PrintGraphics) {
>               PrintJob pj = ((PrintGraphics)g).getPrintJob();
>               res = pj.getPageResolution();
>               pageSize = pj.getPageDimension();
>
>               // getPageDimension() does not return the correct result.
>               // The following is a workaround.
>               res = getToolkit().getScreenResolution();
>               pageSize = new Dimension((int)(8.5 * res), 11 * res);
>           } else {
>               res = getToolkit().getScreenResolution();
>               pageSize = new Dimension((int)(8.5 * res), 11 * res);
>           }
>           pageMargin = (int)(.75 * res);
>           pageSize = new Dimension(pageSize.height-pageMargin,
>               pageSize.width-pageMargin);
>
>           // Reserve space for the header.
>           FontMetrics fm = g.getFontMetrics(headerFont);
>
>           pageRect = new Rectangle(0, 0, pageSize.width/2, 
>pageSize.height);
>           boxRect = inset(pageRect, margin, 2*fm.getHeight(), margin, 0);
>           listingRect = inset(boxRect, margin, margin, margin, margin);
>
>           // Set up listing font.
>           fm = g.getFontMetrics(font);
>
>           int lpp = listingRect.height/fm.getHeight();
>           int cpp = listingRect.width/fm.charWidth('M');
>
>           // The metrics have changed so recompute the broken lines.
>           if (lpp != linesPerPage || cpp != charsPerLine) {
>               brokenLines = new Vector();
>               for (int i=0; i<lines.size(); i++) {
>                   String s = (String)lines.elementAt(i);
>
>                   while (s.length() > cpp) {
>                       brokenLines.addElement(s.substring(0, cpp)+"+");
>                       s = s.substring(cpp);
>                   }
>                   brokenLines.addElement(s);
>               }
>
>               linesPerPage = lpp;
>               charsPerLine = cpp;
>           }
>       }
>
>       Rectangle inset(Rectangle r, int left, int top, int right, int 
>bottom) {
>           Rectangle s = new Rectangle(r);
>           s.x += left;
>           s.y += top;
>           s.width -= left+right;
>           s.height -= top+bottom;
>           return s;
>       }
>   }
>
>
>
>


_________________________________________________________________
Converse com amigos on-line, conheça o MSN Messenger: 
http://messenger.msn.com


------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a