Results 1 to 8 of 8
  1. #1
    kewlgeye is offline Member
    Join Date
    Apr 2008
    Posts
    34
    Rep Power
    0

    Default JOptionPane Display Difficulties

    Hello to all

    I am trying to practice with arrays and GUI's using joptionpanes or boxes as well.

    I am having difficulty with viewing the resulting windows. If you enter 5 as the size of the array then the window should print 5 4 3 2 1 in the messagebox but instead it freezes after I enter 5 and nothing happens, also if I just use the CMD to deliver the message "Please enter the size of the array: " then it works but I have to select ok 5 seperate times for each number instead of one box displaying 5 4 3 2 1.

    How can I fix this. Here is the code that I made


    Java Code:
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import javax.swing.JOptionPane;
    
    public class array{
    	static Scanner console = new Scanner(System.in);
    	JFrame frame;
      
    public array(){
    	frame = new JFrame("Array");
    	JButton button = new JButton("Enter Here");
    	button.addActionListener(new MyAction());
    	frame.add(button);
    	frame.setSize(400, 400);
    	frame.setVisible(true);
    	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	}
    
    
    public class MyAction implements ActionListener{
    	public void actionPerformed(ActionEvent e){
    		JOptionPane.showInputDialog(null, "" + "Enter the size of the array: ");
    		int arraySize;
    		arraySize = console.nextInt();	
    		int[] list = new int[arraySize];
    		for (arraySize = 0; arraySize < list.length; arraySize++)
    		if (arraySize == 0) continue;
    		else
    		JOptionPane.showMessageDialog(frame, "" + arraySize + " " +
    		"is your number", "Your Silly Numbers", 
    		JOptionPane.INFORMATION_MESSAGE);
    		JOptionPane.showMessageDialog(frame, "" + list.length + " " +
    		"is your number", "Your Silly Numbers", 
    		JOptionPane.INFORMATION_MESSAGE);
    		
    	}
    }
    
    
    public static void main(String[] args){
        array db = new array();
    	}
    }

  2. #2
    hardwired's Avatar
    hardwired is offline Senior Member
    Join Date
    Jul 2007
    Posts
    1,576
    Rep Power
    9

    Default

    This blocks input at the console
    Java Code:
    int arraySize = console.nextInt();
    Java Code:
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import javax.swing.*;
    
    public class AnArrayTest {
        Scanner console = new Scanner(System.in);
        JFrame frame;
      
        public AnArrayTest() {
            frame = new JFrame("Array");
            JButton button = new JButton("Enter Here");
            button.addActionListener(new MyAction());
            JPanel panel = new JPanel();
            panel.add(button);
            frame.add(panel);
            frame.setSize(400, 400);
            frame.setVisible(true);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
    
        public class MyAction implements ActionListener{
            public void actionPerformed(ActionEvent e){
                String input = JOptionPane.showInputDialog(null,
                                          "Enter the size of the array: ");
                int arraySize = //console.nextInt();
                                Integer.parseInt(input.trim());
                int[] list = new int[arraySize];
                for (int arrayIndex = 0; arrayIndex < list.length; arrayIndex++) {
                    list[arrayIndex] = arraySize - arrayIndex;
                }
                String values = Arrays.toString(list);
                JOptionPane.showMessageDialog(frame, values + " " +
                                      "is your number", "Your Silly Numbers", 
                                       JOptionPane.INFORMATION_MESSAGE);
                }
            }
    
        public static void main(String[] args){
            new AnArrayTest();
        }
    }

  3. #3
    kewlgeye is offline Member
    Join Date
    Apr 2008
    Posts
    34
    Rep Power
    0

    Default JOptionPane Display Difficulties

    Thank you this worked well. i understand everything you did except this statement in the code

    String values = Arrays.toString(list);

    Also can I get the lines to print after 45 numbers on a new line. I am going to look this up and if I figure it out before someone posts I will post my findings.

    Thanks

  4. #4
    kewlgeye is offline Member
    Join Date
    Apr 2008
    Posts
    34
    Rep Power
    0

    Default JOptionPane Display Difficulties

    This is what I changed. it compiles, but I am still not able to start a new line after 40 numbers show.

    Java Code:
    public class MyAction implements ActionListener{
            public void actionPerformed(ActionEvent e){
                String input = JOptionPane.showInputDialog(null,
                                          "Enter the size of the array: ");
                int arraySize = //console.nextInt();
                                Integer.parseInt(input.trim());
                int[] list = new int[arraySize];
                for (int arrayIndex = 0; arrayIndex < list.length; arrayIndex++){
    	    list[arrayIndex] = arraySize - arrayIndex;}
    
                values = Arrays.toString(list);
    	    if ((arraySize - 0 + 1) % 40 != 0)
    
                JOptionPane.showMessageDialog(frame, values + " " +
                                      "are your numbers", "Your Silly Numbers", 
                                       JOptionPane.INFORMATION_MESSAGE);
    
                }
            }

  5. #5
    Eranga's Avatar
    Eranga is offline Moderator
    Join Date
    Jul 2007
    Location
    Colombo, Sri Lanka
    Posts
    11,371
    Blog Entries
    1
    Rep Power
    20

    Default

    Quote Originally Posted by kewlgeye View Post
    String values = Arrays.toString(list);
    It's the string representation of the array specified.

  6. #6
    Eranga's Avatar
    Eranga is offline Moderator
    Join Date
    Jul 2007
    Location
    Colombo, Sri Lanka
    Posts
    11,371
    Blog Entries
    1
    Rep Power
    20

    Default

    Ok, everything is start from the user input size. Say the input is 45. What you want to do is, display 40 in one line and remain 5 is in the next line.

    You try it in some way, what you want to do is do the same process for different sizes. Got it?

  7. #7
    kewlgeye is offline Member
    Join Date
    Apr 2008
    Posts
    34
    Rep Power
    0

    Default

    if ((arraySize - 0 + 1) % 40 != 0)


    This is the only thing that I know how to do in order to accomplish my goal. I read this off of a site, that is the if statement above.
    I don't know how to get it to print to the next line after 40 number. I thought that the statement above did this and my placement of it was ok. This is where I need help. Either showing me, or a link that shows how to accomplish this within a JOptionPaneShowMessage window.

  8. #8
    hardwired's Avatar
    hardwired is offline Senior Member
    Join Date
    Jul 2007
    Posts
    1,576
    Rep Power
    9

    Default

    "arraySize" is a constant.
    Java Code:
                int arraySize = Integer.parseInt(input.trim());
                int[] list = new int[arraySize];
                for (int i = 0; i < list.length; i++) {
                    list[i] = i+1;
                }
                String values = "";
                for(int i = 0; i < list.length; i++) {
                    values += list[i];
                    if(i < list.length-1)
                        values += ", ";
                    if((i + 1) % 40 == 0)
                        values += "\n";
                }
                JOptionPane.showMessageDialog(frame, values + " " +...

Similar Threads

  1. JOptionPane (customizing)
    By Java Tip in forum Java Tip
    Replies: 0
    Last Post: 03-14-2008, 12:39 PM
  2. JOptionPane - showConfirmDialog(...) options
    By Java Tip in forum Java Tip
    Replies: 0
    Last Post: 12-17-2007, 10:38 AM
  3. About JOptionPane.showMessageDialog
    By jhetfield18 in forum AWT / Swing
    Replies: 2
    Last Post: 11-02-2007, 11:45 PM
  4. About JOptionPane.showMessageDialog
    By jhetfield18 in forum Advanced Java
    Replies: 0
    Last Post: 11-02-2007, 11:56 AM
  5. problems with JOptionPane
    By oregon in forum AWT / Swing
    Replies: 2
    Last Post: 08-05-2007, 06:58 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •