PE8 does not show MTS still frame as thumbnail in Organizer

I am importing some MTS footage into organizer but PE8 does not show the still frame as the thumbnail. All clips have a generic film tape Icon instead.  Why? The clips are properly available though.

Had the same problem. A pain.
I renamed the clip in the organizer window to something comprehendible (Birthday_cake.MTS!)
You could export it to some other format (MPEG2) that shows the thumbnail and then import it if you want a longer approach.

Similar Messages

  • I add components to contentPane, but JFrame still does not show them

    I converted a small game I was making from AWT to Swing.(The game is just MineSweeper.) I made all the necessary adjustments like, Button to JButton and add() to getContentPane().add(), but when I show the JFrame, it does not show any components that I added. I have run test programs to see if I am adding the components correctly and they work.
    I print out the number of components contained in the frame by using getComponentCount() and the number is correct. It just will not show up in the JFrame. I have tried everything I can think of, no matter how strange and it still will not show the components.
    I have attached all the code to the bottom of this message. Can someone please take a look and see what I am missing.
    Thanks.
    Here's the code. The main file is at the end and is the one causing the problems. All the rest is just support stuff and should not be relavent, but I included it in case I missed something there.
    //Timer is just a custom timer
    import java.util.Date;
    public class Timer {
         Date curr;
         public Timer() {
              curr=new Date();
         public void start() {
              curr=new Date();
         public int getSeconds() {
              return (int)(((new Date().getTime())-curr.getTime())/1000);
    //Cover subclasses JButton for initial look
    import java.awt.*;
    import javax.swing.*;
    public class Cover extends JButton {
         Dimension size;
         public Cover() {
              super("");
              size=new Dimension(20,20);
              setSize(size);
         public Cover(String l) {
              super("");
              size=new Dimension(20,20);
              setSize(size);
         public void setSize(Dimension s) {
              super.setSize(size);
         public Dimension getPreferredSize() {
              return size.getSize();
         public Dimension getMinimumSize() {
              return size.getSize();
         public Dimension getMaximumSize() {
              return size.getSize();
    //Flag subclasses JButton to flag a mine
    import java.awt.*;
    import javax.swing.*;
    public class Flag extends JButton {
         Dimension size;
         public Flag() {
              super("F");
              size=new Dimension(20,20);
         public Flag(String l) {
              super("F");
              size=new Dimension(20,20);
         public void setSize(Dimension s) {
              super.setSize(size);
         public Dimension getPreferredSize() {
              return size.getSize();
         public Dimension getMinimumSize() {
              return size.getSize();
         public Dimension getMaximumSize() {
              return size.getSize();
    //Reveal subclasses JPanel to show what's underneath
    import java.awt.*;
    import javax.swing.*;
    public class Reveal extends JPanel {
         Dimension size;
         int number;
         Color color[];
         public Reveal(int n) {
              super();
              size=new Dimension(20,20);
              number=n;
              color=new Color[10];
              color[0]=Color.black;
              color[1]=Color.orange;
              color[2]=Color.cyan;
              color[3]=Color.yellow;
              color[4]=Color.green;
              color[5]=Color.magenta;
              color[6]=Color.blue;
              color[7]=Color.pink;
              color[8]=Color.darkGray;
              color[9]=Color.red;
              //for(int x=0;x<10;x++) {
              //     System.out.println(x+"="+color[x]);
              setBackground(Color.black);
         public void paintComponent(Graphics g) {
              int width=getWidth();
              int height=getHeight();
              FontMetrics fm=g.getFontMetrics();
              int fw=0;
              int fh=fm.getAscent();
              g.setColor(color[number]);
              if(number==9) {
                   fw=fm.stringWidth("M");
                   g.drawString("M",width/2-(fw/2),height/2+(fh/2));
              else if(number!=0) {
                   fw=fm.stringWidth(""+number);
                   g.drawString(""+number,width/2-(fw/2),height/2+(fh/2));
              g.setColor(Color.white);
              g.drawRect(1,1,width-2,height-2);
              //System.out.println("number="+number);
         public void setNumber(int n) {
              number=n;
         public int getNumber() {
              return number;
         public Dimension getPreferredSize() {
              return size.getSize();
         public Dimension getMinimumSize() {
              return size.getSize();
         public Dimension getMaximumSize() {
              return size.getSize();
    //MineSweeper just launches the program and subclasses JFrame
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class MineSweeper extends JFrame implements ComponentListener {
         public MineSweeper(String s) {
              super(s);
              addComponentListener(this);
         public void quit() {
              System.exit(0);
         public void componentHidden(ComponentEvent e){}
         public void componentMoved(ComponentEvent e){}
         public void componentResized(ComponentEvent e){
              System.out.println("resized");
              MineSweeper temp=(MineSweeper)e.getSource();
              System.out.println("count="+temp.getContentPane().getComponentCount());
         public void componentShown(ComponentEvent e){}
         public static void main(String args[]) {
              MineSweeper t=new MineSweeper("Inside Moves");
              t.addWindowListener(new WindowAdapter() {
                   public void windowClosing(WindowEvent e) {
                        System.exit(0);
              GameManager manager=new GameManager(t);
    //GameManager is the main program. This is where the JFrame is realized
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import javax.swing.*;
    public class GameManager implements MouseListener, ActionListener, Runnable {
         JPanel display;
         JPanel gameInfo;
         MineSweeper screen;
         JButton reset;
         JTextField tMine,time;
         Container pane;
         int clickX,clickY;
         int minesLeft;
         int gridX[],gridY[],mine[];
         static final int MAX_X=30;
         static final int MAX_Y=24;
         static final int MAX_MINE=667;
         JComponent grid[][];
         int board[][];
         int number[][];
         final static int OB=64;
         final static int BLANK=0;
         final static int MINE=1;
         final static int REVEAL=128;
         int level;
         final static int EASY=0;
         final static int MEDIUM=1;
         final static int HARD=2;
         final static int CUSTOM=3;
         int state;
         final static int START=1;
         final static int PLAYING=2;
         final static int DONE=3;
         Timer timer;
         int timeDisp;
         public GameManager(MineSweeper s) {
              screen=s;
              pane=screen.getContentPane();
              pane.setLayout(new BorderLayout());
              display=new JPanel();
              gameInfo=new JPanel(new GridLayout(1,3));
              reset=new JButton("Reset");
              tMine=new JTextField(20);
              time=new JTextField("0",20);
              grid=new JComponent[MAX_X+2][MAX_Y+2];
              board=new int[MAX_X+2][MAX_Y+2];
              number=new int[MAX_X+2][MAX_Y+2];
              gridX=new int[4];
              gridY=new int[4];
              mine=new int[4];
              level=EASY;
              gridX[0]=8;
              gridY[0]=8;
              mine[0]=10;
              gridX[1]=16;
              gridY[1]=16;
              mine[1]=40;
              gridX[2]=30;
              gridY[2]=16;
              mine[2]=99;
              gridX[3]=0;
              gridY[3]=0;
              mine[3]=0;
              minesLeft=mine[level];
              tMine.setText(""+minesLeft);
              state=START;
              timer=new Timer();
              reset.addActionListener(this);
              setup();
              Thread t=new Thread(this);
              t.start();
              /*System.out.println("count="+pane.getComponentCount());
              Component cc[]=pane.getComponents();
              for(int i=0;i<cc.length;i++) {
                   System.out.println("cc="+cc);
         public void setup() {
              boolean done;
              for(int x=0;x<=gridX[level]+1;x++) {
                   for(int y=0;y<=gridY[level]+1;y++) {
                        if(x==0 || x==gridX[level]+1 || y==0 || y==gridY[level]+1) {
                             board[x][y]=OB;
                             number[x][y]=-1;
                        else {
                             board[x][y]=BLANK;
              for(int i=0;i<mine[level];i++) {
                   done=false;
                   while(!done) {
                        int x=(int)((Math.random()*gridX[level])+1.0);
                        int y=(int)((Math.random()*gridY[level])+1.0);
                        if(board[x][y]==BLANK) {
                             board[x][y]=MINE;
                             done=true;
                             //System.out.println("Mine x="+x+" y="+y);
              for(int y=1;y<=gridY[level];y++) {
                   System.out.print("\n");
                   for(int x=1;x<=gridX[level];x++) {
                        number[x][y]=0;
                        if(board[x][y]==MINE) {
                             number[x][y]=9;
                             System.out.print(""+number[x][y]);
                             continue;
                        else {
                             //System.out.println("For board pos x="+x+" y="+y);
                             for(int i=-1;i<=1;i++) {
                                  for(int j=-1;j<=1;j++) {
                                       //System.out.print(""+board[x+i][y+j]);
                                       if(board[x+i][y+j]!=OB && board[x][y]==BLANK) {
                                            number[x][y]+=board[x+i][y+j];
                                  //System.out.print("\n");
                             System.out.print(""+number[x][y]);
              System.out.print("\n");
              screen.setVisible(false);
              display.removeAll();
              pane.removeAll();
              display.setLayout(new GridLayout(gridY[level],gridX[level]));
              for(int y=1;y<=gridY[level];y++) {
                   for(int x=1;x<=gridX[level];x++) {
                        Cover temp=new Cover();
                        //System.out.println("new button="+temp);
                        grid[x][y]=temp;
                        //System.out.println("display="+display.add(temp));
                        //display.add(temp);
                        temp.addMouseListener(this);
              //System.out.println("count="+display.getComponentCount());
              screen.setSize(gridX[level]*20,gridY[level]*20+30);
              pane.add(gameInfo,BorderLayout.NORTH);
              pane.add(display,BorderLayout.CENTER);
              minesLeft=mine[level];
              timeDisp=0;
              tMine.setText(""+minesLeft);
              time.setText(""+timeDisp);
              state=START;
              //System.out.println("gameInfo="+gameInfo);
              //System.out.println("display="+display);
              //screen.pack();
              screen.setVisible(true);
         void revealAround(int x,int y) {
              int index;
              Reveal tempRev=new Reveal(number[x][y]);
              grid[x][y]=tempRev;
              board[x][y]=(board[x][y]|REVEAL);
              index=(x-1)+((y-1)*gridX[level]);
              display.remove(index);
              display.add(tempRev,index);
              if(number[x][y]==0) {
                   for(int i=-1;i<=1;i++) {
                        for(int j=-1;j<=1;j++) {
                             if(!(i==0 && j==0)) {
                                  if((board[x+i][y+j]&REVEAL)!=REVEAL && board[x+i][y+j]!=OB) {
                                       revealAround(x+i,y+j);
         void startTimer() {
              timer.start();
         public void run() {
              while(true) {
                   if(state==PLAYING) {
                        if(timer.getSeconds()>timeDisp) {
                             timeDisp=timer.getSeconds();
                             time.setText(""+timeDisp);
                   else {
                        try {
                             Thread.sleep(1000);
                        catch (InterruptedException e) {
         public void actionPerformed(ActionEvent e) {
              if(e.getActionCommand().equals("Reset")) {
                   setup();
         public void mouseClicked(MouseEvent e) {
              if(state==START) {
                   startTimer();
                   state=PLAYING;
              if(state==PLAYING) {
                   Component tempComp=(Component)e.getSource();
                   boolean found=false;
                   int index=0;
                   int buttonPressed=e.getModifiers();
                   for(int x=1;x<=gridX[level];x++) {
                        if(found) {
                             break;
                        for(int y=1;y<=gridY[level];y++) {
                             if(tempComp==grid[x][y]) {
                                  clickX=x;
                                  clickY=y;
                                  found=true;
                                  break;
                   index=(clickX-1)+((clickY-1)*gridX[level]);
                   if(buttonPressed==InputEvent.BUTTON1_MASK && !(grid[clickX][clickY] instanceof Flag)) {
                        Reveal tempRev=new Reveal(number[clickX][clickY]);
                        grid[clickX][clickY]=tempRev;
                        board[clickX][clickY]=board[clickX][clickY]|REVEAL;
                        display.remove(index);
                        display.add(tempRev,index);
                   else if(buttonPressed==InputEvent.BUTTON3_MASK) {
                        if(display.getComponent(index) instanceof Cover) {
                             Flag tempFlag=new Flag();
                             grid[clickX][clickY]=tempFlag;
                             display.remove(index);
                             display.add(tempFlag,index);
                             tempFlag.addMouseListener(this);
                             minesLeft--;
                        else if(display.getComponent(index) instanceof Flag) {
                             Cover tempCov=new Cover();
                             grid[clickX][clickY]=tempCov;
                             display.remove(index);
                             display.add(tempCov,index);
                             tempCov.addMouseListener(this);
                             minesLeft++;
                        tMine.setText(""+minesLeft);
                   if(number[clickX][clickY]==0) {
                        revealAround(clickX,clickY);
                   screen.setVisible(true);
         public void mousePressed(MouseEvent e) {}
         public void mouseReleased(MouseEvent e) {}
         public void mouseEntered(MouseEvent e) {}
         public void mouseExited(MouseEvent e) {}

    setBounds() is only used for absolute positioning. I
    am using layout managers, so it should no be used.
    Thanks for you reply.Oh I get I did not look at your source code enought... can you post only the part that is bugy!?!?!
    JRG

  • HT1338 I am still with 10.5.8 and my macbook does not show any software updates, i am willing to pay for a new software if it is needed, because i can't connect mi iPhone 5S or iPad mini to iTunes. PLEASE HELP!!!!!

    How do i update 10.5.8 if my macbook does not show any software updates?

    Upgrading to Snow Leopard
    You can purchase Snow Leopard through the Apple Store: Mac OS X 10.6 Snow Leopard - Apple Store (U.S.). The price is $19.99 plus tax. You will be sent physical media by mail after placing your order.
    After you install Snow Leopard you will have to download and install the Mac OS X 10.6.8 Update Combo v1.1 to update Snow Leopard to 10.6.8 and give you access to the App Store. Access to the App Store enables you to download Mountain Lion if your computer meets the requirements.
         Snow Leopard General Requirements
           1. Mac computer with an Intel processor
           2. 1GB of memory
           3. 5GB of available disk space
           4. DVD drive for installation
           5. Some features require a compatible Internet service provider;
               fees may apply.
           6. Some features require Apple’s iCloud services; fees and
               terms apply.
    Upgrading from Snow Leopard to Lion or Mountain Lion to Mavericks
    To upgrade to Mavericks you must have Snow Leopard 10.6.8, Lion, or Mountain Lion installed. Purchase and download Mavericks (Free) from the App Store. Sign in using your Apple ID. The file is quite large, over 5 GBs, so allow some time to download. It would be preferable to use Ethernet because it is nearly four times faster than wireless.
         OS X Mavericks- System Requirements
           Macs that can be upgraded to OS X Mavericks
             1. iMac (Mid 2007 or newer) — Model Identifier 7,1 or later
             2. MacBook (Late 2008 Aluminum, or Early 2009 or newer) —
                 Model Identifier 5,1 or later
             3. MacBook Pro (Mid/Late 2007 or newer) — Model Identifier 3,1 or later
             4. MacBook Air (Late 2008 or newer) — Model Identifier 2,1 or later
             5. Mac mini (Early 2009 or newer) — Model Identifier 3,1 or later
             6. Mac Pro (Early 2008 or newer) — Model Identifier 3,1 or later
             7. Xserve (Early 2009) — Model Identifier 3,1 or later
    To find the model identifier open System Profiler in the Utilities folder. It's displayed in the panel on the right.
    Are my applications compatible?
             See App Compatibility Table — RoaringApps.
    Upgrading to Lion
    If your computer does not meet the requirements to install Mavericks, it may still meet the requirements to install Lion.
    You can purchase Lion by contacting Customer Service: Contacting Apple for support and service - this includes international calling numbers. The cost is $19.99 (as it was before) plus tax.  It's a download. You will get an email containing a redemption code that you then use at the Mac App Store to download Lion. Save a copy of that installer to your Downloads folder because the installer deletes itself at the end of the installation.
         Lion System Requirements
           1. Mac computer with an Intel Core 2 Duo, Core i3, Core i5, Core i7,
               or Xeon processor
           2. 2GB of memory
           3. OS X v10.6.6 or later (v10.6.8 recommended)
           4. 7GB of available space
           5. Some features require an Apple ID; terms apply.

  • I transferred itunes library from old PC to new PC. The content all shows when I launch iTunes on the new PC now. The previous content does not show in iTunes but folder still looks like it is on hard drive on new PC. Suggestions on how to properly merge?

    I transferred itunes library from old PC to new PC. The content all shows when I launch iTunes on the new PC now. The previous content does not show in iTunes but folder still looks like it is on hard drive on new PC. Suggestions on how to properly merge?

    Before you connect any device to a new library go to the Devices tab of the the preferences panel via Edit > Preferences (Windows) or iTunes > Preferences (Mac) and ensure the box next to Prevent iPods, iPhones, and iPads from syncing automatically is ticked. You can now safely connect the device to your computer without the danger of media being automatically deleted or overwritten.
    To get all your content off your connect your iPad to your new computer.
    Then use a 3rd party piece of software to transfer your content
    I have found Senuti useful but there are others listed in the article I linked to in a previous post.
    https://discussions.apple.com/docs/DOC-3991
    That will let you transfer your non purchased content
    For Purchased content log in to iTunes on the new computer
    In Itunes Store click on Purchased under the Quick Links section on the right.
    Download any music by clicking on the cloud button

  • Bridge does not shows file info, just thumbnails, what's going on? already adjusted in preferences, but still only thumbnails and not the info of the file

    Bridge 8.5 does not shows file info, already adjusted in preferences but still just showing thumbnails only.
    Can anyone please help?
    Thanks

    The single download means that you won't be able to redownload it from the store without paying, either on a computer's iTunes or an iOS device - it doesn't stop you from copying the audiobook to your other computers or syncing it to your iOS devices, you just can't redownload it. (I believe that they are all supplied to Apple by audible.com, so I assume that it's them requiring the one-time download.)
    You can download audiobooks on your computer's iTunes and sync them to iOS devices, you do not have to buy them directly on the device (if you do then you can copy them back to your computer's iTunes library by connecting the device and using the File > Devices > Transfer Purchases menu option on your computer's iTunes).
    What you are doing to sync them should work i.e.
    - connecting the iPad to your Mac
    - selecting the iPad on your Mac's iTunes
    - selecting its Books tab and selecting the audiobooks that you want to sync to the iPad and syncing/applying that selection.
    You should then get an audiobooks option in the Music app on your iPad. If they aren't appearing there  then do they show in Settings > General > Usage > Music on the device - if you have audiobooks on the iPad then they should be listed there under an 'audiobooks' heading.
    By 'restart the iPad' do you mean a soft-reset : press and hold both the sleep and home buttons for about 10 to 15 seconds (ignore the red slider), after which the Apple logo should appear - you won't lose any content, it's the iPad equivalent of a reboot.
    You could also try closing its Music app via the iPad's taskbar : Force an app to close in iOS.
    And do a soft-reset and retry syncing.
    I assume that music and other items sync ok ?

  • Apple map still does not show traffic

    Apple map still does not show traffic

    Hi there,
    I have the same issues with my 4S, can anybody help? :(
    The maps just turned a beidge color and slightly green when it set into standard mode, but it's just fine with hybrid &amp; satellite modes.
    Oh, the photo maps also appears as the maps on standard mode.

  • I cannot unlock my phone. When I hit the number the key is highlighted but the "dot" does not show in the passcode box. Have shut it off and restarted nothing. Held on/off and "square" key to reset but still nothing. Any ideas on how to resolve this issue

    I cannot unlock my phone. When I hit the number the key is highlighted but the "dot" does not show in the passcode box. Have shut it off and restarted nothing. Held on/off and "square" key to reset but still nothing. Any ideas on how to resolve this issue

    Connect to iTunes and try to reset it from there.

  • How do I get the none button to pop up so u don't have to have a credit card for apps? I owe nothing for apps from Apple, NOTHING!? And it still does not show the option "none". If it helps the card I have is a debit.

    How do I get the none button to pop up so u don't have to have a credit card for apps? I owe nothing for apps from Apple, NOTHING!? And it still does not show the option "none". If it helps the card I have is a debit.

    I'm happy you figured it out and just try to keep in mind that not everyone you talk to at support will give the same advice or have the same knowledge. Just like those who contribute to these forums. Sometimes Google is your best friend.
    I agree that Apple could probably make it easier, but as of yet prefer security over freedom. (sound famaliar?)
    Anyway, if you choose to do so, you can leave feedback here:
    Apple.com Feedback
    Apple Support Feedback
    Developer Feedback
    Product Feedback
    QuickTime Feedback
    Search Feedback

  • Firefox is still running but does not show up in "task master" so it can be closed down and re-started?

    1. Sometimes Firefox displays a message "Firefox is still running" but there is no evidence that this is true.
    2. But, Firefox does not show up in "control-alternate-delete" to bring up Task Master in Windows 7.
    3. There does not seem to be any means to stop Firefox and to re-start Firefox without a complete Re-start of the PC.
    4. The mouse still works and the PC responds but there is no response from Firefox except the message "Firefox is still running..... etc.
    5. How to stop Firefox, shutdown Firefox without a complete reboot/restart?

    Way too complicated to solve the problem of "firefox is already running ....etc." and there must be a more simple solution to this problem which occurs once in awhile.
    It seems to me that Mozilla developers can find a better solution and one that allows control-alternate-delete to fix the problem.
    Otherwise, it is just resort to the old reboot solution.

  • I had to reload ice age village and now my progress does not show up even though it is still in game center

    I had to reload ice age village and now my progress does not show up even though it is still in game center

    Your settings are not saved. try with new profile.
    Create a new profile as a test to check if your current profile is causing the problems. <br>
    See '''Creating a profile''':
    *https://support.mozilla.org/kb/profile-manager-create-and-remove-firefox-profiles
    *http://kb.mozillazine.org/Standard_diagnostic_-_Firefox#Profile_issues
    If the new profile works then you can transfer files from a previously used profile to the new profile, but be cautious not to copy corrupted files to avoid carrying over the problem <br>
    '''Profile Backup and Restore'''
    *http://kb.mozillazine.org/Profile_backup
    *https://support.mozilla.org/en-US/kb/back-and-restore-information-firefox-profiles
    *http://kb.mozillazine.org/Transferring_data_to_a_new_profile_-_Firefox

  • I want to upload a Banner to my iTunes U page. The banner file has all the requirements like as, kind, size, frame, and etc. Infortunately,  I could not upload the file. It does not show in Provider Page Configuration or the preview.   Someone could help

    I want to upload a Banner to my iTunes U page.
    The banner file has all the requirements like as, kind, size, frame, and etc.
    Infortunately,  I could not upload the file. It does not show in Provider Page Configuration or the preview.
    Someone could help me?

    Sounds like a driver issue. I never tested in bridge, so I could be wrong. But it sounds to me that when you are connected to that screen, your settings are not set to the full resolution of that screen.

  • TS1538 My ipod touch will not connect to itunes. I reset the ipod touch. uninstalled itunes and installed it. Turned off firewall however the device manager still does not show Apple mobile device usb. What should i do next? I have windows 7.

    My ipod will not connect to itunes. I reset the ipod touch. uninstalled itunes and installed it. Turned off firewall however the device manager still does not show Apple mobile device usb. What should i do next? I have windows 7.

    See:
    iOS: Device not recognized in iTunes for Windows
    I would start with
    Removing and reinstalling iTunes, QuickTime, and other software components for Windows Vista or Windows 7

  • There ' is a panel that sayscopy' preparing to duplicate to "desktop". I clicked stop three days and it still trying to stop. Tried to 'force quit' does not show up, looked in activity monitor but i am not sure how it is listed. I am new to the mac world.

    there is panel in the upper right corner of my screen that says 'copy' preparing to duplicate to "desktop". I clicked stop three days ago and it is still trying to stop. Tried to 'force quit' does not show up in finder, looked in activity monitor but i am not sure how it is listed. I am new to the mac world.

    Force quit/Restart the Finder.
    Then for safety...
    Bootup holding CMD+r, or the Option/alt key to boot from the Restore partition & use Disk Utility from there to Repair the Disk, then Repair Permissions.

  • JTable Problem (table does not show rows and columns)

    Hi All,
    What the table is suppose to do.
    - Load information from a database
    - put all the values in the first column
    - in the second column put combobox (cell editor with numbers 1-12)
    - the 3rd column put another combobox for something else
    - the 4th column uses checkbox as an edit
    The number of rows of the table should be equal to the number of
    record from
    the database. If not given it default to 20 (poor but ok for this)
    The number of columns is 4.
    But the table does not show any rows or
    column when I put it inside a
    JScrollPane (Otherwise it works).
    Please help,
    thanks in advance.
    public class SubjectTable extends JTable {
    * Comment for <code>serialVersionUID</code>
    private static final long serialVersionUID = 1L;
    /** combo for the list of classes */
    protected JComboBox classCombo;
    /** combo for the list of subjects */
    protected JComboBox subjectsCombo;
    /** combo for the list of grade */
    protected JComboBox gradeCombo;
    boolean canResize = false;
    boolean canReorder = false;
    boolean canSelectRow = false;
    boolean canSelectCell = true;
    boolean canSelectColumn = true;
    // the row height of the table
    int rowHeight = 22;
    // the height of the table
    int height = 200;
    // the width of the table
    int width = 300;
    // the size of the table
    Dimension size;
    * Parameterless constructor. Class the one of the other constructors
    to
    * create a table with the a new <code>SubjectTableModel</code>.
    public SubjectTable() {
    this(new SubjectTableModel());
    * Copy constructor to create the table with the given
    * <code>SubjectTableModel</code>
    * @param tableModel -
    * the <code>SubjectTableModel</code> with which to
    initialise
    * the table.
    SubjectTable(SubjectTableModel tableModel) {
    setModel(tableModel);
    setupTable();
    * Function to setup the table's functionality
    private void setupTable() {
    clear();
    // set the row hieght
    this.setRowHeight(this.rowHeight);
    // set the font size to 12
    //TODO this.setFont(Settings.getDefaultFont());
    // disble reordering of columns
    this.getTableHeader().setReorderingAllowed(this.canReorder);
    // disble resing of columns
    this.getTableHeader().setResizingAllowed(this.canResize);
    // enable the horizontal scrollbar
    this.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    // disable row selection
    setRowSelectionAllowed(this.canSelectRow);
    // disable column selection
    setColumnSelectionAllowed(this.canSelectColumn);
    // enable cell selection
    setCellSelectionEnabled(this.canSelectCell);
    setPreferredScrollableViewportSize(getSize());
    TableColumn columns = null;
    int cols = getColumnCount();
    for (int col = 0; col < cols; col++) {
    columns = getColumnModel().getColumn(col);
    switch (col) {
    case 0:// subject name column
    columns.setPreferredWidth(130);
    break;
    case 1:// grade column
    columns.setPreferredWidth(60);
    break;
    case 2:// class room column
    columns.setPreferredWidth(120);
    break;
    case 3:// select column
    columns.setPreferredWidth(65);
    break;
    } // end switch
    }// end for
    // set up the cell editors
    doGradeColumn();
    doClassColumn();
    //doSubjectColumn();
    * Function to clear the table selection. This selection is different
    to
    * <code>javax.swing.JTable#clearSelection()</code>. It clears the
    user
    * input
    public void clear() {
    for (int row = 0; row < getRowCount(); row++) {
    for (int col = 0; col < getColumnCount(); col++) {
    if (getColumnName(getColumnCount() - 1).equals("Select")) {
    setValueAt(new Boolean(false), row, getColumnCount() - 1);
    }// if
    }// for col
    }// for row
    * Function to set the cell renderer for the subjects column. It uses
    a
    * combobox as a cell editor in the teacher's subjects table.
    public void doSubjectColumn() {
    TableColumn nameColumn = getColumnModel().getColumn(0);
    nameColumn.setCellEditor(new DefaultCellEditor(getSubjectsCombo()));
    // set up the celll renderer
    DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
    renderer.setToolTipText("Click for drop down list");
    nameColumn.setCellRenderer(renderer);
    // Set up tool tip for the sport column header.
    TableCellRenderer headerRenderer = nameColumn.getHeaderRenderer();
    if (headerRenderer instanceof DefaultTableCellRenderer) {
    ((DefaultTableCellRenderer) headerRenderer)
    .setToolTipText("Click the Name to see a list of choices");
    }// end doSubjectsColumn----------------------------------------------
    /** Function to set up the grade combo box. */
    public void doGradeColumn() {
    TableColumn gradeColumn = getColumnModel().getColumn(1);
    gradeColumn.setCellEditor(new DefaultCellEditor(getGradeCombo()));
    DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
    renderer.setToolTipText("Click for drop down list");
    gradeColumn.setCellRenderer(renderer);
    // Set up tool tip for the sport column header.
    TableCellRenderer headerRenderer = gradeColumn.getHeaderRenderer();
    if (headerRenderer instanceof DefaultTableCellRenderer) {
    ((DefaultTableCellRenderer) headerRenderer)
    .setToolTipText("Click the Grade to see a list of choices");
    }// end doGradeColumn-------------------------------------------------
    * Function to setup the Class room Column of the subjects
    public void doClassColumn() {
    // set the column for the classroom
    TableColumn classColumn = getColumnModel().getColumn(2);
    classColumn.setCellEditor(new DefaultCellEditor(getClassCombo()));
    DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
    renderer.setToolTipText("Click for drop down list");
    classColumn.setCellRenderer(renderer);
    // Set up tool tip for the sport column header.
    TableCellRenderer headerRenderer = classColumn.getHeaderRenderer();
    if (headerRenderer instanceof DefaultTableCellRenderer) {
    ((DefaultTableCellRenderer) headerRenderer)
    .setToolTipText("Click the Class to see a list of choices");
    }// end doClassColumn--------------------------------------------------
    * Function to get the size of the table
    * @return Returns the size.
    public Dimension getSize() {
    if (this.size == null) {
    this.size = new Dimension(this.height, this.width);
    return this.size;
    * Function to set the size of the table
    * @param dim
    * The size to set.
    public void setSize(Dimension dim) {
    if (dim != null) {
    this.size = dim;
    return;
    * Function to create/setup the class room comboBox. If the comboBox
    is
    * <code>null</code> a nwew one is created else the functon returns
    the
    * function that was returned initially.
    * @return Returns the classCombo.
    private JComboBox getClassCombo() {
    if (this.classCombo == null) {
    this.classCombo = new JComboBox();
    // fill up the class name combo
    ArrayList classRooms = new ArrayList();
    try {
    //TODO classRooms = Settings.getDatabase().getClassRooms();
    for (int i = 0; i < 10; i++) {
    String string = new String("Class");
    string += i;
    if (!classRooms.isEmpty()) {
    classRooms.trimToSize();
    for (int i = 0; i < classRooms.size(); i++) {
    this.classCombo.addItem(classRooms.get(i));
    } catch (Exception e) {
    e.printStackTrace();
    return this.classCombo;
    * Function to create/setup the subjects comboBox. If the comboBox is
    * <code>null</code> a nwew one is created else the functon returns
    the
    * function that was returned initially.
    * @return Returns the subjectsCombo.
    private JComboBox getSubjectsCombo() {
    if (this.subjectsCombo == null) {
    this.subjectsCombo = new JComboBox();
    try {
    ArrayList subjects = loadSubjectsFromDatabase();
    if (!subjects.isEmpty()) {
    Iterator iterator = subjects.iterator();
    while (iterator.hasNext()) {
    // create a new subject instance
    //TODO Subject subct = new Subject();
    // typecast to subject
    //TODO subct = (Subject) iterator.next();
    String name = (String) iterator.next();
    // add this subject to the comboBox
    //TODO this.subjectsCombo.addItem(subct.getName());
    subjectsCombo.addItem(name);
    }// end while
    }// end if
    else {
    JOptionPane.showMessageDialog(SubjectTable.this,
    "Subjects List Could Not Be Filled");
    System.out.println("Subjects List Could Not Be Filled");
    } catch (Exception e) {
    e.printStackTrace();
    return this.subjectsCombo;
    * Function to load subjects from the <code>Database</code>
    * @return Returns the subjects.
    private ArrayList loadSubjectsFromDatabase() {
    // list of all the subject that the school does
    ArrayList subjects = new ArrayList();
    try {
    //TODO to be removed later on
    for (int i = 0; i < 10; i++) {
    String string = new String("Subject");
    string += i;
    subjects.add(i, string);
    // set the school subjects
    //TODO subjects = Settings.getDatabase().loadAllSubjects();
    } catch (Exception e1) {
    e1.printStackTrace();
    return subjects;
    * Function to create/setup the grade comboBox. If the comboBox is
    * <code>null</code> a nwew one is created else the functon returns
    the
    * function that was returned initially.
    * @return Returns the gradeCombo.
    private JComboBox getGradeCombo() {
    if (this.gradeCombo == null) {
    this.gradeCombo = new JComboBox();
    // fill with grade 1 to 12
    for (int i = 12; i > 0; i--) {
    this.gradeCombo.addItem(new Integer(i).toString());
    return this.gradeCombo;
    public static void main(String[] args) {
    try {
    UIManager.setLookAndFeel(new Plastic3DLookAndFeel());
    System.out.println("Look and Feel has been set");
    } catch (UnsupportedLookAndFeelException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    SubjectTableModel model = new SubjectTableModel();
    int cols = model.getColumnCount();
    int rows = model.getRowCount();
    Object[][] subjects = new Object[rows][cols];
    for (int row = 0; row < rows; row++) {
    subjects[row][0] = new String("Subjectv ") + row;
    }//for
    model.setSubjectsList(subjects);
    SubjectTable ttest = new SubjectTable(model);
    JFrame frame = new JFrame("::Table Example");
    JScrollPane scrollPane = new JScrollPane();
    scrollPane.setViewportView(ttest);
    frame.getContentPane().add(scrollPane);
    frame.pack();
    frame.setVisible(true);
    **************************************END
    TABLE******************************
    ----------------------------THE TABLE
    MODEL----------------------------------
    * Created on 2005/03/21
    * SubjectTableModel
    package com.school.academic.ui;
    import javax.swing.table.AbstractTableModel;
    * Class extending the <code>AbstractTableModel</code> for use in
    creating the
    * <code>Subject</code>s table. In addition to the implemented methods
    of
    * <code>AbstractTableModel</code> The class creates a model that has
    initial
    * values - the values have their own <code>getter</code> and
    * <code>setter</code> methods - but can still be used for values that
    a user
    * chooses.
    * <p>
    * @author Khusta
    public class SubjectTableModel extends AbstractTableModel {
    * Comment for <code>serialVersionUID</code>
    private static final long serialVersionUID = 3257850978324461113L;
    /** Column names for the subjects table */
    String[] columnNames = { "Subject", "Grade", "Class Room",
    "Select" };
    /** Array of objects for the subjects table */
    Object[][] subjectsList;
    private int totalRows = 20;
    protected int notEditable = 0;
    * Parameterless constructor.
    public SubjectTableModel() {
    // TODO initialise the list
    // add column to the default table model
    this.subjectsList = new
    Object[getTotalRows()][getColumnNames().length];
    * Copy constructor with the <code>subjectList</code> to set
    * @param subjects
    public SubjectTableModel(Object[][] subjects) {
    this(0, null, subjects, 0);
    * Copy constructor with the initial number of row for the model
    * @param rows -
    * the initial rows of the model
    * @param cols -
    * the initial columns of the model
    * @param subjects -
    * the initial subjects for the model
    * @param edit - the minimum number of columns that must be
    uneditable
    public SubjectTableModel(int rows, String[] cols, Object[][]
    subjects, int edit) {
    // set the initial rows
    setTotalRows(rows);
    // set the column names
    setColumnNames(cols);
    // set the subjectlist
    setSubjectsList(subjects);
    //set not editable index
    setNotEditable(edit);
    * Function to get the total number of columns in the table
    * @return int -- the columns in the table
    public int getColumnCount() {
    if (this.subjectsList == null) {
    return 0;
    return getColumnNames().length;
    * Function to get the total number of rows in the table
    * @return int -- the rows in the table
    public int getRowCount() {
    if (this.subjectsList == null) {
    return 0;
    return this.subjectsList.length;
    * Function to get the name of a column in the table.
    * @param col --
    * the column to be named
    * @return String -- the column in the table
    public String getColumnName(int col) {
    if (getColumnNames()[col] != null) {
    return getColumnNames()[col];
    return new String("...");
    * Function to get the value of the given row.
    * @param row --
    * the row of the object.
    * @param col --
    * the col of the object.
    * @return Object -- the value at row, col.
    public Object getValueAt(int row, int col) {
    return getSubjectsList()[row][col];
    * Function to return the data type of the given column.
    * @param c --
    * the column whose type must be determined.
    * @return Class -- the type of the object in this col.
    public Class getColumnClass(int c) {
    if (getValueAt(0, c) != null) {
    return getValueAt(0, c).getClass();
    return new String().getClass();
    * Function to put a value into a table cell.
    * @param value --
    * the object that will be put.
    * @param row --
    * the row that the object will be put.
    * @param col --
    * the col that the object will be put.
    public void setValueAt(Object value, int row, int col) {
    * TODO: Have a boolean value to determine whether to clear or
    to set.
    * if true clear else set.
    if (value != null) {
    if (getSubjectsList()[0][col] instanceof Integer
    && !(value instanceof Integer)) {
    try {
    getSubjectsList()[row][col] = new
    Integer(value.toString());
    fireTableCellUpdated(row, col);
    } catch (NumberFormatException e) {
    * JOptionPane .showMessageDialog( this., "The \""
    +
    * getColumnName(col) + "\" column accepts only
    values
    * between 1 - 12");
    return;
    System.out.println("Value = " + value.toString());
    System.out.println("Column = " + col + " Row = " + row);
    // column = Grade or column = Select
    switch (col) {
    case 2:
    try {
    // TODO
    if (Boolean.getBoolean(value.toString()) == false
    && getValueAt(row, 0) != null
    && getValueAt(row, 1) != null
    && getValueAt(row, 2) != null) {
    // subjectsList[row][col + 1] = new
    Boolean(true);
    System.out.println("2. false - Updated...");
    * this.subjectListModel.add(row,
    * this.subjectsList[row][0] + new String(" -
    ") +
    * this.subjectsList[row][2]);
    } catch (ArrayIndexOutOfBoundsException exception) {
    exception.printStackTrace();
    break;
    case 3:
    if (Boolean.getBoolean(value.toString()) == false
    && getValueAt(row, 0) != null
    && getValueAt(row, 1) != null
    && getValueAt(row, 2) != null) {
    System.out.println("3. If - Added...");
    getSubjectsList()[row][3] = new Boolean(true);
    this.subjectListModel.addElement(this.subjectsList[row][0] +
    * new String(" - ") + this.subjectsList[row][2]);
    // subjectListModel.remove(row);
    fireTableCellUpdated(row, col);
    fireTableDataChanged();
    // this.doDeleteSubject();
    } else if (Boolean.getBoolean(value.toString()) ==
    true
    && getValueAt(row, 0) != null
    && getValueAt(row, 1) != null
    && getValueAt(row, 2) != null) {
    setValueAt("", row, col - 1);
    setValueAt("", row, col - 2);
    setValueAt("", row, col - 3);
    System.out.println("3. Else - Cleared...");
    // this.subjectListModel.remove(row);
    break;
    default:
    break;
    }// end switch
    getSubjectsList()[row][col] = value;
    fireTableCellUpdated(row, col);
    fireTableDataChanged();
    }// end if
    }// end
    * Function to enable edition for all the columns in the table
    * @param row --
    * the row that must be enabled.
    * @param col --
    * the col that must be enabled.
    * @return boolean -- indicate whether this cell is editble or
    not.
    public boolean isCellEditable(int row, int col) {
    if (row >= 0
    && (col >= 0 && col <= getNotEditable())) {
    return false;
    return true;
    * Function to get the column names for the model
    * @return Returns the columnNames.
    public String[] getColumnNames() {
    return this.columnNames;
    * Function to set the column names for the model
    * @param cols
    * The columnNames to set.
    public void setColumnNames(String[] cols) {
    // if the column names are null the default columns are used
    if (cols != null) {
    this.columnNames = cols;
    * Function to get the rows of subjects for the model
    * @return Returns the subjectsList.
    public Object[][] getSubjectsList() {
    if (this.subjectsList == null) {
    this.subjectsList = new
    Object[getTotalRows()][getColumnNames().length];
    return this.subjectsList;
    * Function to set the subjects list for the model
    * @param subjects
    * The subjectsList to set.
    public void setSubjectsList(Object[][] subjects) {
    // if the subject list is null create a new one
    // using default values
    if (subjects == null) {
    this.subjectsList = new
    Object[getTotalRows()][getColumnNames().length];
    return;
    this.subjectsList = subjects;
    * Function to get the total number of rows for the model. <b>NB:
    </b> This
    * is different to <code>
    getRowCount()</code>.<code>totalRows</code>
    * is the initial amount of rows that the model must have before
    data can be
    * added.
    * @return Returns the totalRows.
    * @see #setTotalRows(int)
    public int getTotalRows() {
    return this.totalRows;
    * Function to set the total rows for the model.
    * @param rows
    * The totalRows to set.
    * @see #getTotalRows()
    public void setTotalRows(int rows) {
    // if the rows are less than 0 the defaultRows are used
    // set getTotalRows
    if (rows > 0) {
    this.totalRows = rows;
    * Function to get the number of columns that is not editble
    * @return Returns the notEditable.
    public int getNotEditable() {
    return this.notEditable;
    * Function to set the number of columns that is not editable
    * @param notEdit The notEditable to set.
    public void setNotEditable(int notEdit) {
    if (notEdit < 0) {
    notEdit = 0;
    this.notEditable = notEdit;
    ----------------------------END TABLE MODEL----------------------------------

    I hope you don't expect us to read hundreds of lines of unformatted code? Use the "formatting tags" when you post.
    Why are you creating your own TableModel? It looks to me like the DefaultTableModel will store you data. Learn how to use JTable with its DefaultTableModel first. Then if you determine that DefaultTableModel doesn't provide the required functionality you can write your own model.

  • Creating a quiz in iMovie: Showing multiple still frames simultaneously

    I am trying to create a short quiz in iMovie which involves choosing one of 4 video clips. After each of the clips has been played I want to show 4 still frames (one from each clip) together on screen. This will allow participants to see all their options at once, insted of relying on memory. I have the frames saved on my hard drive but cannot figure out how to create a four window display. Is there any way of doing this on iMovie HD? Or is it possible to make such a collage in iPhoto and then import it?
    Any help would be much appreciated

    Because you've suggested "..doing this on iMovie HD? Or is it possible to make such a collage in iPhoto and then import it?.." here's a simple way to do it with those programs ..and with QuickTime!
    With iPhoto, just import your stills into iPhoto, then use the bottom-right 'magnify' slider to give yourself a 'four-up' view (..four photos onscreen together). Then hold down Shift and the Apple key and jab the '4' key to give you a set of cross-hairs, and hold down your mouse/trackpad button while you drag the cross-hairs over the four pics, then release the mouse button/trackpad.
    That'll give you a .pdf file (..or .png file..) which you can view using Preview:
    Optionally Export or Save As a .jpg and import it into iMovie - or just import it in its default format - where it'll appear as a 5-second still which you can add onto the end of your four clips.
    Doing a similar thing with QuickTime, open individual QuickTime players, each with one of your chosen clips in. Arrange them into a rough 4x3 shape, and take a snapshot of the four together, using - as before - ShiftApple4 and drag the cross-hairs to cover all four:
    If 'Ken Burns' is on, by default, in iMovie, any extra black edges will be trimmed off when you import the still which you created with ShiftApple4 ..or, if you turn OFF the Ken Burns effect before importing, any black edges will remain, so that you get the most of your four images. [..You'll get black edges if your overall composite of the four pics is not exactly the 4x3 ratio which iMovie normally expects..]
    When you import into iMovie, your '4-up' pics should look like this:
    For larger images, click on 'Start Slideshow' on this homepage..
    Oh; and welcome to iMovie Discussions!

Maybe you are looking for