| | |
Action listener
Please support our Java advertiser: Programming Forums - DaniWeb Sister Site
![]() |
Just quick pseudo-code
you should get idea of it
Java Syntax (Toggle Plain Text)
public void actionPerfomed if resize myFrame.setSize(new Dimension(300, 300)) else if changeFont myFrame.setFont(new Font( "Serif", Font.BOLD, 20 ));
you should get idea of it
Learn to see in another's calamity the ills which you should avoid.
Publilius Syrus
(~100 BC)
LJC - London Java Community, Graduate & Undergraduate Software Development Community, JAVAWUG (Java Web User Group), The London Android Group
Publilius Syrus
(~100 BC)
LJC - London Java Community, Graduate & Undergraduate Software Development Community, JAVAWUG (Java Web User Group), The London Android Group
•
•
Join Date: Nov 2006
Posts: 27
Reputation:
Solved Threads: 0
•
•
•
•
Just quick pseudo-code
Java Syntax (Toggle Plain Text)
public void actionPerfomed if resize myFrame.setSize(new Dimension(300, 300)) else if changeFont myFrame.setFont(new Font( "Serif", Font.BOLD, 20 ));
you should get idea of it
this.setSize();
but "this" is not recognized within ActionListener.
And i have extended frame class so there is no name for the frame as well.
Regards.
"this" IS recognised inside the actionlistener, it's just not what you think it is.
Learn a bit more about Java and you will see why, and what "this" is out there.
At the moment you're expecting quick hacks for everything without really understanding what you're doing.
That's the wrong way to go about programming.
Do simple things first until you thoroughly understand those, and only then try something more complicated (and adding an actionListener is NOT complicated, so if you have problems with that you need to really step back a lot).
Learn a bit more about Java and you will see why, and what "this" is out there.
At the moment you're expecting quick hacks for everything without really understanding what you're doing.
That's the wrong way to go about programming.
Do simple things first until you thoroughly understand those, and only then try something more complicated (and adding an actionListener is NOT complicated, so if you have problems with that you need to really step back a lot).
As people are clearly allowed to attack me but I'm not allowed to defend myself, I no longer post to this site.
•
•
Join Date: Nov 2006
Posts: 27
Reputation:
Solved Threads: 0
class ImgMod8 extends Frame { String msg = ""; int mX1 = 150; int mY1 = 150; int mX2 = 0; int mY2 = 0; int turn = 1; static int dst = 0; double sum = 0.0; int count; Image rawImg; int imgCols;//Number of horizontal pixels int imgRows;//Number of rows of pixels Image modImg;//Reference to modified image //Inset values for the Frame int inTop; int inLeft; //To add only one picture at a time int ig = 1; static String theProcessingClass = "PrintMouse5"; // This image file will be processed if another file name is // not entered on the command line. static String theImgFile = "white.gif"; MediaTracker tracker; Display display = new Display();//A Canvas Button replotButton = new Button("Replot"); //References to arrays that store pixel data. int[][][] threeDPix; int[][][] threeDPixMod; int[] oneDPix; //Reference to the image-processing object. ImgIntfc04 imageProcessingObject; //-------------------------------------------// public static void main(String[] args){ // Program supports gif files and jpg files // and possibly some other file types as well. //Display name of processing program and // image file. System.out.println("Processing program: " + theProcessingClass); System.out.println("Image file: " + theImgFile); //Instantiate an object of this class ImgMod8 obj = new ImgMod8(); }//end main //-------------------------------------------// public ImgMod8(){//constructor //Get an image from the specified file. Can // be in a different directory if the path // was entered with the file name on the command line. rawImg = Toolkit.getDefaultToolkit().getImage(theImgFile); //Use a MediaTracker object to block until // the image is loaded or ten seconds has elapsed. tracker = new MediaTracker(this); tracker.addImage(rawImg,1); try{ if(!tracker.waitForID(1,10000)){ System.out.println("Load error."); System.exit(1); }//end if }catch(InterruptedException e){ e.printStackTrace(); System.exit(1); }//end catch //Make certain that the file was successfully // loaded. if((tracker.statusAll(false) & MediaTracker.ERRORED & MediaTracker.ABORTED) != 0){ System.out.println("Load errored or aborted"); System.exit(1); }//end if //Raw image has been loaded. Get width and // height of the raw image. imgCols = rawImg.getWidth(this); imgRows = rawImg.getHeight(this); this.setTitle("Get Pixel Distance"); this.setBackground(Color.YELLOW); this.add(display); this.add(replotButton,BorderLayout.SOUTH); //Make it possible to get insets and the // height of the button. setVisible(true); //Get and store inset data for the Frame and // the height of the button. inTop = this.getInsets().top; inLeft = this.getInsets().left; int buttonHeight = replotButton.getSize().height; //Size the frame so that a small amount of // yellow background will show on the right // and on the bottom when both images are // displayed, one above the other. Also, the // placement of the images on the Canvas // causes a small amount of background to // show between the images. this.setSize(inLeft+imgCols + 1,inTop + buttonHeight + imgRows + 7); //=========================================// //Anonymous inner class listener for replot // button. This actionPerformed method is // invoked when the user clicks the Replot // button. It is also invoked at startup // when this program posts an ActionEvent to // the system event queue attributing the // event to the Replot button. replotButton.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ //Calculate distance double a = mX1-mX2; double b = mY1-mY2; sum=(Math.sqrt(a*a+b*b)) ; System.out.println("This Distance is: " + sum); //Pass a 3D array of pixel data to the // processing object and get a modified 3D array of pixel data back. threeDPixMod = imageProcessingObject.processImg(threeDPix, imgRows, imgCols, mX2, mY2); //Convert the modified pixel data to a // 1D array of pixel data. oneDPix = convertToOneDim(threeDPixMod,imgCols,imgRows); //Use the createImage() method to // create a new image from the 1D array of pixel data. modImg = createImage(new MemoryImageSource(imgCols,imgRows,oneDPix,0,imgCols)); //Repaint the image display frame with // the original image at the top and // the modified pixel data at the bottom. display.repaint(); }//end actionPerformed }//end ActionListener );//end addActionListener //End anonymous inner class. //=========================================//Here is the code i am using.
As i have extended the frame it has no name. And "this" in actionListener points to the button. Then how can i use frame.setSize()
•
•
Join Date: Nov 2006
Posts: 27
Reputation:
Solved Threads: 0
Below is the code i am using.
As i have extended the frame it has no name. And "this" in actionListener points to the button. Then how can i use frame.setSize()
As i have extended the frame it has no name. And "this" in actionListener points to the button. Then how can i use frame.setSize()
Java Syntax (Toggle Plain Text)
import java.awt.*; import java.awt.event.*; import java.awt.image.*; class ImgMod8 extends Frame { String msg = ""; int mX1 = 150; int mY1 = 150; int mX2 = 0; int mY2 = 0; int turn = 1; static int dst = 0; double sum = 0.0; int count; Image rawImg; int imgCols;//Number of horizontal pixels int imgRows;//Number of rows of pixels Image modImg;//Reference to modified image //Inset values for the Frame int inTop; int inLeft; //To add only one picture at a time int ig = 1; //This program will be executed to process the // if the name of another program is not // entered on the command line. static String theProcessingClass = "PrintMouse5"; // This image file will be processed if another file name is // not entered on the command line. static String theImgFile = "white.gif"; MediaTracker tracker; Display display = new Display();//A Canvas Button replotButton = new Button("Replot"); //References to arrays that store pixel data. int[][][] threeDPix; int[][][] threeDPixMod; int[] oneDPix; //Reference to the image-processing object. ImgIntfc04 imageProcessingObject; //-------------------------------------------// public static void main(String[] args){ // Program supports gif files and jpg files // and possibly some other file types as well. if(args.length == 0){ //Use default processing class and default image file. No code required here. // Class and file names were specified above. }else if(args.length == 1){ theProcessingClass = args[0]; //Use default image file }else if(args.length == 2){ theProcessingClass = args[0]; theImgFile = args[1]; }else if(args.length == 3){ theProcessingClass = args[0]; theImgFile = args[1]; dst = Integer.parseInt(args[2]); }else{ System.out.println("Invalid args"); System.exit(1); }//end else //Display name of processing program and // image file. System.out.println("Processing program: " + theProcessingClass); System.out.println("Image file: " + theImgFile); //Instantiate an object of this class ImgMod8 obj = new ImgMod8(); }//end main //-------------------------------------------// public ImgMod8(){//constructor //Get an image from the specified file. Can // be in a different directory if the path // was entered with the file name on the command line. rawImg = Toolkit.getDefaultToolkit().getImage(theImgFile); //Use a MediaTracker object to block until // the image is loaded or ten seconds has elapsed. tracker = new MediaTracker(this); tracker.addImage(rawImg,1); try{ if(!tracker.waitForID(1,10000)){ System.out.println("Load error."); System.exit(1); }//end if }catch(InterruptedException e){ e.printStackTrace(); System.exit(1); }//end catch //Make certain that the file was successfully // loaded. if((tracker.statusAll(false) & MediaTracker.ERRORED & MediaTracker.ABORTED) != 0){ System.out.println("Load errored or aborted"); System.exit(1); }//end if //Raw image has been loaded. Get width and // height of the raw image. imgCols = rawImg.getWidth(this); imgRows = rawImg.getHeight(this); this.setTitle("Get Pixel Distance"); this.setBackground(Color.YELLOW); this.add(display); this.add(replotButton,BorderLayout.SOUTH); //Make it possible to get insets and the // height of the button. setVisible(true); //Get and store inset data for the Frame and // the height of the button. inTop = this.getInsets().top; inLeft = this.getInsets().left; int buttonHeight = replotButton.getSize().height; //Size the frame so that a small amount of // yellow background will show on the right // and on the bottom when both images are // displayed, one above the other. Also, the // placement of the images on the Canvas // causes a small amount of background to // show between the images. this.setSize(inLeft+imgCols + 1,inTop + buttonHeight + imgRows + 7); //=========================================// //Anonymous inner class listener for replot // button. This actionPerformed method is // invoked when the user clicks the Replot // button. It is also invoked at startup // when this program posts an ActionEvent to // the system event queue attributing the // event to the Replot button. replotButton.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ //Calculate distance double a = mX1-mX2; double b = mY1-mY2; sum=(Math.sqrt(a*a+b*b)) ; System.out.println("This Distance is: " + sum); //Pass a 3D array of pixel data to the // processing object and get a modified 3D array of pixel data back. threeDPixMod = imageProcessingObject.processImg(threeDPix, imgRows, imgCols, mX2, mY2); //Convert the modified pixel data to a // 1D array of pixel data. oneDPix = convertToOneDim(threeDPixMod,imgCols,imgRows); //Use the createImage() method to // create a new image from the 1D array of pixel data. modImg = createImage(new MemoryImageSource(imgCols,imgRows,oneDPix,0,imgCols)); //Repaint the image display frame with // the original image at the top and // the modified pixel data at the bottom. display.repaint(); }//end actionPerformed }//end ActionListener );//end addActionListener //End anonymous inner class. //=========================================//
no, "this" in the actionlistener points to the actionlistener...
this in any class instance points to that instance.
And don't put comments on every closing brace, it's not needed and makes your code that much harder to read.
And don't use C++ style comments for blocks.
this in any class instance points to that instance.
And don't put comments on every closing brace, it's not needed and makes your code that much harder to read.
And don't use C++ style comments for blocks.
As people are clearly allowed to attack me but I'm not allowed to defend myself, I no longer post to this site.
![]() |
Similar Threads
- Action listener (Java)
- Accessing frame from Action listener (Java)
- Action Event help (Java)
- JAVA help ACTIONLISTENERS (Java)
- Action listeners (Java)
Other Threads in the Java Forum
- Previous Thread: plz help
- Next Thread: Cannot find symbol, Constructor...
Views: 1842 | Replies: 8
| Thread Tools | Search this Thread |
Tag cloud for Java
android api apple applet application arguments array arrays automation bidirectional binary birt bluetooth calculator chat class classes client code columns component database designadrawingapplicationusingjavajslider draw eclipse editor error errors event exception expand file fractal game givemetehcodez graphics gui guidancer helpwithhomework html ide image inetaddress input integer intellij j2me java javamicroeditionuseofmotionsensor javaprojects jme jmf jni jpanel julia link linux list loop map method methods mobile mobiledevelopmentcreatejar myaggfun netbeans newbie number object oracle plazmic print problem program programming project recursion scanner screen server set signing size smart sms smsspam socket sort sql string subclass support swing test threads time transfer tree webservices windows






