I have tried to rezize my output window by changing the values in the width and legth - nothing happens. What am I doing wrong?

private final static int    FRAME_GRID_ROWS     = 3;
    private final static int    FRAME_GRID_COLS     = 1;

    private final static int    FIELD_PANEL_ROWS    = 10;
    private final static int    FIELD_PANEL_COLS    = 5;

    private final static int    MAIN_PANEL_ROWS     = 1;
    private final static int    MAIN_PANEL_COLS     = 4;


    private final static String EMPTY_ARRAY_MESSAGE = "Hit ADD to add a new Book";

    private final static int    FRAME_WIDTH        = 350;
    private final static int    FRAME_LENGTH       = 300;
    private final static int    FRAME_XLOC         = 250;
    private final static int    FRAME_YLOC         = 100;

I also tried making changes in this part of the code to no avail. No matter what I change the numbers to, my window opens up the same size. Is there some code somewhere that controls this that I am not seeing?

//Set some of the frame properties
        setSize( 350, 570 );
        setLocation( FRAME_XLOC , FRAME_YLOC );
        pack();
        setResizable(true);
        setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        setVisible( true );

Here is the rest of the code for this file, there are 2 more files with this program, but I don't think they have any code that would affect the size of the output window.

import javax.swing.*;
import java.awt.*;
import java.awt.event.*; //For java.awt.
import java.util.Arrays;

public class Inventory6 extends JFrame
{

    //Private Variables

    //The private data
    private Book [] book;             //The inventory -- an array of Books
    private int index;              //An index for keep track of the Book to display

    //Panels
    private JPanel logoPanel;       //Panel for placing the logo label
    private JPanel fieldPanel;      //Panel for placing the JTextFields and their JLabels
    private JPanel mainPanel;       //Panel for placing the main JButtons

    //Labels
    private JLabel logoLabel;       //Label for displaying the logo
    private JLabel nameLabel;       //Label for the product name
    private JLabel idLabel;         //Label for the product id
    private JLabel pagesLabel;      //Label for the Book pages
    private JLabel unitsLabel;      //Label for the units in stock
    private JLabel priceLabel;      //Label for the price
    private JLabel valueLabel;      //Label for the stock value
    private JLabel feeLabel;        //Label for the restocking fee
    private JLabel totalLabel;      //Label for the total value of the inventory

    //Text Fields
    private JTextField nameText;    //Field for displaying/editing the product name
    private JTextField idText;      //Field for displaying/editing the product id
    private JTextField pagesText;   //Field for displaying/editing the Book pages
    private JTextField unitsText;   //Field for displaying/editing the units in stock
    private JTextField priceText;   //Field for displaying/editing the Book price
    private JTextField valueText;   //Field for displaying/editing the Book stock value
    private JTextField feeText;     //Field for displaying/editing the Book restocking fee
    private JTextField totalText;   //Field for displaying/editing the total inventory value

    //Navigation Buttons
    private JButton firstButton;    //Button for moving to the first element in the array
    private JButton nextButton;     //Button for moving to the next element in the array
    private JButton previousButton; //Button for moving to the next element in the array
    private JButton lastButton;     //Button for moving to the first element in the array

    //Constants
    private final static int    FRAME_GRID_ROWS     = 3;
    private final static int    FRAME_GRID_COLS     = 1;

    private final static int    FIELD_PANEL_ROWS    = 10;
    private final static int    FIELD_PANEL_COLS    = 5;

    private final static int    MAIN_PANEL_ROWS     = 1;
    private final static int    MAIN_PANEL_COLS     = 4;


    private final static String EMPTY_ARRAY_MESSAGE = "Hit ADD to add a new Book";

    private final static int    FRAME_WIDTH        = 350;
    private final static int    FRAME_LENGTH       = 300;
    private final static int    FRAME_XLOC         = 250;
    private final static int    FRAME_YLOC         = 100;

    //Constructors


    //Initialization constructor
    // Starts the GUI with a Book array passed by the user, but ensures unique identification numbers
    public Inventory6( Book bookIn[] )
    {
        //Pass the frame title to JFrame and set the IconImage as well
        //"Kim's Book Inventory
        super( "Kim's Book Inventory" );

        //Set the input array equal to the private array variable
        book = bookIn;

        //Sort the array
        Arrays.sort( book );

        //Always start the display at the first element of the array
        index = 0;

        //Build the GUI
        buildGUI();

        //Give it some values
        updateAllTextFields();
    }

    //Set/Update/Other Methods


    //A method for updating each of the GUI fields
    private void updateAllTextFields()
    {
        if ( book.length > 0 ) //The update the TextField display
        {
            //Update the product name text field
            nameText.setText( book[index].getName() );

            //Update the product id text field
            idText.setText( String.format( "%d", book[index].getIdentificationNumber() )  );

            //Update the pages text field
            pagesText.setText( String.format( "%d", book[index].getPages() )  );

            //Update the units in stock text field
            unitsText.setText( String.format( "%d", book[index].getUnitsInStock() ) );

            //Update the price text field
            priceText.setText( String.format( "$%.2f" , book[index].getUnitPriceInDollars() ));

            //Update the stock value text field
            valueText.setText( String.format( "$%.2f" , book[index].stockValueInDollars() ));

            //Update the restocking fee text field
            feeText.setText( String.format( "$%.2f" , book[index].restockingFee() ));

            //Update the total value text field
            totalText.setText( String.format( "$%.2f" , Product.totalInventoryValue( book ) ));

        }//End if
        else //Put a special message in the fields
        {
            //Update the product name text field
            nameText.setText( EMPTY_ARRAY_MESSAGE );

            //Update the product id text field
            idText.setText( EMPTY_ARRAY_MESSAGE );

            //Update the pages text field
            pagesText.setText( EMPTY_ARRAY_MESSAGE );

            //Update the units in stock text field
            unitsText.setText( EMPTY_ARRAY_MESSAGE );

            //Update the price text field
            priceText.setText( EMPTY_ARRAY_MESSAGE );

            //Update the stock value text field
            valueText.setText( EMPTY_ARRAY_MESSAGE );

            //Update the restocking fee text field
            feeText.setText( EMPTY_ARRAY_MESSAGE );

            //Update the total value text field
            totalText.setText( EMPTY_ARRAY_MESSAGE );

        }//End else

    }//End updateAllTextFields


    //Update the display for the calculated fields
    private void updateCalculatedFields()
    {
        //Update the stock value text field
        valueText.setText( String.format( "$%.2f" , book[index].stockValueInDollars() ));

        //Update the restocking fee text field
        feeText.setText( String.format( "$%.2f" , book[index].restockingFee() ));

        //Update the total value text field
        totalText.setText( String.format( "$%.2f" , Product.totalInventoryValue( book ) ));

    }//End updateCalculatedFields


    //Set the appropriate fields editable or uneditable
    private void setModifiableTextFieldsEnabled( Boolean state )
    {
       //The Book name, ID, pages, units in stock, and price can all be set editable or uneditable
       nameText.setEditable( true );
       pagesText.setEditable( true );
       unitsText.setEditable( true);
       priceText.setEditable( true );

    }//End setModifiableTextFieldsEnabled



    //Button and Text Handlers and Methods

    //Button Handler Class and Handling Methods

    //The handler for handling the events for the buttons
    private class ButtonHandler implements ActionListener
    {
        public void actionPerformed(ActionEvent event)
        {
            if( event.getSource() == firstButton )           //|<<| pressed
            {
                handleFirstButton();

            }//End if

            else if( event.getSource() == previousButton )   //|< | pressed
            {
                handlePreviousButton();

            }//End else if
            else if( event.getSource() == nextButton )       //| >| pressed
            {
                handleNextButton();

            }//End else if
            else if( event.getSource() == lastButton )       //|>>| pressed
            {
                handleLastButton();

            }//End else if

          }//End method actionPerformed

    }//End class ButtonHandler



    //Display the first element of the Book array
    private void handleFirstButton()
    {
        //Set the index to the first element in the array
        index = 0;

        //Update and disable modification
        updateAllTextFields();
        setModifiableTextFieldsEnabled( false );

    }//End method handleFirstButton


    //Display the previous element of the Book array or wrap to the last
    private void handlePreviousButton()
    {
        //Decrement the index
        index--;

        //If index is less than 0, wrap around to the last element of the array
        if ( index < 0 )
        {
            index = book.length - 1;

        }//End if

        //Update and disable modification
        updateAllTextFields();
        setModifiableTextFieldsEnabled( false );

    }//End method handlePreviousButton

 //Display the next element of the Book array or wrap to the first
    private void handleNextButton()
    {
        //Increment the index
        index++;

        //If index exceeds the last valid array, wrap around to the first element of the array
        if ( index > book.length - 1)
        {
            index = 0;

        }//End if

        //Update and disable modification
        updateAllTextFields();
        setModifiableTextFieldsEnabled( false );

    }//End method handleNextButton


     //Display the last element of the Book array
        private void handleLastButton()
        {
            //Set the index to the last book in the array
            index = book.length - 1;

            //Update and disable modification
            updateAllTextFields();
            setModifiableTextFieldsEnabled( false );

         }//End method handleLastButton


    //GUI Building Methods

    //Build the GUI
    private void buildGUI()
    {
        //Make a grid for the panels
        setLayout( new GridLayout( FRAME_GRID_ROWS, FRAME_GRID_COLS ) );

        //Add the logo
        buildLogo();

        //Add the text fields, their labels, and the SEARCH line
        buildFields();

        //Add the navigation and other buttons
        buildMainButtons();

        //Set some of the frame properties
        setSize( 350, 570 );
        setLocation( FRAME_XLOC , FRAME_YLOC );
        pack();
        setResizable(true);
        setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        setVisible( true );

    }//End buildGUI()


    //Add the logo to the JFrame
    private void buildLogo()
    {
        //Create the panel on which to place the logo
        logoPanel = new JPanel();
        logoPanel.setLayout( new GridLayout( 1, 1 ) );

        //Create the logo
        logoLabel = new JLabel( new ImageIcon( "book10.gif" ) );

        //Add the logo to the panel
        logoPanel.add( logoLabel );

        //Add the panel to the frame
        add( logoPanel );

    }//End method buildLogo

    //Add the text fields, their labels, and the SEARCH line
    private void buildFields()
    {
        //Create the panel on which to place the labels and text fields
        fieldPanel = new JPanel();
        fieldPanel.setLayout( new GridLayout( FIELD_PANEL_ROWS, FIELD_PANEL_COLS ) );

        //Declare a handler for the buttons
        ButtonHandler buttonHandler = new ButtonHandler();

        //Create the name label
        nameLabel = new JLabel( "Name: " );
        nameLabel.setLabelFor( nameText );
        fieldPanel.add( nameLabel );

        //Create the name text field
        nameText = new JTextField( "NONE" );
        nameText.setEditable( true );
        fieldPanel.add( nameText );

        //Create the id label
        idLabel = new JLabel( "ID: " );
        idLabel.setLabelFor( idText );
        fieldPanel.add( idLabel );

        //Create the id text field
        idText = new JTextField( "0" );
        idText.setEditable( true );
        fieldPanel.add( idText );

        //Create the pages label
        pagesLabel = new JLabel( "Pages: " );
        pagesLabel.setLabelFor( pagesText );
        fieldPanel.add( pagesLabel );

        //Create the pages text field
        pagesText = new JTextField( "" );
        pagesText.setEditable( true );
        fieldPanel.add( pagesText );

        //Create the units in stock label
        unitsLabel = new JLabel( "Units in Stock: " );
        unitsLabel.setLabelFor( unitsText );
        fieldPanel.add( unitsLabel );

        //Create the units in stock text field
        unitsText = new JTextField( "" );
        unitsText.setEditable( true );
        fieldPanel.add( unitsText );

        //Create the unit price label
        priceLabel = new JLabel( "Unit Price: " );
        priceLabel.setLabelFor( priceText );
        fieldPanel.add( priceLabel );

        //Create the unit price text field
        priceText = new JTextField( "" );
        priceText.setEditable( true );
        fieldPanel.add( priceText );

        //Create the stock value label
        valueLabel = new JLabel( "Unit Stock Value: " );
        valueLabel.setLabelFor( valueText );
        fieldPanel.add( valueLabel );

        //Create the stock value text field
        valueText = new JTextField( "" );
        valueText.setEditable( true );
        fieldPanel.add( valueText );

        //Create the restocking fee label
        feeLabel = new JLabel( "Restocking Fee: " );
        feeLabel.setLabelFor( feeText );
        fieldPanel.add( feeLabel );

         //Create the restocking fee text field
        feeText = new JTextField( "" );
        feeText.setEditable( true );
        fieldPanel.add( feeText );

        //Add two labels that create a space between the other fields and the total inventory value field
        fieldPanel.add( new JLabel( " " ) );
        fieldPanel.add( new JLabel( " " ) );

        //Create the total inventory value label
        totalLabel = new JLabel( "Total Inventory Value: " );
        totalLabel.setLabelFor( totalText );
        fieldPanel.add( totalLabel );

         //Create the total inventory value text field
        totalText = new JTextField( "" );
        totalText.setEditable( false );
        fieldPanel.add( totalText );

        //Add two labels that create a space between the total inventory value field and the search line
        fieldPanel.add( new JLabel( " " ) );
        fieldPanel.add( new JLabel( " " ) );

        //Add the panel to the frame
        add( fieldPanel );

    }//End buildFields

    //Add the main buttons to the frame
    private void buildMainButtons()
    {

       //Create the JPanel for the main buttons
       mainPanel = new JPanel();
       mainPanel.setLayout( new GridLayout( MAIN_PANEL_ROWS, MAIN_PANEL_COLS ) );

       //Create the FIRST (<<) button
       firstButton    = new JButton( "<<" );
       firstButton.addActionListener( new ButtonHandler() );
       mainPanel.add( firstButton );

       //Create the PREVIOUS (<) button
       previousButton    = new JButton( "< " );
       previousButton.addActionListener( new ButtonHandler() );
       mainPanel.add( previousButton );

       //Create the NEXT (>) button
       nextButton    = new JButton( ">" );
       nextButton.addActionListener( new ButtonHandler() );
       mainPanel.add( nextButton );

       //Create the LAST (>>) button
       lastButton    = new JButton( ">>" );
       lastButton.addActionListener( new ButtonHandler() );
       mainPanel.add( lastButton );

       //Add the main button panel to the frame
       add( mainPanel );

    }//End method buildMainButtons



    //Main Method

    //FutureValuePanel

    //Provide a main method for genepages the GUI
    public static void main( String args[] )
    {

        //Create some sample Books
        Book myBook[] = new Book[4];

        myBook[0] = new Book("Inkspell", "Funke, Cornellia", 635, 1, 600, 20.00);
        myBook[1] = new Book("Thousand Orcs, The", "Salvatore, RA",345, 2, 700, 25.95);
        myBook[2] = new Book("Harry Potter and the Half Blood Prince", "Rowling, JK", 652, 3, 800, 29.99);
        myBook[3] = new Book("Magyk", "Sage, Angie", 564, 4, 900, 18.89);
        Inventory6 gui = new Inventory6( myBook );
    }

} //End class Inventory6

Any help would be greatl appreiciated.

Thank you! :)

-bigbluesky

You just need to move the call to setSize() after pack(). Read the method description on pack() and you will see where the sizing issue is coming from.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.