Creating Button Array Error
Rookie here, I'm attempting to create a button array but I get the following errors:
import javax.swing.*;
import java.awt.*;
import java.text.*;
public class CreateButtonArray extends JFrame{
public static void main(String[] args){
CreateButtonArray calcPad = new CreateButtonArray();
calcPad.setVisible(true);
public CreateButtonArray(){
super("Calculator");
setSize(200, 300);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
JPanel numPad = new JPanel();
numPad.setLayout(new GridLayout(4, 4, 5, 5));
add(numPad.CENTER);
private static final String[] buttons = { // CreateButtonArray.java:23: illegal start of expression
"7", "8", "9", "/",
"4", "5", "6", "*",
"1", "2", "3", "-",
"0", "CE", "C", "+"
private static final JButton [] calcButtons = new JButton[buttons.length];
for(int i = 0; i < buttons.length; i++){ // "for" <-- CreateButtonArray.java:34: illegal start of type
JButton b = new JButton(buttons); // buttons.length; <-- CreateButtonArray.java:34: > expected
calcButton[i] = b; / i++; <-- CreateButtonArray.java:34: <identifier> expected
numPad.add(calcButton); //
}//CreateButtonArray.java:41: class, interface, or enum expecte
Thank you, AnanSmriti . See I told you I was a rookie. During my travel back home today I read up on Methods and Arrays. It seems I fix (with the forums feedback), I find another one. Here is my latest error. Again, thanks all for your assistance. This is very educational.
Error: CreateButtonArray.java:40: cannot find symbol
symbol : method add(javax.swing.JButton[])
location: class javax.swing.JPanel
numPad.add(calcButton);
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;
import java.awt.*;
import java.text.*;
public class CreateButtonArray extends JFrame{
public static void main(String[] args){
CreateButtonArray calcPad = new CreateButtonArray();
calcPad.setVisible(true);
public CreateButtonArray(){
super("Calculator");
setSize(200, 300);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
JPanel numPad = new JPanel();
numPad.setLayout(new GridLayout(4, 4, 5, 5));
String[] buttons = {
"7", "8", "9", "/",
"4", "5", "6", "*",
"1", "2", "3", "-",
"0", "CE", "C", "+"
add(numPad);
JButton [] calcButton = new JButton[buttons.length];
for(int i = 0; i < buttons.length; i++){
JButton b = new JButton(buttons);
calcButton[i] = b;
numPad.add(calcButton); //Error is here
Similar Messages
-
How to create an array list of strings by using buttons?
HI, i need some guidance from you guys to help me out. How do i create a list of array whenever i click on a button it will generate a string and place it in an array row by row. if i dont click on the button it will ignore it and wont create the array. i have tried many technics such as looping and building array but it wont generate the list that i want.
Attachments:
untitled.JPG 97 KBI am not sure if I have understood your question correctly, but is the attached what you were looking for?
Adnan Zafar
Certified LabVIEW Architect
Coleman Technologies
Attachments:
Example.vi 12 KB
example.JPG 100 KB -
Using the values in a 1D array, I need to place them along the diagonal of a 2D array. Currently, I've been using INITIALIZE ARRAY VI to create 2D array of zeroes and then usE REPLACE ARRAY SUBSET to put the 1D array values on the diagonal. This works sometimes but I often get an error stating that the memory is full and that the application was stopped at INITIALIZE ARRAY.
I'd appreciate any advice on how to stop this from occuring.
Thanks and happy holidays,
Hunter (LabView 6.1 user)Weather is the same here, too.
Sorry about the PDF. I had forgotten about the PRTSCN option. See the attached JPG.
I'd send you an example input that is giving me problems but today, my computer seems to be behaving and the error hasn't popped up. This makes me believe that it's truly a memory problem with my machine.
This VI is a subVI used in several computationally intensive applications.
If you're still interested in playing with it, I will email it to you. Please send me your address. In fact, I see you're in the oil & gas industry and I'd like to hear what you're working on since I work in that industry as well.
Thanks again, Hunter ([email protected])
Attachments:
VI_Diagram.jpg 104 KB -
Getting error on clicking the create button in apps which is working fine
Hi All.
We had created an application using OAF technology which is working fine in Jdeveloper.
Basically the application consists of 3 pages.
1) MainPG
2) CreatePG
3) UpdatePG.
Now after deploying all the required files in apps environment,i am able to open the pages individually.
Now after opening the MainPG i clicked on the create button which directs to CreatePG,but CreatePG is not opening instead its giving below error.(Individually if i click on CreatePG,UpdatePG pages are opening),where as the CreatePG and UpdatePG working fine in Jdeveloper.
Below is the error i am receiving.PLease Help.
oracle.apps.fnd.framework.OAException: No data found for region (/oracle/apps/ar/VOAM/webui/CreatePG).
at oracle.apps.fnd.framework.webui.JRAD2AKMapper.getRootMElement(JRAD2AKMapper.java:529)
at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.getWebBeanTypeDataFromJRAD(OAWebBeanFactoryImpl.java:3719)
at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.getRootApplicationModuleClass(OAWebBeanFactoryImpl.java:3452)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1006)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:509)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:430)
at oa_html._OA._jspService(_OA.java:84)
at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:417)
at oracle.jsp.JspServlet.doDispatch(JspServlet.java:267)
at oracle.jsp.JspServlet.internalService(JspServlet.java:186)
at oracle.jsp.JspServlet.service(JspServlet.java:156)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
at oracle.jsp.provider.Jsp20RequestDispatcher.forward(Jsp20RequestDispatcher.java:162)
at oracle.jsp.runtime.OraclePageContext.forward(OraclePageContext.java:187)
at oa_html._OA._jspService(_OA.java:94)
at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:417)
at oracle.jsp.JspServlet.doDispatch(JspServlet.java:267)
at oracle.jsp.JspServlet.internalService(JspServlet.java:186)
at oracle.jsp.JspServlet.service(JspServlet.java:156)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
at org.apache.jserv.JServConnection.processRequest(JServConnection.java:456)
at org.apache.jserv.JServConnection.run(JServConnection.java:294)
at java.lang.Thread.run(Thread.java:534)
## Detail 0 ##
Exception:
oracle.adf.mds.MetadataDefException: Unable to find component with absolute reference = /oracle/apps/ar/VOAM/webui/CreatePG, XML Path = null. Please verify that the reference is valid and the definition of the component exists either on the File System or in the MDS Repository.
at oracle.adf.mds.internal.MetadataManagerBase.findElement(MetadataManagerBase.java:1350)
at oracle.adf.mds.MElement.findElement(MElement.java:97)
at oracle.apps.fnd.framework.webui.JRAD2AKMapper.getRootMElement(JRAD2AKMapper.java:503)
at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.getWebBeanTypeDataFromJRAD(OAWebBeanFactoryImpl.java:3719)
at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.getRootApplicationModuleClass(OAWebBeanFactoryImpl.java:3452)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1006)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:509)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:430)
at oa_html._OA._jspService(_OA.java:84)
at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:417)
at oracle.jsp.JspServlet.doDispatch(JspServlet.java:267)
at oracle.jsp.JspServlet.internalService(JspServlet.java:186)
at oracle.jsp.JspServlet.service(JspServlet.java:156)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
at oracle.jsp.provider.Jsp20RequestDispatcher.forward(Jsp20RequestDispatcher.java:162)
at oracle.jsp.runtime.OraclePageContext.forward(OraclePageContext.java:187)
at oa_html._OA._jspService(_OA.java:94)
at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:417)
at oracle.jsp.JspServlet.doDispatch(JspServlet.java:267)
at oracle.jsp.JspServlet.internalService(JspServlet.java:186)
at oracle.jsp.JspServlet.service(JspServlet.java:156)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
at org.apache.jserv.JServConnection.processRequest(JServConnection.java:456)
at org.apache.jserv.JServConnection.run(JServConnection.java:294)
at java.lang.Thread.run(Thread.java:534)
Exception:
oracle.adf.mds.MetadataDefException: Unable to find component with absolute reference = /oracle/apps/ar/VOAM/webui/CreatePG, XML Path = null. Please verify that the reference is valid and the definition of the component exists either on the File System or in the MDS Repository.
at oracle.adf.mds.internal.MetadataManagerBase.findElement(MetadataManagerBase.java:1350)
at oracle.adf.mds.MElement.findElement(MElement.java:97)
at oracle.apps.fnd.framework.webui.JRAD2AKMapper.getRootMElement(JRAD2AKMapper.java:503)
at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.getWebBeanTypeDataFromJRAD(OAWebBeanFactoryImpl.java:3719)
at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.getRootApplicationModuleClass(OAWebBeanFactoryImpl.java:3452)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1006)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:509)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:430)
at oa_html._OA._jspService(_OA.java:84)
at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:417)
at oracle.jsp.JspServlet.doDispatch(JspServlet.java:267)
at oracle.jsp.JspServlet.internalService(JspServlet.java:186)
at oracle.jsp.JspServlet.service(JspServlet.java:156)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
at oracle.jsp.provider.Jsp20RequestDispatcher.forward(Jsp20RequestDispatcher.java:162)
at oracle.jsp.runtime.OraclePageContext.forward(OraclePageContext.java:187)
at oa_html._OA._jspService(_OA.java:94)
at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:417)
at oracle.jsp.JspServlet.doDispatch(JspServlet.java:267)
at oracle.jsp.JspServlet.internalService(JspServlet.java:186)
at oracle.jsp.JspServlet.service(JspServlet.java:156)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
at org.apache.jserv.JServConnection.processRequest(JServConnection.java:456)
at org.apache.jserv.JServConnection.run(JServConnection.java:294)
at java.lang.Thread.run(Thread.java:534)Hi gaurav,
After your update i remember that the path should be uploaded one.i had imported the PG with the below command.
import f:\p4045639_11i_GENERIC\jdevbin\Tutorial\jdev\myprojects\oracle\apps\ar\VOAM\webui\UpdatePG.xml -rootdir f:\p4045639_11i_GENERIC\jdevbin\Tutorial\jdev\myprojects -userId vramana -rootPackage /oracle/apps/ar/VOAM/webui -username apps -password testmunim -dbconnection "(description = (address_list =(address = (community=tcp.world)(protocol = tcp)(host =)(port = )))(connect_data = (sid =TEST)))"
which has give imported page as /oracle/apps/ar/VOAM/webui/oracle/apps/ar/VOAM/webui/UpdatePG.I need to give this path in jdeveloper which i had forgotten,instead i have given as /oracle/apps/ar/VOAM/webui/UpdatePG.
My issue is resolved.
Thanks a lot gaurav and all the people who participated in this thread.
Regards -
Out of memory error when creating an array
I'm trying to create 3D array of Bytes.
Byte[][][] disk = disk = new Byte[11][9][25344];
This is where I get an OutofMemory error.
Please help!!!It is not as ballubadshah asserts a matter of how much memory you have but rather how much is allocated by default to the JVM heap.
This number according to http://java.sun.com/docs/hotspot/ism.html is 64megabytes.
When I run the following code, I get the number 64618496 which is just shy of 67108864, 64 meg. If I increase the array size I get the same error as you.
To get past this, you can increase the heap size at runtime with the option -Xmx###m where ### is the number of megabytes to use for heap.
ex
c:/test>java -Xmx128m Memorypublic class Memory
public static void main(String[] args)
Runtime.getRuntime().gc();
long start = Runtime.getRuntime().totalMemory();
Byte[][][] bytes = new Byte[11][9][25344];
for(int i = 0; i < 11; i++)
for(int j = 0; j < 9; j++)
for(int k = 0; k < 45344; k++)
bytes[i][j][k] =
new Byte(new Double(Math.random() * 256).byteValue());
Runtime.getRuntime().gc();
long end = Runtime.getRuntime().totalMemory();
System.out.println("memory usage = " + Long.toString(end - start));
} -
How can I set the different boolean text in the button array?
I created the OK boolean button array. How can I change the boolean text of each button to be different at run-time? I changed one, but the others are changed also.
> Thank you for your help
> Unfortunately I'm a beginner of this software. Please you
> explain me more details.
Select the control using the positioning tool and choose
Customize... from the Edit menu or choose it by popping up
on/right clicking on the control and selecting Advanced>>
Customize...
This will open the control up in a new window -- the control
editor window. This window allows for lots of additional
control modifications and allows for them to be saved into
typedefs to promote reuse and make things more consistent.
Once in the control editor, popup on the button and select
the menu item near the bottom Multiple Text Strings.
Close the editor window and the first dialog will ask if
you would like to save the change
d file. Choose No, and a
second dialog will ask if you would like to Replace the
Original Control. Choose Yes.
At this point the Button will support multiple text labels.
To edit the True string, make the Boolean True and use the
Labeling tool to edit the string that is visible. To edit
the False string, make the Boolean False and use the labeling
tool to edit that string too.
Greg McKaskle -
Help needed in refreshing a button array
Hi,
I am developing a GUI, in which window1 is in package pack1 & window2 in pack2. from window1, clicking "Add" button window2 appears.
In window1, I am storing the content of a particular directory in my file system as a string array. So, each string in the string array is used as the label of a button in the button array. The no. of buttons corresponds to the no. of files in the directory. window1 is having a panel that displays the buttonarray.
In window2, I have created a textfield and a "ok" button. whatever textinput(string) I give to the textfield, after clicking "ok" that is stored as a file in the directory, to which window1 refers for its buttons.
My requirement is: During runtime, when I am creating new files thru the textfield of window2,those files need to be added to the panel of window1 dynamically updating the directory content.
So, how can I refresh the panel in window1 after adding a file thru textfiels in window2.
If anybody has any idea about this, please let me know soon.
Regards.Hello,
I have not got the solution. So, still I am waitiong for the answer.
If you have any idea, please let me know. -
Disk Utility: Unable to create "ImageName.dmg" error -39
Ladies,
Gentlemen,
I used Disk Utility to backup the internal hard drive of my iMac G5 iSight.
The last backup of the hard drive was unsuccessful, ending with next message: Unable to create "ImageName.dmg"; error -39.
The iMac is running OS X 10.4.11.
I proceed as follows:
Boot from the OS X 10.4.2 installation DVD and firing up Disk Utility.
Menu option: File, New, Disk Image from disk0s3 (Mac HD)
The target disk is Porche_LaCie FireWire drive.
After +/- 2 hours I end up with the above message.
The hard drive has following characteristics:
Name : Mac HD
Type : Volume
Disk Identifier : disk0s3
Mount Point : /
File System : Mac OS Extended (Journaled)
Connection Bus : ATA
Partition Type : Apple_HFS
Device Tree : sata/k2-sata@0/@0:3
Writable : Yes
Universal Unique Identifier : 9AFCA71A-DD8B-376E-9776-EE7EDDBB328C
Capacity : 148,9 GB (159.907.627.008 Bytes)
Free Space : 96,9 GB (103.996.362.752 Bytes)
Used : 52,1 GB (55.911.264.256 Bytes)
Number of Files : 419.419
Number of Folders : 104.321
Owners Enabled : Yes
Can Turn Owners Off : Yes
Can Repair Permissions : Yes
Can Be Verified : Yes
Can Be Repaired : Yes
Can Be Formatted : Yes
Bootable : Yes
Supports Journaling : Yes
Journaled : Yes
S.M.A.R.T. Status : Verified
Disk Number : 0
Partition Number : 3
The target drive characteristics:
Name : Porche_LaCie
Type : Volume
Disk Identifier : disk1s1
Mount Point : /Volumes/Porche_LaCie
File System : Mac OS Extended (Case-sensitive, Journaled)
Connection Bus : FireWire
Partition Type : Apple_HFS
Device Tree : fw/node@d04b7417066788/sbp-2@c000/@0:1
Writable : Yes
Universal Unique Identifier : BCCEBED2-08F5-3C21-8750-75716AF060B9
Capacity : 232,9 GB (250.056.705.024 Bytes)
Free Space : 160,8 GB (172.646.076.416 Bytes)
Used : 72,1 GB (77.410.627.584 Bytes)
Number of Files : 15
Number of Folders : 4
Owners Enabled : No
Can Turn Owners Off : Yes
Can Be Formatted : Yes
Bootable : Yes
Supports Journaling : Yes
Journaled : Yes
S.M.A.R.T. Status : Not Supported
Disk Number : 1
Partition Number : 1
The target drive already contains 3 earlier images. The biggest image has a size of 28,14 GB. And as you can see this drive ha enough place for other images.
So what is going wrong?
I Googled for this error -39 without any success and I have not found any thing about this particular error in Apple's discussions or support pages.
I would feel a lot safer with a decent image of my Hard Drive. I already lost one and do not want to repeat this again...
Can any one help?If you want to create a backup of your system volume, then do not use disc images. They are not bootable. Here's a far better solution:
How to Clone Using Restore Option of Disk Utility
1. Open Disk Utility from the Utilities folder.
2. Select the backup or destination volume from the left side list.
3. Click on the Erase tab in the DU main window. Set the format type to Mac OS Extended (journaled, if available) and click on the Erase button. This step can be skipped if the destination has already been freshly erased.
4. Click on the Restore tab in the DU main window.
5. Select the backup or destination volume from the left side list and drag it to the Destination entry field.
6. Select the startup or source volume from the left side list and drag it to the Source entry field.
7. Double-check you got it right, then click on the Restore button.
You can also do the same using other backup utilities that can create bootable backups:
Backup Software Recommendations
My personal recommendations are (order is not significant):
1. Retrospect Desktop (Commercial - not yet universal binary)
2. Synchronize! Pro X (Commercial)
3. Synk (Backup, Standard, or Pro)
4. Deja Vu (Shareware)
5. Carbon Copy Cloner (Donationware)
6. SuperDuper! (Commercial)
7. Intego Personal Backup (Commercial)
8. Data Backup (Commercial)
Also read How to Back Up and Restore Your Files. -
Hi Everybody,
as my first experience in AS3 I'm bulding a photo multigallery. In that gallery I have some buttons, each one pointing to its respective set of images.
Each button is created with the for loop, that picks the information from a XML file. From this XML I get the text of the button, the position etc. What I did with some sucess. But there is a scary problem: I don't know how to make each button load the respective and unique set of images.
I've tryied several different methods, with no effect, to make each loop to give to each button an unique identity to load the respective set of images.
I imagine that the solution pass by the use of arrays. I wrote some code, and I guess that I'm almost there (but not sure). Here is my AS3 code until now:
// CREATE MENU CONTAINER //
var menuContainer:MovieClip = new MovieClip();
menuContainer.x=10;
menuContainer.y=300;
addChild(menuContainer);
// CREATE IMAGES CONTAINER //
var imagesContainer:MovieClip = new MovieClip();
imagesContainer.x=10;
imagesContainer.y=10;
addChild(imagesContainer);
//// LOAD XML ////
var xmlLoader:URLLoader = new URLLoader();
xmlLoader.addEventListener(Event.COMPLETE, whenLoaded);
xmlLoader.load(new URLRequest("XML/roiaXML.xml"));
var xml:XML;
function whenLoaded(evt:Event):void {
xml=new XML(evt.target.data);
var mySetsList:XMLList=xml.children();
//// MENU BUTTONS ////
// CREATE ARRAYS //
var totalArray:Array = new Array();
var setNodesArray:Array = new Array();
var setNamesArray:Array = new Array();
// POSITIONING BUTTONS INSIDE MENU CONTAINER//
var rowsQuantity:Number=3;
var columnsQuantity:Number=Math.ceil(mySetsList.length()/rowsQuantity);
var cellWidth:Number=160;
// CREATE BUTTONS //
for (var i:int=0; i< mySetsList.length(); i++) {
var newSetButtonMC:setButtonMC=new setButtonMC();
//what do I do here to make it works? To give each button created a unique id.
setNodesArray.push(i);
//trace(setNodesArray);
var imageNodesArray:Array = new Array();
for (var j:int=0; j<mySetsList[i].IMAGE.length(); j++) {
imageNodesArray.push(mySetsList[i].IMAGE[j].attribute("imageTitle"));
totalArray.push(imageNodesArray);
newSetButtonMC.setButtonText.text=mySetsList.attribute("galeriaTitle")[i];
newSetButtonMC.setButtonText.autoSize=TextFieldAutoSize.LEFT;
var cellX:Number=Math.floor(i/rowsQuantity);
var cellY:Number=i%rowsQuantity;
newSetButtonMC.x=cellX*cellWidth;
newSetButtonMC.y=cellY*(newSetButtonMC.height+10);
newSetButtonMC.addEventListener(MouseEvent.CLICK, onClick);
menuContainer.addChild(newSetButtonMC);
totalArray.push(setNodesArray);
//// MENU BUTTONS ACTIONS ////
function onClick(mevt:MouseEvent):void {
trace(totalArray [0][0]);
trace(totalArray [0][0]);
// in the line above I achieved some success loading a specific info from XML.
// but I don't know what to do with it.
//what do I do here? To make each button to load its own node from XML.
Here is my XML:
<GALERIA galeriaTitle="galeria 01">
<IMAGE imageTitle="imageTitle01">feio.jpg</IMAGE>
<IMAGE imageTitle="imageTitle02">muitofeio.jpg</IMAGE>
<IMAGE imageTitle="imageTitle03">aindamaisfeio.jpg</IMAGE>
</GALERIA>
<GALERIA galeriaTitle="galeria 02">
<IMAGE imageTitle="imageTitle01">estranho.jpg</IMAGE>
<IMAGE imageTitle="imageTitle02">maisestranho.jpg</IMAGE>
<IMAGE imageTitle="imageTitle03">aindamaisestranho.jpg</IMAGE>
</GALERIA>
Thanks everyone . ABSTRATOyou can assign each newSetButtonMC and ivar property that points to its i value or, even easier:
// CREATE MENU CONTAINER //
var menuContainer:MovieClip = new MovieClip();
menuContainer.x=10;
menuContainer.y=300;
addChild(menuContainer);
// CREATE IMAGES CONTAINER //
var imagesContainer:MovieClip = new MovieClip();
imagesContainer.x=10;
imagesContainer.y=10;
addChild(imagesContainer);
//// LOAD XML ////
var xmlLoader:URLLoader = new URLLoader();
xmlLoader.addEventListener(Event.COMPLETE, whenLoaded);
xmlLoader.load(new URLRequest("XML/roiaXML.xml"));
var xml:XML;
function whenLoaded(evt:Event):void {
xml=new XML(evt.target.data);
var mySetsList:XMLList=xml.children();
//// MENU BUTTONS ////
// CREATE ARRAYS //
var totalArray:Array = new Array();
var setNodesArray:Array = new Array();
var setNamesArray:Array = new Array();
// POSITIONING BUTTONS INSIDE MENU CONTAINER//
var rowsQuantity:Number=3;
var columnsQuantity:Number=Math.ceil(mySetsList.length()/rowsQuantity);
var cellWidth:Number=160;
// CREATE BUTTONS //
for (var i:int=0; i< mySetsList.length(); i++) {
var newSetButtonMC:setButtonMC=new setButtonMC();
//what do I do here to make it works? To give each button created a unique id.
setNodesArray.push(i);
//trace(setNodesArray);
var imageNodesArray:Array = new Array();
for (var j:int=0; j<mySetsList[i].IMAGE.length(); j++) {
imageNodesArray.push(mySetsList[i].IMAGE[j].attribute("imageTitle"));
nextSetButtonMC.imageArray = imageNodesArray;
//totalArray.push(imageNodesArray);
newSetButtonMC.setButtonText.text=mySetsList.attribute("galeriaTitle")[i];
newSetButtonMC.setButtonText.autoSize=TextFieldAutoSize.LEFT;
var cellX:Number=Math.floor(i/rowsQuantity);
var cellY:Number=i%rowsQuantity;
newSetButtonMC.x=cellX*cellWidth;
newSetButtonMC.y=cellY*(newSetButtonMC.height+10);
newSetButtonMC.addEventListener(MouseEvent.CLICK, onClick);
menuContainer.addChild(newSetButtonMC);
totalArray.push(setNodesArray);
//// MENU BUTTONS ACTIONS ////
function onClick(mevt:MouseEvent):void {
var mc:setButtonMC=setButtonMC(mevt.currentTarget);
for(i=0;i<mc.imageArray.length;i++){
trace(mc.imageArray[i]);
Here is my XML:
<GALERIA galeriaTitle="galeria 01">
<IMAGE imageTitle="imageTitle01">feio.jpg</IMAGE>
<IMAGE imageTitle="imageTitle02">muitofeio.jpg</IMAGE>
<IMAGE imageTitle="imageTitle03">aindamaisfeio.jpg</IMAGE>
</GALERIA>
<GALERIA galeriaTitle="galeria 02">
<IMAGE imageTitle="imageTitle01">estranho.jpg</IMAGE>
<IMAGE imageTitle="imageTitle02">maisestranho.jpg</IMAGE>
<IMAGE imageTitle="imageTitle03">aindamaisestranho.jpg</IMAGE>
</GALERIA>
Thanks everyone . ABSTRATO -
How do I create an Array of Images
Hi,
I'm creating a program that basically is a slideshow. It has buttons that allow the user to switch from image to image, and has some audio in the background. I was wondering how I might create an array to store the images. I'm very new to Java, so please no detail is too small. I've just started using arrays, so I'm not sure where I would store the files or how to call the images. Please be descriptive and as dumbed down as possible :)
Thanks for the help!I like ArrayList
ArrayList<BufferedImage> myPics = new ArrayList();then just dump them in with add(myBufferedImage)
If you'e not using BufferedImages then just change the BufferedImage to Image.
to get, say the 6th image back out, then use:
myBufferedImage = myPics.get(5);the index starts at 0 and should be addressed as 0 to (myPics.length - 1) -
Scroll bars & creating buttons problem
I am trying to create a basic photo browser. The upper area is the enlarged view of the image. The lower portion is a scrollable view of the thumbnails in the directory chosen. I have most of it working...except that the scrollable view doesn't scroll, and the buttons that I created don't cause the image to show up in the main view port.
There is the main window, divided into two parts: upper and lower. The upper part is the main view, as described above. The lower part is a panel. That lower panel contains two things, another panel and a button. This panel inside the lower section contains the scrollable window; this scrollable window is a viewport onto another panel that contains the dynamically created buttons (which are thumbnails of the images in the directory).
I was trying to force the scrollbar policy to always show the horizontal bar (that is the only one I want visible) but that wasn't working either; I would get compiler errors when that was included. I have tried adjusting sizes of things, and the order that things are added to the main JFrame.
Any suggestions would be appreciated.
Here is the code:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileFilter;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;
import javax.swing.border.EtchedBorder;
import javax.swing.filechooser.FileNameExtensionFilter;
* PhotoGUI Browse
* Description: Generate a GUI interface for viewing a large view of an image and previews of thumbnails
* in a directory. There are two parts to the GUI: large upper section for main viewing, and a short lower
* section for viewing the thumbnail previews. The lower section is also split into two parts: the left part
* is a scrollable pane where the thumbnails will be previewed, and then a small section to the right where
* a button for changing directories will be present. (I wanted the button to always be visible so didn't
* put it in the scrollable area.)
public class PhotoGUI extends JFrame {
final int SIZE = 75; //scaling size for images in thumbnail browser
boolean firstRunThrough = true; //Changes behavior of directory requester
private JPanel thumbs;
private JPanel pickNThumbs;
private ImagePanel bigView ;
private JScrollPane scroller;
private JButton pickDirButton;
private thumbSelectedListener thumbPicksNose;
public PhotoGUI () {
this.setDefaultCloseOperation (EXIT_ON_CLOSE);
this.setSize(600,600); //Starting size of the overall container.
this.setTitle("Eye Photo photo browser");
//The upper portion of the GUI, where the large view of the image will be held
bigView = new ImagePanel();
//bigView.setSize (600,500);
//The bottom section of the GUI; will hold the thumbnail previews
//(in a scrollable panel) and a button for changing directories.
pickNThumbs = new JPanel();
pickNThumbs.setBackground(Color.WHITE);
pickNThumbs.setSize(600,100);
pickDirButton = new JButton("Pick directory...");
//pickDirButton.setSize(75,150);
dirPickListener dirButton = new dirPickListener ();
pickDirButton.addActionListener(dirButton);
thumbs = new JPanel(); //The panel that will hold the thumbnail previews
scroller = new JScrollPane(thumbs); //Setting the scroll bar pane to view the thumbnail panel
//scroller.setVerticalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
//scroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
// scroller.setSize(525,100);
scroller.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
pickNThumbs.add(scroller);
pickNThumbs.add(pickDirButton);
this.add(bigView);
this.add(pickNThumbs, BorderLayout.SOUTH);
String pickedDir = pickDir(); //Setting up the while loop so it will keep requesting
if (pickedDir.equals("-1")) {
if (firstRunThrough) System.exit(0); //End program if they don't pick a dir the first time through.
}else {
thumbsUp(pickedDir); //They picked good Dir; populate thumbnails
firstRunThrough = false;
public String pickDir () {
// This is the file chooser method.
JFileChooser dirPicker = new JFileChooser();
dirPicker.setDialogTitle("Pick a directory");
dirPicker.setApproveButtonText("Open directory");
dirPicker.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int x = dirPicker.showOpenDialog(getParent()); //maybe I don't need this?
if (x == JFileChooser.APPROVE_OPTION) {
return dirPicker.getSelectedFile().getAbsolutePath();
} else return "-1"; //Just to cover all possible conditions
public void thumbsUp (String chosenDir) {
// Thumb populater method. It adds each thumb-button to the scroller panel
thumbs.removeAll(); //Need to remove old directory's buttons
File selectedDir = new File(chosenDir);
FileNameExtensionFilter filter = new FileNameExtensionFilter("JPG/GIF/BMP/PNG Images", "bmp", "jpg", "jpeg", "gif", "png");
File [] dirEntries = selectedDir.listFiles();
for (File tempFile : dirEntries) {
if (filter.accept(tempFile) && tempFile.isFile()) { //That way I only get certain types
JButton howToNameMultipleButtons = new JButton();
howToNameMultipleButtons.setActionCommand(tempFile.getAbsolutePath());
// System.out.println(tempFile.getAbsolutePath());
// System.out.println(howToNameMultipleButtons.getActionCommand());
howToNameMultipleButtons.setIcon(new ScaledIcon(tempFile.getAbsolutePath(), SIZE));
howToNameMultipleButtons.addActionListener(thumbPicksNose);
thumbs.add(howToNameMultipleButtons);
this.setVisible(true); //Down here so first run through program opens Dialog before showing
public class dirPickListener implements ActionListener {
public void actionPerformed (ActionEvent ae) {
thumbsUp(pickDir()); //Opens Dir selection dialog and feeds the thumbnail populater
public class thumbSelectedListener implements ActionListener {
public void actionPerformed (ActionEvent ae) {
String thumbPicked = ae.getActionCommand(); //Should return path string of thumbButton clicked
// System.out.println(ae.getActionCommand()); //TSing step; to see if this bit even fires off.
bigView.setImage(thumbPicked);
bigView.setToolTipText(thumbPicked);
// bigView.setBackground(Color.GREEN);
}Ah! I got some of it figured out at least...
Setting the preferred size parameter has caused the scroll bars to display! :) Thanks for the hint on that.
But I get an error when I try and use the scrollbar policy settings. Here are the results:
Exception in thread "main" java.lang.IllegalArgumentException: invalid verticalScrollBarPolicy
at javax.swing.JScrollPane.setVerticalScrollBarPolicy(Unknown Source)
at javax.swing.JScrollPane.<init>(Unknown Source)
at PhotoGUI.<init>(PhotoGUI.java:70)
at PhotoBrowser.main(PhotoBrowser.java:15)And the code I used:
scroller = new JScrollPane(thumbs,
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS,
ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER); //Setting the scroll bar pane to view the thumbnail panel
Edited by: Mole_Hunter on Feb 1, 2010 9:57 AM -
Trying to create an array of a class
This is the first time ive tried to use an array so its not surprising im having trouble.
this is my program:
import java.util.*;
public class studentRecordDemo
public static void main(String[] args)
int studNum, index;
System.out.println("Enter the number of students you wish to record");
Scanner keyboard = new Scanner(System.in);
studNum = keyboard.nextInt();
studentRecord student[] = new studentRecord[studNum];
for (index = 0; index < studNum; index++)
{student[index].readInput();
student[index].writeOutput();}
}And it lets me compile it but when i enter a number it gives me the error:
Exception in thread "main" java.lang.NullPointerException
at studentRecordDemo.main(studentRecordDemo.java:15)the
So yeah im trying to create an array of the class "studentRecord" and the number is input by the user. Is there a way to make that work or would it be easier to just make the array a really high number?your error is in here:
student[index].readInput();its null...
This is the first time ive tried to use an array so
its not surprising im having trouble.
this is my program:
import java.util.*;
public class studentRecordDemo
public static void main(String[] args)
int studNum, index;
System.out.println("Enter the number of students
ts you wish to record");
Scanner keyboard = new Scanner(System.in);
studNum = keyboard.nextInt();
studentRecord student[] = new
ew studentRecord[studNum];
for (index = 0; index < studNum; index++)
{student[index].readInput();
student[index].writeOutput();}
}And it lets me compile it but when i enter a number
it gives me the error:
Exception in thread "main"
java.lang.NullPointerException
at
studentRecordDemo.main(studentRecordDemo.java:15)the
So yeah im trying to create an array of the class
"studentRecord" and the number is input by the user.
Is there a way to make that work or would it be
easier to just make the array a really high number? -
How to create an array of ArrayLists?
Hello,
I'm trying to compile the following code:
ArrayList<Object> arr[];
arr = new ArrayList<Object>()[size];in order to create an array of ArrayLists. I'm being met with the following compilation error:
The type of this expression must be an array type but it resolved to ArrayList<Object>
Can anyone show me how to correctly do this?
Thanks{color:#3D2B1F}This line:
List<Object>[] arr = new ArrayList<Object>[5];generates the compiler error: "generic array creation" (generics and arrays don't play well together)
Since you are just parameterizing with Object, you can use non-generic collections:
List[] arr = new ArrayList[5];Me? I don't like mixing arrays and collections. I would have a list of lists:
List<List<X>> matrix = new ArrayList<List<X>>();{color} -
How to create an array of generics?
I have the following snippet of code using array of vectors:
Vector[] tmpArr = new Vector[n];
for(int j=0; j<n; j++)
tmpArr[j] = new Vector();
String str = ...
if (!tmpArr[j].contains(str))
tmpArr[j].add(str);
And I want to convert to generics:
Vector<String>[] tmpArr = new Vector<String>[n];
for(int j=0; j<n; j++)
tmpArr[j] = new Vector<String>();
String str = ....
if (!tmpArr[j].contains(str))
tmpArr[j].add(str);
But the first row gives me an error:
-->Generic array creation.
If I change it in
Vector<String>[] tmpArr = new Vector<String>[n];
(as I've seen in a pdf by G.Bracha talking aout collections)
it gives me the error:
-->cannot find symbol
-->method add(String)
in the
tmpArr[j].add(str);
row.
The only way it seems to work is
Vector<String>[] tmpArr = new Vector[n];
but it gives me the unchecked conversion warning.
How can I create an array of generics?
Thank you!
MatteoYou can't
Actually, that depends on the exact definition of a generic array. If by generic array someone means "an array comprised of elements defined by a type parameter", there is a solution.
import java.lang.reflect.Array;
public class Something<T> {
private final Class<T> type;
public Something(Class<T> type) {
this.type = type;
public String getTypeName() {
return this.type.getName();
public T[] newArray(final int length) {
return (T[]) Array.newInstance(this.type, length);
}The constructor introduces the type information (T) to the runtime environment, which means an instance of Something will know its type. Method newArray therefore does not cause a warning on unchecked type conversion, so this approach is typesafe.
// Type parameter class is demanded by constructor...
Something<String> stringThing = new Something<String>(String.class);
// Cheating won't work, because the compiler catches the error...
Something<Vector> vectorThing = new Something<Vector>(Integer.class);This approach, however, doesn't enable you to create an array of typed elements (like Vector<String>[]). If that is the definition of a generic array, then it is indeed not possible to create one.
After all, while Vector[].class exists and can be resolved at runtime, there's no such thing as Vector<String>[].class, so there's no way you could provide the class definition of the component type to the constructor of Something.
This may be a surprise to mdt_java, because if I remember correctly, templates in C++ cause actually different classes to be created for 'generic' types. This is not the case with Java. -
How to create an array of an object,
Hi,
Trying this in Oracle 10.3 studio, I have to use a web service, I have re-catalogued the web service succesfully,
I am getting compilation error whenI try to create an array of a object,
Services.PackageTrackingService.PackageTrackingItem[] pkgTrackingItem = new Services.PackageTrackingService.PackageTrackingItem[2];
I am giving the array size as 2,
The comilation error is showing as
Multiple markers at this line
- statement is expected
- Expecting ';' but 'pkgTrackingItem' was found
- expression is expected
Is there any other way to create the array?
Thanks in advance.
-SreeHi,
Please declare the array in following manner.
Services.PackageTrackingService.PackageTrackingItem[] pkgTrackingItem;
Now you can insert the element into the array by pkgTrackingItem[0], pkgTrackingItem[1] etc.
Bibhu
Maybe you are looking for
-
When trying to use FaceTime I can't because it says it is turned off in settings, it then ask do I want to turn it on , tap for yes and it sits there spinning. Face time is on in settings?
-
Build 7600 This Copy of Windows is not genuine
Diagnostic Report (1.9.0027.0): Windows Validation Data--> Validation Code: 50 Cached Online Validation Code: N/A, hr = 0xc0000034 Windows Product Key: *****-*****-QXY7X-TG33Q-9TDMY Windows Product Key Hash: mfe+izvSb6PsVJ/TfAP4kLVWtF0= Windows Produ
-
Languages of Task - Turkish not available
Hi All, We are maintaining mail step in different langauges in task. But the option to maintain Turkish langauge is not appearing in the language option. I can see other languages in the task. Please let me know, what is the source of the languges, w
-
How to find inactive objects in transport?
I have a transport with alot of objects. I do not want to go into each one to check active status. How can I see the status of the objects in a list linked to that transport or simply check which ones are inactive?
-
I have problem shutting down mac book pro os x lion
I have setup os x lion on my mac book pro which i bought after 2010. Over 90% when i want to shut down, the process stop at the end and rounding circle appear for so long that i should turn off the system by pressing and holding power bottom. I do ve