Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

OpenFileDialog Topmost in Java applet

Posted on 2000-02-23
5
Medium Priority
?
1,080 Views
Last Modified: 2013-11-23
I have written a simple applet in J++ to resize an image and save it to the local HD.

The image is selected using the OpenFileDialog, which works well the first time. Any further attempts, however , the OpenFileDialog loads but is not topmost.

I have used SetWindowPos in VB, but am not sure how to implement this in J++ ( and if it's possible).

Any ideas would be greatly appreciated.

Attached is a cut down version of the applet (minus the "save" feature).

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.io.*;
import com.ms.wfc.ui.OpenFileDialog;
import com.ms.wfc.ui.SaveFileDialog;
import com.ms.wfc.ui.DialogResult;
import java.net.URL;

      public class Resizer extends Applet implements ActionListener {
            Image img, img2;
             int dlgResult;
            Button saveButton;       // new variable of type Button
            Button openButton;       // new variable of type Button
            String openfname;
            OpenFileDialog ofd;
            SaveFileDialog sfd;
            
            public void init() {
                  
                  setLayout(new BorderLayout());      // uses a Border layout for the components
            
                  Panel p = new Panel();
                  p.setLayout( new FlowLayout(FlowLayout.RIGHT));
                  openButton = new Button(" open "); // constructs a new instance of the Button class
                  p.add(openButton);                         // appends our button to the list of components in the applet
                  openButton.addActionListener(this); // waits for button events
                  
                  saveButton = new Button(" save "); // constructs a new instance of the Button class
                  p.add(saveButton);                         // appends our button to the list of components in the applet
                  saveButton.addActionListener(this); // waits for button events
                  
                  
                  add(p, "North");  // adds the Panel to the right

                  
                  
            }
            
            public void paint(Graphics g) {
                  
                  if ( openfname.length() > 0 )
                  {
                        // Draw the scaled version of the image
                        g.drawImage(img2, 0, 0, this);            
                  }
                                                 
            }
            
            public void actionPerformed(ActionEvent e) {
                  if (e.getSource() == openButton ) {
                        
                        ofd = new OpenFileDialog();
                        ofd.setDefaultExt("jpg");      //sets the default extension
                        ofd.setFilter("Image files (*.jpg)|*.jpg|All files (*.*)|*.*"); //sets the file filter
                        ofd.setFilterIndex(1);  //sets the filter that will be initially selected
                        ofd.setInitialDir("c:\\program files");  //sets the initial directory

                        int dlgResult = ofd.showDialog();
                        openfname = ofd.getFileName();
                        openfname = openfname.replace('\\','/');
                        openfname = "file:/" + openfname;
                        URL urlfname ;
                        try {
                        
                              urlfname = new URL(openfname);
                              try
                              {
                                    img = getImage(urlfname);
                                    
                                    img2 = img.getScaledInstance(400, 300, Image.SCALE_SMOOTH);
                              }
                              catch (Exception e1){};
                        }catch (Exception e2) {};
                                            
                        
                        repaint();
                  } // closes if
            }
            
      }
0
Comment
Question by:ggrace
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
5 Comments
 

Author Comment

by:ggrace
ID: 2553158
Adjusted points to 90
0
 
LVL 3

Expert Comment

by:terajiv
ID: 2553234
Hi ggrace,
instead of using thease
>>import com.ms.wfc.ui.OpenFileDialog;
>>import com.ms.wfc.ui.SaveFileDialog;
>>import com.ms.wfc.ui.DialogResult;
why dont u go for FileDialog class in java? It works similar to the one which ur using here.

If u get object of FileDialog class and use

void setDirectory(String dir) ;
void setFile(String file) ;
void setFilenameFilter(FilenameFilter filter) ;
void setMode(int mode)  ;

methods u will get correct results. Using this will give u FileDialog all the time topmost.
 

0
 
LVL 3

Accepted Solution

by:
terajiv earned 360 total points
ID: 2553253
Hi ggrace,
instead of using thease
>>import com.ms.wfc.ui.OpenFileDialog;
>>import com.ms.wfc.ui.SaveFileDialog;
>>import com.ms.wfc.ui.DialogResult;
why dont u go for FileDialog class in java? It works similar to the one which ur using here.

If u get object of FileDialog class and use

void setDirectory(String dir) ;
void setFile(String file) ;
void setFilenameFilter(FilenameFilter filter) ;
void setMode(int mode)  ;

methods u will get correct results. Using this will give u FileDialog all the time topmost.
 

0
 

Author Comment

by:ggrace
ID: 2553319
Thankyou very much. Works just fine now.
0
 

Expert Comment

by:PablitoRun
ID: 2966968
Is there no way then to set the modality of the mfc class?

0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

After being asked a question last year, I went into one of my moods where I did some research and code just for the fun and learning of it all.  Subsequently, from this journey, I put together this article on "Range Searching Using Visual Basic.NET …
Introduction Java can be integrated with native programs using an interface called JNI(Java Native Interface). Native programs are programs which can directly run on the processor. JNI is simply a naming and calling convention so that the JVM (Java…
Viewers learn about the third conditional statement “else if” and use it in an example program. Then additional information about conditional statements is provided, covering the topic thoroughly. Viewers learn about the third conditional statement …
This tutorial covers a practical example of lazy loading technique and early loading technique in a Singleton Design Pattern.
Suggested Courses

618 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question