Results 1 to 8 of 8
Thread: JOptionPane Display Difficulties
- 05-08-2008, 09:00 PM #1
Member
- Join Date
- Apr 2008
- Posts
- 34
- Rep Power
- 0
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(); } }
- 05-08-2008, 09:31 PM #2
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(); } }
- 05-09-2008, 03:13 AM #3
Member
- Join Date
- Apr 2008
- Posts
- 34
- Rep Power
- 0
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
- 05-09-2008, 04:08 AM #4
Member
- Join Date
- Apr 2008
- Posts
- 34
- Rep Power
- 0
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); } }
- 05-09-2008, 04:44 AM #5
- Join Date
- Jul 2007
- Location
- Colombo, Sri Lanka
- Posts
- 11,374
- Blog Entries
- 1
- Rep Power
- 18
- 05-09-2008, 05:25 AM #6
- Join Date
- Jul 2007
- Location
- Colombo, Sri Lanka
- Posts
- 11,374
- Blog Entries
- 1
- Rep Power
- 18
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?
- 05-09-2008, 07:13 PM #7
Member
- Join Date
- Apr 2008
- Posts
- 34
- Rep Power
- 0
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.
- 05-09-2008, 08:09 PM #8
"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
-
JOptionPane (customizing)
By Java Tip in forum Java TipReplies: 0Last Post: 03-14-2008, 11:39 AM -
JOptionPane - showConfirmDialog(...) options
By Java Tip in forum Java TipReplies: 0Last Post: 12-17-2007, 09:38 AM -
About JOptionPane.showMessageDialog
By jhetfield18 in forum AWT / SwingReplies: 2Last Post: 11-02-2007, 10:45 PM -
About JOptionPane.showMessageDialog
By jhetfield18 in forum Advanced JavaReplies: 0Last Post: 11-02-2007, 10:56 AM -
problems with JOptionPane
By oregon in forum AWT / SwingReplies: 2Last Post: 08-05-2007, 05:58 PM


LinkBack URL
About LinkBacks
Reply With Quote

Bookmarks