Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #23526

Re: 5th col dies, cols 6 thru 15 move 1 col left, 15th col is born

Path csiph.com!usenet.pasdenom.info!weretis.net!feeder1.news.weretis.net!news.swapon.de!eternal-september.org!feeder.eternal-september.org!mx05.eternal-september.org!.POSTED!not-for-mail
From Knute Johnson <nospam@knutejohnson.com>
Newsgroups comp.lang.java.programmer
Subject Re: 5th col dies, cols 6 thru 15 move 1 col left, 15th col is born
Date Sat, 20 Apr 2013 09:02:12 -0700
Organization A noiseless patient Spider
Lines 104
Message-ID <kkue0h$5j1$1@dont-email.me> (permalink)
References <300a4c2f-daba-4007-8551-3b1d0f263d27@googlegroups.com> <kkslq8$bf9$2@dont-email.me> <428f2f7d-32a7-4c66-8451-8ad7e04b87ec@googlegroups.com>
Mime-Version 1.0
Content-Type text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding 7bit
Injection-Date Sat, 20 Apr 2013 15:59:14 +0000 (UTC)
Injection-Info mx05.eternal-september.org; posting-host="aba33539224e5c782fe0c4053f7756fd"; logging-data="5729"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19981nKc1BrMS+6gosdZFvQ"
User-Agent Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/20130328 Thunderbird/17.0.5
In-Reply-To <428f2f7d-32a7-4c66-8451-8ad7e04b87ec@googlegroups.com>
Cancel-Lock sha1:NmF8prO54aqpnmegyT8tYjXINDA=
Xref csiph.com comp.lang.java.programmer:23526

Show key headers only | View raw


On 4/19/2013 10:29 PM, clusa@aol.com wrote:
>> On Friday, April 19, 2013 8:03:06 PM UTC-4, Knute Johnson wrote:
>> Are these data entry fields? Or just to be displayed? Probably just drawing the
>> data on a JComponent would be the easiest and quickest but would take a little
>> more effort to create. JLabels are nice too. -- Knute Johnson
>
> So, you suggest to use a JComponent with (300 x 15) JLabels.
>
> Why would using a JComponent be better than using a JFrame containing JPanels.
>
> With a JComponent, will I be able to easily change the color of the JLabels.
>
> I guess I should use a Layout also.
>
> I was planning to have the columns move left after N seconds.
>
> Are there any other details that I should worry about such as flicker.
>
> Thanks,
>

No, what I was suggesting was that you draw your data on the JComponent, 
or JPanel if you want, rather than use components as it will render much 
quicker and you can do a fade in/out or change colors when you move your 
data pretty easily.  It would be easier to scale as well.

import java.awt.*;
import java.awt.event.*;

public class test extends JComponent implements Runnable {
     private static final String text = "Now is the time for all good 
men to " +
      "come to the aid of their country.  The quick brown fox jumped 
over the " +
      "lazy red dog. Four score and seven years ago our fathers brought 
forth" +
      "on this continent a new nation conceived in liberty and dedicated 
to " +
      "the proposition that all men are created equal.";
     private final String[][] words = new String[6][6];
     private volatile int n;

     public test() {
         setPreferredSize(new Dimension(400,300));

         String[] array = text.split(" ");
         for (int i=0; i<6; i++)
             for (int j=0; j<6; j++)
                 words[i][j] = array[n++];
         n = 0;

         setFont(new Font("Monospaced",Font.PLAIN,10));
     }

     public void paintComponent(Graphics g) {
         g.setColor(Color.YELLOW);
         g.fillRect(0,0,getWidth(),getHeight());

         g.setColor(Color.BLUE);
         for (int cols=0; cols<6; cols++)
             for (int rows=0; rows<6; rows++)
                 g.drawString(words[cols][rows],10+60*cols,20+15*rows);
     }

     public void run() {
         while (true) {
             ++n;
             repaint();
             try {
                 Thread.sleep(5000);
             } catch (InterruptedException ie) {
                 ie.printStackTrace();
             }
             String[] temp = new String[6];
             for (int i=0; i<6; i++)
                 temp[i] = words[2][i];

             for (int i=2; i<5; i++)
                 for (int j=0; j<6; j++)
                     words[i][j] = words[i+1][j];

             for (int i=0; i<6; i++)
                 words[5][i] = temp[i];
         }
     }

     public static void main(String[] args) {
         EventQueue.invokeLater(new Runnable() {
             public void run() {
                 test t = new test();
                 JFrame f = new JFrame();
                 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                 f.add(t,BorderLayout.CENTER);
                 f.setSize(400,300);
                 f.setVisible(true);
                 new Thread(t).start();
             }
         });
     }
}

-- 

Knute Johnson

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

5th col dies, cols 6  thru 15 move 1 col left, 15th col is born clusardi2k@aol.com - 2013-04-19 16:54 -0700
  Re: 5th col dies, cols 6  thru 15 move 1 col left, 15th col is born Knute Johnson <nospam@knutejohnson.com> - 2013-04-19 17:03 -0700
    Re: 5th col dies, cols 6  thru 15 move 1 col left, 15th col is born "clusa@aol.com" <clusardi2k@aol.com> - 2013-04-19 17:29 -0700
    Re: 5th col dies, cols 6  thru 15 move 1 col left, 15th col is born "clusa@aol.com" <clusardi2k@aol.com> - 2013-04-19 22:29 -0700
      Re: 5th col dies, cols 6  thru 15 move 1 col left, 15th col is born Knute Johnson <nospam@knutejohnson.com> - 2013-04-20 09:02 -0700
  [OT] Re: 5th col dies, cols 6  thru 15 move 1 col left, 15th col is born Manuel Collado <m.collado@domain.invalid> - 2013-04-20 16:44 +0200
  Re: 5th col dies, cols 6  thru 15 move 1 col left, 15th col is born Eric Sosman <esosman@comcast-dot-net.invalid> - 2013-04-20 11:17 -0400
    Re: 5th col dies, cols 6  thru 15 move 1 col left, 15th col is born "clusa@aol.com" <clusardi2k@aol.com> - 2013-04-20 09:02 -0700
      Re: 5th col dies, cols 6  thru 15 move 1 col left, 15th col is born Eric Sosman <esosman@comcast-dot-net.invalid> - 2013-04-20 14:14 -0400

csiph-web