JInternalFrame - JFileChooser()

Hi, I just had a quick question, I'm new to Java and just started using JInternalFrames and a JFileChooser() now my question is can I add a JFileChooser() to an internal frame so it would appear inside that internal frame and if so how?
Thanks for the help in advance.

neptune692 wrote:
Yes I have tried the following I think it should work but for some reason the open dialog is treated as a popup and is not inside the internal frame:
// this all looks OK to me
JInternalFrame internalframe = new JInternalFrame();
JFileChooser chooser = new JFileChooser();
internalframe.add(chooser);
// but this doesn't
chooser.showOpenDialog(internal);That last line will display the fille chooser as a dialog. Instead pack the internalframe, set it's location, and set it to visible.
Something like,
JInternalFrame internalframe = new JInternalFrame();
JFileChooser chooser = new JFileChooser();
internalframe.add(chooser);
internalframe.pack();
internalframe.setLocation(10, 10);
//not sure the name of your JDesktopPane
desktopPane.add(internalframe);
internalframe.setVisible(true);Edited by: Encephalopathic on May 23, 2009 12:46 PM

Similar Messages

  • JFileChooser problem with Windows Vista

    Hi,
    I running into the following problem.
    I am using JFileChooser in some of the JInternalFrames in my application. When I using Windows XP everthing works perfectly.
    Now Here is the issues, I have a new user using the application. His computer is Windows Vista and the error comes when I am using JFileChooser.
    I need to know I need to put another file or update ANYTHING ON WINDOWS VISTA FOR THIS JFileChooser to work.
    I appreacite your help and time.
    Wilfer
    CDC

    That's not an error from Java, as far as I know. Something else is producing it. Look over these search results for a case that matches what you see:
    http://www.google.com/search?q=error+31849

  • Problem handling JFileChooser events...

    The problem I have is rather tricky to explain. I feel maybe I'm treading on an area I'm not ready for yet... but here goes:
    I have a JInternalFrame with an "open" button which triggers the JFileChooser and underneath a text field to log activity. My goal is simply to have a String array of all the filenames selected ( one at a time, whilst adding to the array ).
    All seems well to start with. I have a System.out.println running after each filename is added to the array, and it verifies that they are being added successfully.
    The problem comes just after that... When I call for the String array, it appears to be empty!
    I'm sure that this will be a foolish mistake on my behalf, but still, I'm yet to spot it!
    this is the code where the filenames are added to the array:
    public void actionPerformed(ActionEvent e) {
                if (e.getSource() == openButton) {
                int returnVal = fc.showOpenDialog(FileSelector.this);
                if (returnVal == JFileChooser.APPROVE_OPTION) {
                File file = fc.getSelectedFile();
                str[a] = file.getName();
                a++;
                   log.append("File: " + file.getName() + " added to list" + newline);
            } else {
                   log.append("Open command cancelled by user." + newline);
               log.setCaretPosition(log.getDocument().getLength());
         System.out.println(str);
    }I'm not sure what other bits of code are needed, so ill hold fast.
    cheers in advance for any help.
    John.

    The error message says it all:
    "java.lang.IllegalArgumentException: cannot add to layout: constraints must be a GridBagConstraint"
    You are apparently adding something to a panel that uses a GridBagLayout, but the constraint you are specifying is not a GridBagConstraints.
    JPanel pnl = new JPanel(new GridBagLayout());
    GridBagConstraints c = new GridBagConstraints();
    pnl.add(new JLabel("correct"), c);
    pnl.add(new JLabel("wrong"), BorderLayout.CENTER);The second add in the above code will cause the error you are getting. This would also explain why it works when you are using a BorderLayout.
    Here is the relevant code:The code you posted was not the relevant code. The relevant code is what takes place in your button's ActionListener. There you call the method gotoNextSection(), which you did not post.

  • Problem  in saving the JInternalFrame

    Hi everyone!!
    please help me!!
    When I open a new JInternalFrame in my created program and typed
    some words in the textarea, and open again another JInternalFrame
    and type some words in it, the save the first InternalFrame that I open,
    how come that the last internalframe was saved and not the one that I
    choose to saved. here is my code..
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import javax.swing.event.*;
    import java.io.*;
    public class Test extends JFrame {
              JTextArea textArea = new JTextArea();     
              JTextArea textArea2 = new JTextArea();
              JDesktopPane desktop = new JDesktopPane();
              JScrollPane scroll = new JScrollPane();
              JInternalFrame internalFrame = new JInternalFrame("Internal",false,true,true,true);
              String fileName;
             int cnt;
       public Test() {
              JMenuBar toolBar = new JMenuBar();
              JMenu file = new JMenu("File");     
              JMenuItem newF = new JMenuItem("New");
              newF.addActionListener(new ActionListener() {
                   public void actionPerformed(ActionEvent e) {newFile();}
              file.add(newF);     
              JMenuItem open = new JMenuItem("Open");
              open.addActionListener(new ActionListener() {
                   public void actionPerformed(ActionEvent e) {openFile();}
              file.add(open);
            JMenuItem save = new JMenuItem("Save");
            save.addActionListener(new ActionListener() {
                 public void actionPerformed(ActionEvent e) {saveFile();}
            file.add(save);     
            file.addSeparator();
            JMenuItem exit = new JMenuItem("Exit");
            exit.addActionListener(new ActionListener() {
                   public void actionPerformed(ActionEvent e) {close();}
            file.add(exit);
            addWindowListener(new WindowAdapter()
               public void windowClosing(WindowEvent evt)
                 dispose();
                 System.exit(0);
              toolBar.add(file);
              setJMenuBar(toolBar);
            add(desktop);
         void newFile() {
              cnt++;
            String count = "frame";
            internalFrame = new JInternalFrame(count+cnt,true,true,true,true);
             internalFrame.add(new JScrollPane(textArea = new JTextArea()));
            desktop.add(internalFrame);
            internalFrame.moveToFront();
             internalFrame.setSize(500,300);
            internalFrame.setVisible(true);    
         void openFile() {
              JFileChooser fileOpen = new JFileChooser();
              int rVal = fileOpen.showOpenDialog(this);          
              if(rVal == JFileChooser.APPROVE_OPTION) {
                   File fileSelected = fileOpen.getSelectedFile();
                   try {
                        textArea.read(new FileReader(fileSelected), null);               
                   catch(IOException exp) {
         void saveFile() {
              JFileChooser filesave = new JFileChooser();
              int rVal = filesave.showSaveDialog(this);
              if(rVal == JFileChooser.APPROVE_OPTION) {
                   File fileSelected = filesave.getSelectedFile();
                   try {
                        textArea.write(new FileWriter(fileSelected));
                   catch(IOException exp) {
         void close() {
              System.exit(0);
         public static void main(String[] args) {
              try {
                  UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
               } catch (Exception e) { }          
              Test body = new Test();
              body.setSize(700,500);
              body.setLocation(150,80);
            body.show();          
    }

    Because you have only one textArea;
    Here is a modified one>>Select the frame before do save
    i used a seperate variable id to uniquely identify each textArea,you can use your count variable itself.
    check the code u will know:
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import javax.swing.event.*;
    import java.io.*;
    public class Test extends JFrame {
              JTextArea[] textArea = new JTextArea[20];int id=0;
              JTextArea textArea2 = new JTextArea();
              JDesktopPane desktop = new JDesktopPane();
              JScrollPane scroll = new JScrollPane();
              JInternalFrame internalFrame = new JInternalFrame("Internal",false,true,true,true);
              String fileName;
             int cnt;
       public Test() {
              JMenuBar toolBar = new JMenuBar();
              JMenu file = new JMenu("File");
              JMenuItem newF = new JMenuItem("New");
              newF.addActionListener(new ActionListener() {
                   public void actionPerformed(ActionEvent e) {newFile();}
              file.add(newF);
              JMenuItem open = new JMenuItem("Open");
              open.addActionListener(new ActionListener() {
                   public void actionPerformed(ActionEvent e) {openFile();}
              file.add(open);
            JMenuItem save = new JMenuItem("Save");
            save.addActionListener(new ActionListener() {
                 public void actionPerformed(ActionEvent e) {saveFile();}
            file.add(save);
            file.addSeparator();
            JMenuItem exit = new JMenuItem("Exit");
            exit.addActionListener(new ActionListener() {
                   public void actionPerformed(ActionEvent e) {close();}
            file.add(exit);
            addWindowListener(new WindowAdapter()
               public void windowClosing(WindowEvent evt)
                 dispose();
                 System.exit(0);
              toolBar.add(file);
              setJMenuBar(toolBar);
            add(desktop);
         void newFile() {
              cnt++;
            String count = "frame";
            internalFrame = new JInternalFrame(count+cnt+" "+id,true,true,true,true);
             internalFrame.add(new JScrollPane(textArea[id++] = new JTextArea()));
            desktop.add(internalFrame);
            internalFrame.moveToFront();
             internalFrame.setSize(500,300);
            internalFrame.setVisible(true);
         void openFile() {
              JFileChooser fileOpen = new JFileChooser();
              int rVal = fileOpen.showOpenDialog(this);
              if(rVal == JFileChooser.APPROVE_OPTION) {
                   File fileSelected = fileOpen.getSelectedFile();
                   try {
                    JInternalFrame ji=desktop.getSelectedFrame();
                    int no=Integer.parseInt(ji.getTitle().substring(ji.getTitle().indexOf(' ')+1,ji.getTitle().length()));
                        textArea[no].read(new FileReader(fileSelected), null);
                   catch(IOException exp) {
         void saveFile() {
              JFileChooser filesave = new JFileChooser();
              int rVal = filesave.showSaveDialog(this);
              if(rVal == JFileChooser.APPROVE_OPTION) {
                   File fileSelected = filesave.getSelectedFile();
                   try {
                    JInternalFrame ji=desktop.getSelectedFrame();
                    int no=Integer.parseInt(ji.getTitle().substring(ji.getTitle().indexOf(' ')+1,ji.getTitle().length()));
                        textArea[no].write(new FileWriter(fileSelected));
                   catch(IOException exp) {
         void close() {
              System.exit(0);
         public static void main(String[] args) {
              try {
                  UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
               } catch (Exception e) { }
              Test body = new Test();
              body.setSize(700,500);
              body.setLocation(150,80);
            body.show();
    }

  • How do I get at a JTable on a JInternalFrame?

    I've been working on this Multiple Document Interface application, and things have been great up to this point. The user chooses to run a "report" and then selects an entity to get the info for. I then hit the database. Each row returned from the database query goes into it's own data object, which is added to an ArrayList in my custom table model, and that ArrayList is used to generate the JTable, which is then added to a ScrollPane, which is then added to the JInternalFrame, which is then added to the JDesktop pane. Good stuff, right?
    I'm now trying to add Print functionality, and I'm at a loss. What I want to do is have the user do the standard File->Print, which will print out the JTable on the currently selected inner frame. I can get a JTable to print using JTable.print(). What I can't do is find a way to get the JTable from the selected frame.
    I can get the selected frame using desktop.getSelectedFrame(), but I'm at a loss as to what to do next. I've played around with .getComponent, but I'm not having any luck. the components returned don't seem to do me any good...for example, JViewPort?
    Am I going about this the wrong way? Have I poorly designed this? Am I missing the obvious?
    Thanks,
    -Adam

    Well, if you only have a single component on the internal frame then you can use getComponent(0). But then you need to go up the parent chain to get the actual table. You will initially get the JScrollPane, then use that to get the JViewport and then use that to get the viewport component.
    Another option is to extend the JInternalFrame class and insted using the add method to add a component you create get/setTable(...) methods. Then you can save the table as a class variable before adding it the scrollpane and adding the scrollpane to the internal frame.

  • Alarm status drawing iow: recolour JInternalFrame components

    Greetings,
    Please have a look at this picture. It's a low res snapshot of
    a few quite complicated components. Most of the functionality isn't
    visible nor relevant in the example. What you're looking at is a real time
    process of some sort. Things can go wrong in that process. In a previous
    version of my views I'd turn the background colour of some components
    red/yellow/green according to the 'alarm status' of the process. One of
    my customers suggested the idea of turning everything red/yellow/green
    inside those JInternalFrames (that's what you're looking at in the example).
    Of course one fool can ask more than a dozen of wise men can answer
    and I am not that wise, so my question is: how would one change the
    colour of all components that are part of a JInternalFrame (or any
    other container) such that the colour wouldn't be 100% opague but
    still visible by itself and still showing the information originally present
    in each individual component. iow, as if a transparent monochrome
    filter were positioned in front of that entire JContainer.
    In a naive way I like the idea; if the idea turns out to be too complicated
    to realize I'd be happy with visual alternatives also. (such as big arrows
    pointing to the JContainer where the alarm happened).
    Note that these appliations run in a 'factory' environment where people
    either hardly watch the screens or they watch them at quite a great
    distance. The changing colours should just attract their attention so they
    will walk/run/drive/ride to the screens for a second inspection.
    Any ideas are appreciated.
    kind regards,
    Jos

    Not sure I understand the question, but I keyed in on:
    as if a transparent monochrome filter were positioned in front of that entire JContainer.So maybe you could use a GlassPane:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class GlassPaneTest extends JFrame
        public GlassPaneTest()
            final JComponent glassPane = new JComponent()
                public void paintComponent(Graphics g)
                    g.setColor( getBackground() );
                    g.fillRect(0, 0, getSize().width, getSize().height);
            glassPane.setOpaque( false );
            glassPane.setBackground( new Color(240, 20, 20, 100) );
            setGlassPane( glassPane );
            glassPane.addKeyListener( new KeyAdapter()
                public void keyPressed(KeyEvent e)
                    e.consume();
            glassPane.addMouseListener( new MouseAdapter()
                public void mousePressed(MouseEvent e)
                    e.consume();
            final JButton button = new JButton( "Click Me" );
            button.setMnemonic('c');
            button.addActionListener( new ActionListener()
                public void actionPerformed(ActionEvent e)
                       glassPane.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
                       glassPane.setVisible( true );
                       glassPane.requestFocus();
                       Thread thread = new Thread()
                            public void run()
                                try { this.sleep(5000); }
                                catch (InterruptedException ie) {}
                                 glassPane.setVisible( false );
                                 glassPane.setCursor(null);
                    thread.start();
            getContentPane().add(new JLabel("NORTH"), BorderLayout.NORTH );
            getContentPane().add( button );
            getContentPane().add(new JTextField(), BorderLayout.SOUTH);
        public static void main(String[] args)
            GlassPaneTest frame = new GlassPaneTest();
            frame.setDefaultCloseOperation( EXIT_ON_CLOSE );
            frame.setSize(300, 300);
            frame.setLocationRelativeTo( null );
            frame.setVisible(true);
    }The Swing tutorial on [url http://java.sun.com/docs/books/tutorial/uiswing/components/rootpane.html]How to Use Glass Panes shows how you can also do a simple drawing (your arrow?) on the glass pane.

  • No Disk Error when opening JFileChooser

    Hi all
    After launching my app via JWS and opening my apps FileChooser I get a 'javaw.exe - No Disk' error message:
    'There is no disk in the drive. Please insert a disk into drive A:.'
    This doesn't happen if I start the app without JWS. Although it happens only the first time after opening the FileChooser it's rather annoying for the user. I can't expect the user always having a disk in their drive.
    Is there a way of switching the scan for drive A off?
    Thanks for your help.
    Stephan

    See Top 25 Bugparade: # 4264750
    This is a SecurityManager - Problem and the java.io.File.
    eg.:
    System.setSecurityManager(new RMISecurityManager());
    File[] roots = File.listRoots();
    Then you will see the problem...
    I tried the following workaround:
    before you access disk. (or JFileChooser)
    SecurityManager sm = System.getSecurityManger();
    System.setSecurityManager(null);
    // disable the SecurityManger
    // this special disk access needs no SecurityManager..
    ... popup JFileChosser or make FileAccess..
    System.setSecurityManager(sm);
    // restore the old SecurityManger
    It's not the best solution but it works..
    hope this will help,
    Wolfgang
    EDI Organisation

  • Can not sort the files in JFileChooser if the files are from remote machine

    Hi All,
    Let me set the context of the question.
    I have extended the JFileChooser to support the listing/view of files.dirs etc of remote location through CORBA.To achieve that i have customized
    my FileSystemView to support it. In general ,the current JFileChooser sorts the file when we have details view .My question is related to this.The default
    JFileChooser has the support for sorting but when i customized the FileSystemView,the sorting functionality is no more exist.I tried with TableRowSorter as well but
    the sorting can be achieved in View only,the model still remains same as initial.
    Any pointer towards this will be highly appreciated.
    Thanks
    Praveen

    Can anyone help me out to solve this problem or any suggestion regarding this ?
    Regards
    Praveen

  • What is equivalent of JInternalFrame in JavaFX 2.0?

    what is equivalent of JInternalFrame in JavaFX 2.0?
    Actually I want to use pure javaFX 2.0 to view report created in iReport 5.0.0.
    I have used java.swing code, and now I want to use pure javaFX 2.0.
    My code in swing is as follows
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    package reports;
    import java.awt.BorderLayout;
    import java.awt.Container;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.util.HashMap;
    import net.sf.jasperreports.engine.JRException;
    import net.sf.jasperreports.engine.JasperFillManager;
    import net.sf.jasperreports.engine.JasperPrint;
    import net.sf.jasperreports.view.JRViewer;
    * @author TANVIR AHMED
    public class ReportsViewer extends javax.swing.JInternalFrame {
    * Creates new form MyiReportViewer
    private ReportsViewer()
    super("Report Viewer",true,true,true,true);
    initComponents();
    setBounds(10,10,600,500);
    setDefaultCloseOperation(DISPOSE_ON_CLOSE);
    public ReportsViewer(String fileName)
    this(fileName,null);
    public ReportsViewer(String fileName,HashMap parameter)
    this();
    try
    /* load the required JDBC driver and create the connection
    here JDBC Type Four Driver for MySQL is used*/
    //Class.forName("com.mysql.jdbc.Driver");
    Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE", "invoice", "item");
    //Connection con=DriverManager.getConnection("jdbc:mysql://localhost/inventory","root","karim");
    /*(Here the parameter file should be in .jasper extension
    i.e., the compiled report)*/
    JasperPrint print = JasperFillManager.fillReport(
    fileName, parameter, con);
    JRViewer viewer=new JRViewer(print);
    Container c=getContentPane();
    c.setLayout(new BorderLayout());
    c.add(viewer);
    catch(SQLException sqle)
    sqle.printStackTrace();
    catch(JRException jre)
    jre.printStackTrace();
    * This method is called from within the constructor to initialize the form.
    * WARNING: Do NOT modify this code. The content of this method is always
    * regenerated by the Form Editor.
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {
    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGap(0, 394, Short.MAX_VALUE)
    layout.setVerticalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGap(0, 290, Short.MAX_VALUE)
    pack();
    }// </editor-fold>
    // Variables declaration - do not modify
    // End of variables declaration
    and
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    package reports;
    import java.beans.PropertyVetoException;
    * @author TANVIR AHMED
    public class MainUI extends javax.swing.JFrame {
    * Creates new form MainUI
    public MainUI() {
    super("REPORTS");
    initComponents();
    setSize(java.awt.Toolkit.getDefaultToolkit().getScreenSize());
    setDefaultCloseOperation(DISPOSE_ON_CLOSE);
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {
    jMenuItem1 = new javax.swing.JMenuItem();
    desktopPane = new javax.swing.JDesktopPane();
    salesTaxInv = new javax.swing.JButton();
    jLabel1 = new javax.swing.JLabel();
    supplyRegister = new javax.swing.JButton();
    PartyLedger = new javax.swing.JButton();
    menuBar = new javax.swing.JMenuBar();
    jMenuItem1.setText("jMenuItem1");
    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    desktopPane.setBackground(new java.awt.Color(255, 204, 0));
    desktopPane.setBorder(new javax.swing.border.MatteBorder(null));
    desktopPane.setForeground(new java.awt.Color(255, 0, 102));
    desktopPane.setAutoscrolls(true);
    desktopPane.setFont(new java.awt.Font("Bookman Old Style", 0, 14)); // NOI18N
    desktopPane.setPreferredSize(new java.awt.Dimension(1024, 768));
    salesTaxInv.setBackground(new java.awt.Color(255, 255, 255));
    salesTaxInv.setFont(new java.awt.Font("Bookman Old Style", 1, 18)); // NOI18N
    salesTaxInv.setForeground(new java.awt.Color(204, 0, 0));
    salesTaxInv.setText("Sales Tax Invoice");
    salesTaxInv.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    salesTaxInvActionPerformed(evt);
    salesTaxInv.setBounds(20, 53, 200, 31);
    desktopPane.add(salesTaxInv, javax.swing.JLayeredPane.DEFAULT_LAYER);
    jLabel1.setFont(new java.awt.Font("Bookman Old Style", 0, 24)); // NOI18N
    jLabel1.setForeground(new java.awt.Color(50, 72, 255));
    jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    jLabel1.setText("Invoice System Reports");
    jLabel1.setBounds(0, -1, 1024, 50);
    desktopPane.add(jLabel1, javax.swing.JLayeredPane.DEFAULT_LAYER);
    supplyRegister.setFont(new java.awt.Font("Bookman Old Style", 1, 18)); // NOI18N
    supplyRegister.setForeground(new java.awt.Color(204, 0, 0));
    supplyRegister.setText("Supply Register");
    supplyRegister.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    supplyRegisterActionPerformed(evt);
    supplyRegister.setBounds(20, 100, 200, 30);
    desktopPane.add(supplyRegister, javax.swing.JLayeredPane.DEFAULT_LAYER);
    PartyLedger.setFont(new java.awt.Font("Bookman Old Style", 1, 18)); // NOI18N
    PartyLedger.setForeground(new java.awt.Color(204, 0, 0));
    PartyLedger.setText("Party Ledger");
    PartyLedger.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    PartyLedgerActionPerformed(evt);
    PartyLedger.setBounds(20, 140, 200, 30);
    desktopPane.add(PartyLedger, javax.swing.JLayeredPane.DEFAULT_LAYER);
    setJMenuBar(menuBar);
    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addComponent(desktopPane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
    layout.setVerticalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addComponent(desktopPane, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
    pack();
    }// </editor-fold>
    private void salesTaxInvActionPerformed(java.awt.event.ActionEvent evt) {                                           
    try
    ReportsViewer myiReportViewer = new ReportsViewer("reports/INV.jasper");
    myiReportViewer.setBounds(0, 0, desktopPane.getWidth(), desktopPane.getHeight());
    myiReportViewer.setVisible(true);
    desktopPane.add(myiReportViewer);
    myiReportViewer.setSelected(true);
    catch (PropertyVetoException pve)
    pve.printStackTrace();
    private void supplyRegisterActionPerformed(java.awt.event.ActionEvent evt) {                                              
    try
    ReportsViewer myiReportViewer = new ReportsViewer("reports/supplyRegister.jasper");
    myiReportViewer.setBounds(0, 0, desktopPane.getWidth(), desktopPane.getHeight());
    myiReportViewer.setVisible(true);
    desktopPane.add(myiReportViewer);
    myiReportViewer.setSelected(true);
    catch (PropertyVetoException pve)
    pve.printStackTrace();
    private void PartyLedgerActionPerformed(java.awt.event.ActionEvent evt) {                                           
    try
    ReportsViewer myiReportViewer = new ReportsViewer("reports/CustomerLedger.jasper");
    myiReportViewer.setBounds(0, 0, desktopPane.getWidth(), desktopPane.getHeight());
    myiReportViewer.setVisible(true);
    desktopPane.add(myiReportViewer);
    myiReportViewer.setSelected(true);
    catch (PropertyVetoException pve)
    pve.printStackTrace();
    * @param args the command line arguments
    public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
    new MainUI().setVisible(true);
    // Variables declaration - do not modify
    private javax.swing.JButton PartyLedger;
    private javax.swing.JDesktopPane desktopPane;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JMenuItem jMenuItem1;
    private javax.swing.JMenuBar menuBar;
    private javax.swing.JButton salesTaxInv;
    private javax.swing.JButton supplyRegister;
    // End of variables declaration
    Best Regards

    Dear Sir,
    I am using the swing code and running the jasper report with the above code.
    Realy!
    I start the thread with this code
    @FXML
    private void mainUiButtonAction(ActionEvent event) {
    try{
    new MainUI().setVisible(true);
    catch(Exception ex){                 
    }

  • JFileChooser (again!) slow in JRE 1.6.14 on some machines, not others

    I am running ImageJ (from the NIH) on several of our machines and on some machines JFileChooser is lightning fast, while others exhibit the same slowness spoken of in another JFileChooser thread that is now in a locked state. We open large image files (tif, png) located on our SAN and from the network traffic I see in Windows Task Manager while opening a folder containing the images I would guess that JFileChooser is actually opening the files (intentionally or not), not just obtaining a folder listing. It's similar to the same issue of opening a large folder of images with the view set to thumbnails - it takes about the same amount of time. I have tried the suggestions in that thread to no avail - the environment the machines are running is:
    Windows XP SP3
    Java JRE 1.6.0_14
    Can anyone comment on what JFileChooser is doing and how I can get it to stop this? Is it a Windows environment setting so that the native API calls made by JFileChooser will behave differently? Thoughts?
    Thanks,
    Tom

    I can't be absolutely sure, but we have several seemingly identical machines used for the purpose of reading medical images and several of them appear to work correctly (very fast loading and population of the folder's contents) and others don't. I have been using eclipse to enhance the software tool we're using (ImageJ) and using the debugger I can see that when the JFileChooser object is being instantiated and populated with entries a tremendous amount of network traffic occurs. This network traffic is equivalent to the amount I see when the same folder is opened in My Computer using a thumbnails view of the folder contents. Apparently, the network is delivering approximately 300-400 MB of images. As far as configuration of the Windows machines is concerned I haven't found a significant difference yet, though I admit I am not a Windows desktop admin and may not know of some configuration item that could be responsible. I assume (though could be mistaken) that both My Computer and JFileChooser are ultimately using similar API calls to get the folder content entries?

  • JInternalFrame drawing problem.

    Hi gurus
    Please could you help with a java problem that I cant find an answer to over the net:
    I have a JDesktop which contains multiple JInternalFrames. On one JInternalFrame i have attached a JPanel on which to draw on. I have multiple threads (simple ball shapes) that need to be drawn onto the JPanel and have left it up to the indivual threads to draw themselves (as opposed to using paintComponent in the JPanel class). The drawing on the JInternalFrame works perfectly fine.
    The problem arises when the other JInternalFrames are placed on top of each other - the balls are drawn over the top most JInternalFrame. What am i doing wrong? I have attached snippets of the code:
    public class Desktop extends JFrame implements ActionListener
              public Desktop()
                        setTitle("Agent's world");
                        setSize(w,h);
                        setDefaultCloseOperation(EXIT_ON_CLOSE);
                        JDesktopPane desktop = new JDesktopPane();
                        setContentPane(desktop);
                        /************* Agent *************/
                        JInternalFrame agents = new JInternalFrame("Agents War", true, false, true, false);                    
                        agents.reshape(0,0,(int)((w/3)*2),h);
                        Container contentPane = agents.getContentPane();
                        canvas = new AgentPanel(agents);
                        contentPane.add(canvas);
                        /************* Button *************/
                        JPanel buttonPanel = new JPanel();
                        ButtonGroup buttonGroup = new ButtonGroup();
                        JButton start = new JButton("START");
                        start.addActionListener(this);
                        buttonPanel.add(start);
                        contentPane.add(buttonPanel, "North");
                        agents.setVisible(true);
                        desktop.add(agents);
                        //sets focus to other frames within the desktop
                        try
                                  agents.setSelected(true);
                        catch(PropertyVetoException e)
                                  //attempt to refocus was vetoed by a frame
              /** Method to listen for event actions, i.e. button clicks **/
         public void actionPerformed(ActionEvent event)
                   //passes through 'this' to allow access to the getList method
                   Agents agent = new Agents(canvas, this);
                   agent.start();
    public class Agents extends Thread
              public Agents(AgentPanel panel, Desktop desktop)
                        panel =_panel;
                        desktop = _desktop;
                        setDaemon(true);
    /** Moves the agent from a spefic position to a new position **/
              public void move()
                        Graphics g = panel.getGraphics();
                        Graphics2D g2 = (Graphics2D)g;
                        try
                                  //set XOR mode
                                  g.setXORMode(panel.getBackground());
                                  //draw over old
                                  Ellipse2D.Double ballOld = new Ellipse2D.Double(i , j, length, length);
                                  g2.fill(ballOld);     
                                  i++;
                                  j++;
                                  if(flag == true)
                                            //draw new
                                            Ellipse2D.Double ballNew = new Ellipse2D.Double(i , j, length, length);
                                            g2.fill(ballNew);
                                            g2.setPaintMode();
                        finally
                                  g.dispose();
              /** Activates the Thread **/
              public void run()
                   int i = 0;
                   while(!interrupted() && i<100)
                        try
                                       for(i = 0 ; i <100 ; i++)
                                                 //draw ball in old position                                             move();          
                                                 sleep(100);                              
                             catch(InterruptedException e)
    public class AgentPanel extends JPanel
              /** local copy of internal frame */
              private JInternalFrame frame;
              public AgentPanel(JInternalFrame _frame)
                        frame = _frame;
                        setSize(frame.getWidth(), frame.getHeight());
                        setBackground(Color.white);          
              public void paintComponent(Graphics g)
                        super.paintComponent(g);
    Thank you in advance.
    Ravs

    I have the same problem. Seems to be a bug. See:
    http://forum.java.sun.com/thread.jsp?forum=57&thread=231037
    Bummer.

  • Need to convert a JFrame to an jinternalframe

    Hello,
    I have an application that is comprised of 7 classes. I'm attempting to rewrite it so that the one class that I have which is for the JFrame is converted to an internal frame so that I can add the complete application to the desktop pane of a gui which I've created, to be a part of a bigger application. I've tried the code that converts JFrames to JInternalFrames but that doesn't seem to work, maybe I'm missing something here. I'm relatively new to the Java Programming world but I'm moving along. Any help is more than welcomed.

    Hello,
    I don't think you can directly convert a JFrame to JInternalFrame
    But panels are compatible
    (for example you can do this : yourJInternalFrame.setContent(yourJFrame.getContent);
    When i program in java, my main classes extends JPanel and not JFrame or JInternalFrame, then you can use this application into every frames or applets :)
    If you do that, set in your main:
    JFrame myJFrame = new JFrame(...);
    MyClass myClassWhichExtendsJPanel = new MYClass(...);
    yourJFrame.setContent(myClassWhichExtendsJPanel);

  • Repaint Problem in JInternalFrame!!!! help plz.

    hi,
    I have a question I have an application that has internal frames, Basically it is a MDI Application. I am using JDK 1.2.2 and windows 2000. The following example shows that when I drag my JInternalFrames only the border is shown and the contents are not shown as being dragged that's fine, but the application I am running have lot of components in my JInternalFrames. And when I drag the JInternalFrame my contents are not being dragged and that's what I want but when I let go the internalFrame it takes time to repaint all the components in the internalFrame. Is there any way I can make the repaint goes faster after I am done dragging the internalFrame. It takes lot of time to bring up the internalframe and it's components at a new location after dragging. Is there a way to speed up the repainting. The following example just shows how the outline border is shown when you drag the internalFrame. As there are not enough components in the internal frame so shows up quickly. But when there are lots of components specially gif images inside the internalframe it takes time.
    /*************** MDITest ************/
    import javax.swing.*;
    * An application that displays a frame that
    * contains internal frames in an MDI type
    * interface.
    * @author Mike Foley
    public class MDITest extends Object {
    * Application entry point.
    * Create the frame, and display it.
    * @param args Command line parameter. Not used.
    public static void main( String args[] ) {
    try {
    UIManager.setLookAndFeel(
    "com.sun.java.swing.plaf.windows.WindowsLookAndFeel" );
    } catch( Exception ex ) {
    System.err.println( "Exception: " +
    ex.getLocalizedMessage() );
    JFrame frame = new MDIFrame( "MDI Test" );
    frame.pack();
    frame.setVisible( true );
    } // main
    } // MDITest
    /*********** MDIFrame.java ************/
    import java.awt.*;
    import java.awt.event.*;
    import java.io.Serializable;
    import javax.swing.*;
    import javax.swing.border.*;
    import javax.swing.event.*;
    * A top-level frame. The frame configures itself
    * with a JDesktopPane in its content pane.
    * @author Mike Foley
    public class MDIFrame extends JFrame implements Serializable {
    * The desktop pane in our content pane.
    private JDesktopPane desktopPane;
    * MDIFrame, null constructor.
    public MDIFrame() {
    this( null );
    * MDIFrame, constructor.
    * @param title The title for the frame.
    public MDIFrame( String title ) {
    super( title );
    * Customize the frame for our application.
    protected void frameInit() {
    // Let the super create the panes.
    super.frameInit();
    JMenuBar menuBar = createMenu();
    setJMenuBar( menuBar );
    JToolBar toolBar = createToolBar();
    Container content = getContentPane();
    content.add( toolBar, BorderLayout.NORTH );
    desktopPane = new JDesktopPane();
    desktopPane.putClientProperty("JDesktopPane.dragMode", "outline");
    desktopPane.setPreferredSize( new Dimension( 400, 300 ) );
    content.add( desktopPane, BorderLayout.CENTER );
    } // frameInit
    * Create the menu for the frame.
    * <p>
    * @return The menu for the frame.
    protected JMenuBar createMenu() {
    JMenuBar menuBar = new JMenuBar();
    JMenu file = new JMenu( "File" );
    file.setMnemonic( KeyEvent.VK_F );
    JMenuItem item;
    file.add( new NewInternalFrameAction() );
    // file.add( new ExitAction() );
    menuBar.add( file );
    return( menuBar );
    } // createMenuBar
    * Create the toolbar for this frame.
    * <p>
    * @return The newly created toolbar.
    protected JToolBar createToolBar() {
    final JToolBar toolBar = new JToolBar();
    toolBar.setFloatable( false );
    toolBar.add( new NewInternalFrameAction() );
    // toolBar.add( new ExitAction() );
    return( toolBar );
    * Create an internal frame.
    * A JLabel is added to its content pane for an example
    * of content in the internal frame. However, any
    * JComponent may be used for content.
    * <p>
    * @return The newly created internal frame.
    public JInternalFrame createInternalFrame() {
    JInternalFrame internalFrame =
    new JInternalFrame( "Internal JLabel" );
    internalFrame.getContentPane().add(
    new JLabel( "Internal Frame Content" ) );
    internalFrame.setResizable( true );
    internalFrame.setClosable( true );
    internalFrame.setIconifiable( true );
    internalFrame.setMaximizable( true );
    internalFrame.pack();
    return( internalFrame );
    * An Action that creates a new internal frame and
    * adds it to this frame's desktop pane.
    public class NewInternalFrameAction extends AbstractAction {
    * NewInternalFrameAction, constructor.
    * Set the name and icon for this action.
    public NewInternalFrameAction() {
    super( "New", new ImageIcon( "new.gif" ) );
    * Perform the action, create an internal frame and
    * add it to the desktop pane.
    * <p>
    * @param e The event causing us to be called.
    public void actionPerformed( ActionEvent e ) {
    JInternalFrame internalFrame = createInternalFrame();
    desktopPane.add( internalFrame,
    JLayeredPane.DEFAULT_LAYER );
    } // NewInternalFrameAction
    } // MDIFrame
    I'll really appreciate for any help.
    Thank you

    Hi
    if you fill the ranges
    r_rundate-sign = 'I'.
    r_rundate-option = 'EQ'.
    r_rundate-low = '20080613'.
    r_rundate-high = '20080613'.
    APPEND r_rundate.
    EQ = 'equal', the select check the record with data EQ r_rundate-low.
    change EQ with BT  
    BT = between
    r_rundate-sign = 'I'.
    r_rundate-option = 'BT'.
    r_rundate-low = '20080613'.
    r_rundate-high = '20080613'.
    APPEND r_rundate.
    reward if useful, bye

  • Problems getting data from JMenuBar to JInternalFrame

    I have modified an example to show my problem. I am trying to take text input from the menu bar and print it into a JTextArea. I don't know how to reference the data in my ActionListener.
    The ActionListener is incomplete, but this is basically what I am trying to do:
    import javax.swing.JInternalFrame;
    import javax.swing.JDesktopPane;
    import javax.swing.JMenu;
    import javax.swing.JMenuItem;
    import javax.swing.JMenuBar;
    import javax.swing.JFrame;
    import javax.swing.KeyStroke;
    import javax.swing.*;
    import java.awt.event.*;
    import java.awt.*;
    * InternalFrameDemo.java is a 1.4 application that requires:
    *   MyInternalFrame.java
    public class InternalFrameDemo extends JFrame
                                   implements ActionListener {
        JDesktopPane desktop;
        JTextField memAddrBox;
        JTextArea menuText;
        JTextArea frame;
        String textFieldString = " Input Text: ";
        ActionListener al;
        public InternalFrameDemo() {
            super("InternalFrameDemo");
            //Make the big window be indented 50 pixels from each edge
            //of the screen.
            int inset = 50;
            Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
            setBounds(inset, inset,
                      screenSize.width  - inset*2,
                      screenSize.height - inset*2);
            //Set up the GUI.
            desktop = new JDesktopPane(); //a specialized layered pane
            frame = createFrame(); //create first "window"
            setContentPane(desktop);
            setJMenuBar(createMenuBar());
            //Make dragging a little faster but perhaps uglier.
            desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
        protected JMenuBar createMenuBar() {
            JMenuBar menuBar = new JMenuBar();
            JLabel memAddrLabel = new JLabel(textFieldString);
            memAddrLabel.setLabelFor(memAddrBox);
            menuBar.add(memAddrLabel);
            JTextField memAddrBox = new JTextField();
            memAddrBox.addActionListener(this);
            memAddrBox.setActionCommand("chMemAddr");
            menuBar.add(memAddrBox);
            return menuBar;
        //React to menu selections.
        public void actionPerformed(ActionEvent e) {
            if ("chMemAddr".equals(e.getActionCommand())) 
                JMenuBar bar = getJMenuBar();
    //            JTextField memAddrBox = bar.getParent();
                String memStartString = memAddrBox.getText();
                update(memStartString);
        public void update(String temp)
            frame.setText(temp);
        //Create a new internal frame.
        protected JTextArea createFrame() {
            JInternalFrame frame = new JInternalFrame("Memory",true,true,true,true);      
            frame.setSize(650, 500);
            frame.setVisible(true);
            frame.setLocation(200, 0);
            desktop.add(frame);  
            JTextArea textArea = new JTextArea();
            frame.getContentPane().add("Center", textArea);
            textArea.setFont(new Font("SansSerif", Font.PLAIN, 12));
            textArea.setVisible(true);
            textArea.setText("Initial Text");
            return textArea;
        //Quit the application.
        protected void quit() {
            System.exit(0);
        public static void main(String[] args) {
            //Make sure we have nice window decorations.
            JFrame.setDefaultLookAndFeelDecorated(true);
            //Create and set up the window.
            InternalFrameDemo frame = new InternalFrameDemo();
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            //Display the window.
            frame.setVisible(true);
    class MyInternalFrame extends JInternalFrame {
        static int openFrameCount = 0;
        static final int xOffset = 30, yOffset = 30;
        public MyInternalFrame() {
            super("Document #" + (++openFrameCount),
                  true, //resizable
                  true, //closable
                  true, //maximizable
                  true);//iconifiable
            //...Create the GUI and put it in the window...
            //...Then set the window size or call pack...
            setSize(300,300);
            //Set the window's location.
            setLocation(xOffset*openFrameCount, yOffset*openFrameCount);
    }I want to take the input from the "memAddrBox" and put it into the "frame" using the update() method. Probably a simple solution, but I have not found a similar problem in the Forums.

    I knew it had to be something simple, here is the fix I found:
    import javax.swing.JInternalFrame;
    import javax.swing.JDesktopPane;
    import javax.swing.JMenu;
    import javax.swing.JMenuItem;
    import javax.swing.JMenuBar;
    import javax.swing.JFrame;
    import javax.swing.KeyStroke;
    import javax.swing.*;
    import java.awt.event.*;
    import java.awt.*;
    * InternalFrameDemo.java is a 1.4 application that requires:
    *   MyInternalFrame.java
    public class InternalFrameDemo extends JFrame
                                   implements ActionListener {
        JDesktopPane desktop;
        JTextField memAddrBox;
        JTextArea menuText;
        JTextArea frame;
        String textFieldString = " Input Text: ";
        ActionListener al;
        public InternalFrameDemo() {
            super("InternalFrameDemo");
            //Make the big window be indented 50 pixels from each edge
            //of the screen.
            int inset = 50;
            Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
            setBounds(inset, inset,
                      screenSize.width  - inset*2,
                      screenSize.height - inset*2);
            //Set up the GUI.
            desktop = new JDesktopPane(); //a specialized layered pane
            frame = createFrame(); //create first "window"
            setContentPane(desktop);
            setJMenuBar(createMenuBar());
            //Make dragging a little faster but perhaps uglier.
            desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
        protected JMenuBar createMenuBar() {
            JMenuBar menuBar = new JMenuBar();
            JLabel memAddrLabel = new JLabel(textFieldString);
            memAddrLabel.setLabelFor(memAddrBox);
            menuBar.add(memAddrLabel);
            JTextField memAddrBox = new JTextField();
            memAddrBox.addActionListener(this);
            memAddrBox.setActionCommand("chMemAddr");
            menuBar.add(memAddrBox);
            return menuBar;
        //React to menu selections.
        public void actionPerformed(ActionEvent e) {
            if ("chMemAddr".equals(e.getActionCommand())) 
               JTextField textField =
                 (JTextField)e.getSource();
                String memStartString = textField.getText();
                update(memStartString);
        public void update(String temp)
            frame.setText(temp);
        //Create a new internal frame.
        protected JTextArea createFrame() {
            JInternalFrame frame = new JInternalFrame("Memory",true,true,true,true);      
            frame.setSize(650, 500);
            frame.setVisible(true);
            frame.setLocation(200, 0);
            desktop.add(frame);  
            JTextArea textArea = new JTextArea();
            frame.getContentPane().add("Center", textArea);
            textArea.setFont(new Font("SansSerif", Font.PLAIN, 12));
            textArea.setVisible(true);
            textArea.setText("Initial Text");
            return textArea;
        //Quit the application.
        protected void quit() {
            System.exit(0);
        public static void main(String[] args) {
            //Make sure we have nice window decorations.
            JFrame.setDefaultLookAndFeelDecorated(true);
            //Create and set up the window.
            InternalFrameDemo frame = new InternalFrameDemo();
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            //Display the window.
            frame.setVisible(true);
    class MyInternalFrame extends JInternalFrame {
        static int openFrameCount = 0;
        static final int xOffset = 30, yOffset = 30;
        public MyInternalFrame() {
            super("Document #" + (++openFrameCount),
                  true, //resizable
                  true, //closable
                  true, //maximizable
                  true);//iconifiable
            //...Create the GUI and put it in the window...
            //...Then set the window size or call pack...
            setSize(300,300);
            //Set the window's location.
            setLocation(xOffset*openFrameCount, yOffset*openFrameCount);
    }Note the e.getSource() change in the ActionListener.

  • Opening a Second JInternalFrame

    Below I have two classes InternalFrameDemo instantiates MyInternalFrame (extends javax.swing.JInternalFrame ) in doing this the application creates a JDesktopPane and creates a MyInternalFrame to put in it.
    What I want to happen is when the jButton1 on the MyInternalFrame is clicked is for a second MyInternalFrame to open and the first MyInternalFrame to close is this possible?
    I think that I would need to have the action Method in MyInternalFrame trigger a method call in the InternalFrameDemo and do the closing and opening of new MyInternalFrame from there?
    Thanks
    package components;
    import javax.swing.JInternalFrame;
    import javax.swing.JDesktopPane;
    import javax.swing.JMenu;
    import javax.swing.JMenuItem;
    import javax.swing.JMenuBar;
    import javax.swing.JFrame;
    import javax.swing.KeyStroke;
    import java.awt.event.*;
    import java.awt.*;
    public class InternalFrameDemo extends JFrame
    implements ActionListener {
    JDesktopPane desktop;
    public InternalFrameDemo() {
    super("InternalFrameDemo");
    int inset = 50;
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    setBounds(inset, inset,
    screenSize.width - inset*2,
    screenSize.height - inset*2);
    desktop = new JDesktopPane();
    createFrame();
    setContentPane(desktop);
    setJMenuBar(createMenuBar());
    desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
    protected JMenuBar createMenuBar() {
    JMenuBar menuBar = new JMenuBar();
    JMenu menu = new JMenu("Document");
    menu.setMnemonic(KeyEvent.VK_D);
    menuBar.add(menu);
    JMenuItem menuItem = new JMenuItem("New");
    menuItem.setMnemonic(KeyEvent.VK_N);
    menuItem.setAccelerator(KeyStroke.getKeyStroke(
    KeyEvent.VK_N, ActionEvent.ALT_MASK));
    menuItem.setActionCommand("new");
    menuItem.addActionListener(this);
    menu.add(menuItem);
    return menuBar;
    public void actionPerformed(ActionEvent e) {
    if ("new".equals(e.getActionCommand())) {
    createFrame();
    } else {
    quit();
    protected void createFrame() {
    MyInternalFrame frame = new MyInternalFrame();
    frame.setVisible(true);
    desktop.add(frame);
    try {
    frame.setSelected(true);
    } catch (java.beans.PropertyVetoException e) {}
    MyInternalFrame frame2 = new MyInternalFrame();
    frame.setVisible(true);
    desktop.add(frame2);
    try {
    frame2.setSelected(true);
    } catch (java.beans.PropertyVetoException e) {}
    public void closeWin(){
    protected void quit() {
    System.exit(0);
    private static void createAndShowGUI() {
    JFrame.setDefaultLookAndFeelDecorated(true);
    InternalFrameDemo frame = new InternalFrameDemo();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
    public static void main(String[] args) {     
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
    public void run() {
    createAndShowGUI();
    /*MyInternalFrame */
    package components;
    public class MyInternalFrame extends javax.swing.JInternalFrame {
    @SuppressWarnings("unchecked")
    private void initComponents() {
    jButton1 = new javax.swing.JButton();
    jButton1.setText("jButton1");
    jButton1.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    jButton1ActionPerformed(evt);
    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addGap(152, 152, 152)
    .addComponent(jButton1)
    .addContainerGap(169, Short.MAX_VALUE))
    layout.setVerticalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addGap(108, 108, 108)
    .addComponent(jButton1)
    .addContainerGap(147, Short.MAX_VALUE))
    pack();
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
    this.dispose();
    private javax.swing.JButton jButton1;
    }

    Don't forget to use the Code Formatting Tags so the posted code retains its original formatting. That is done by selecting the code and then clicking on the "Code" button above the question input area.
    I think that I would need to have the action Method in MyInternalFrame trigger a method call in the InternalFrameDemo and do the closing and opening of new MyInternalFrame from there?Correct. So give it a try and see what happens.

Maybe you are looking for

  • List of issues with new look bt vision

    Hi, There are a lot of things that are no longer present in the new look bt vision. As such they out weigh the "benefits" Will these issues be addressed at all - and is BT aware of them? Issues: 1. crashing - it crashes randomly once a week - the old

  • My iphone 3gs keeps telling me to connect to itunes

    my iphone 3gs keeps telling me to connect to itunes, when i do it tells me that it needs to be restored, but it doesnt restore, instead it says error 1013

  • How to factory default reset gen 3 with fast flashing led

    After the holiday power outages here in NH, I find my Apple TV (3rd gen) with a fast blinking LED. Tried to connect via USB directly to my Mac Mini with Yosemite 10.10.1 and nothing... iTunes does not show the device. Tried several USB cables. Any su

  • Internet and email abroad

    Does anyone know if I can buy temporary blackberry service in the Philippines?  My cell is unlocked and I can send txts and call.  I would like to have access to the internet so as to receive my emails and IMs as well.  I found one provider, but they

  • Deletion of process orders

    Hi Gurus, I have more than 1000 process orders which have deletion flag set. Please tell me how should i remove deletion flag for all of them . I mean mass deletion of deletion of flag for the process orders. regards Kaisar