www.webdeveloper.com
Results 1 to 2 of 2

Thread: getSource()

Hybrid View

  1. #1
    Join Date
    Oct 2004
    Location
    Behind you
    Posts
    32

    getSource()

    Alright, i thought i had figured out how i could track the source of a click through the getSource() method, but when i do this:

    if(knop1)e.getSource()) //knop1 means button1
    {
    bla bla bla bla bla

    the usual
    }

    alright, new error ^^

    it says it can't find knop1

    I'll post my code again

    Code:
    //THE VIEW
    import javax.swing.Box;
    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JButton;
    import javax.swing.JTextField;
    import javax.swing.JLabel;
    import javax.swing.BoxLayout;
    
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.event.ActionListener;
    
    /*
     * Created on Feb 23, 2005
     * @author R. Knijntje
     *
     *
     *
     * This code was designed by R. knijnenburg
     * Copyright @ R. Knijnenburg, http://entertainer.no-ip.com, Mondriaan onderwijsgroep
     */
    
    public class RekenMachineView extends JFrame
    {
    
        private JTextField invoer1, invoer2, uitkomst;
        public JButton knop1, knop2, knop3, knop4;
        
        public RekenMachineView()
        {
            init();
        }
    
        private void init()
    	{
    	    knop1 = new JButton("=");
    	    knop2 = new JButton("-");
    	    knop3 = new JButton("*");
    	    knop4 = new JButton("/");
    
    	    invoer1 = new JTextField();
    	    invoer1.setBackground(Color.BLUE);
    	    invoer1.setPreferredSize(new Dimension(150 , 30));
     
    	    invoer2 = new JTextField();
    	    invoer2.setBackground(Color.RED);
    	    invoer2.setPreferredSize(new Dimension(150 , 30));
    	    
    	    uitkomst = new JTextField("0");
    	    uitkomst.setBackground(Color.GREEN);
    	    uitkomst.setPreferredSize(new Dimension(320 , 30));
    	    uitkomst.setEditable(false);
    	    
    	    JPanel panelCenter = new JPanel();
    	    JLabel label1 = new JLabel("+");
    	    panelCenter.add(maakVerticalBox());
    	    panelCenter.add(knop1);
    	    panelCenter.add(knop2);
    	    panelCenter.add(knop3);
    	    panelCenter.add(knop4);
    
    	    JPanel panelNoord = new JPanel();
    	    panelNoord.add(invoer1);
    	    panelNoord.add(label1);
    	    panelNoord.add(invoer2);
    	    	    
    	    JPanel panelZuid = new JPanel();
    	    panelZuid.add(uitkomst);
    
    	    getContentPane().add(panelNoord,BorderLayout.NORTH);
    	    getContentPane().add(panelZuid,BorderLayout.SOUTH);
    	    getContentPane().add(panelCenter,BorderLayout.CENTER);
    
    	    setTitle("Rekenmachine");
    	    setIconImage(new ImageIcon("icon.jpg").getImage());
    	    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	    pack();
    	    setLocation(300,175);
    	    //setSize(350, 175);
    	    setVisible(true);
    	}
        
        public static Box maakVerticalBox()
        {
            Box knopBox = new Box(BoxLayout.Y_AXIS);
            return knopBox;
        }
        
        public void setUitkomst(String uitkomst)
        {
        	this.uitkomst.setText(uitkomst);
        }
        
        public String geefInvoer1()
        {
            String waarde1 = invoer1.getText();
            return waarde1;
        }
         
        public String geefInvoer2()
        {
            String waarde2 = invoer2.getText();
            return waarde2;
        }
        
        public void toonResultaat(String uitkomst)
        {
            this.uitkomst.setText(uitkomst);
        }
        
        public void voegOptelLuisteraarToe(ActionListener e)
        {
            knop1.addActionListener(e);
            knop2.addActionListener(e);
            knop3.addActionListener(e);
            knop4.addActionListener(e);	
        }
    }
    
    --------------------------------------------------------------------------
    //THE STARTER
    
    import javax.swing.JFrame;
    
    /*
     * Created on Feb 23, 2005
     * @author R. Knijntje
     *
     *
     *
     * This code was designed by R. knijnenburg
     * Copyright @ R. Knijnenburg, http://entertainer.no-ip.com, Mondriaan onderwijsgroep
     */
    
    public class RekenMachineStarter 
    {
        public static void main(String[] args) 
        {
            JFrame.setDefaultLookAndFeelDecorated(true);
            RekenMachineView mijnView = new RekenMachineView();
            RekenMachineModel mijnModel = new RekenMachineModel();
            RekenMachineValidator mijnValidator = new RekenMachineValidator();
            
    		RekenMachineLuisteraar e = new RekenMachineLuisteraar(mijnModel, mijnView);
    
    		mijnView.voegOptelLuisteraarToe(e);
        }
    }
    
    -------------------------------------------------------------------------
    // THE LISTENER
    import java.awt.event.*;
    
    /*
    /*
     * Created on Feb 23, 2005
     * @author R. Knijntje
     *
     *
     *
     * This code was designed by R. knijnenburg
     * Copyright @ R. Knijnenburg, http://entertainer.no-ip.com, Mondriaan onderwijsgroep
     */
    
    public class RekenMachineLuisteraar implements ActionListener
    {
        
    	private RekenMachineModel m;
    	private RekenMachineView v;
    	private RekenMachineValidator rmv;
    	
    	public RekenMachineLuisteraar(RekenMachineModel m , RekenMachineView v)
        {
        	this.m = m;
            this.v = v;
            
            rmv = new RekenMachineValidator();
        }
    	
    	public void actionPerformed(ActionEvent e)
        {
            String stringGetal1, stringGetal2;
        	int intGetal1, intGetal2;;
            
        	stringGetal1 = v.geefInvoer1();  	
        	rmv.setInvoer(stringGetal1);
      
        	if(rmv.isCorrect())
           	{   
        	    if((knop1)e.getSource())
        	    {
    	       		intGetal1 = Integer.parseInt(stringGetal1);   		
    	       		
    	       		stringGetal2 = v.geefInvoer2();
    	       		rmv.setInvoer(stringGetal2);
    	                        
    	            if(rmv.isCorrect())
    	           	{   
    	            	intGetal2 = Integer.parseInt(stringGetal2); 
    	           		m.setGetal1(intGetal1);
    	           		m.setGetal2(intGetal2);
    	           		v.toonResultaat(Integer.toString(m.geefOptelling()));
    	            }
        	    }
        	    
            	if(rmv.isCorrect())
               	{   
            	    if((knop2)e.getSource())
            	    {
        	       		intGetal1 = Integer.parseInt(stringGetal1);   		
        	       		
        	       		stringGetal2 = v.geefInvoer2();
        	       		rmv.setInvoer(stringGetal2);
        	                        
        	            if(rmv.isCorrect())
        	           	{   
        	            	intGetal2 = Integer.parseInt(stringGetal2); 
        	           		m.setGetal1(intGetal1);
        	           		m.setGetal2(intGetal2);
        	           		v.toonResultaat(Integer.toString(m.geefAftrekking()));
        	            }
            	    }
    
               	else
               	{
               		v.toonResultaat(rmv.toString());
               	}
            }
           	else
           	{
           		v.toonResultaat(rmv.toString());
           	}
    
        }
    
     /*   
    	class aftrekScenario implements ActionListener
    	{      
        
    	    public void actionPerformed(ActionEvent a)
    	    {
    	        String stringGetal1, stringGetal2;
    	        int intGetal1, intGetal2;
    	        
    	        stringGetal1 = v.geefInvoer1();  	
    	        rmv.setInvoer(stringGetal1);
        	
    	        if(rmv.isCorrect()
    	        {   			        
    	        	if(knop2.isPressed == true)
    	        		{
    		            intGetal1 = Integer.parseInt(stringGetal1);   		
    	       		
    		            stringGetal2 = v.geefInvoer2();
    		            rmv.setInvoer(stringGetal2);
    		            
    		            if(rmv.isCorrect())
    		            {   
    		                intGetal2 = Integer.parseInt(stringGetal2); 
    		                m.setGetal1(intGetal1);
    		                m.setGetal2(intGetal2);
    		                v.toonResultaat(Integer.toString(m.geefAftrekking()));
    		            }
    		        }
                   	else
                   	{
                   		v.toonResultaat(rmv.toString());
                   	}
                }
    	        
               	else
               	{
               		v.toonResultaat(rmv.toString());
               	}
    
    	    }    
      	}
    }		
    }
    Could you guys help me, i'm starting to get depressed.....
    Last edited by Entertainer; 06-01-2005 at 03:44 AM.

  2. #2
    Join Date
    Jan 2004
    Location
    Melbourne, Australia
    Posts
    5,298
    It works a little different than that.
    Code:
    if (e.getSource typeof JButton)
    {
       // A JButton was clicked.
    }
    This will resolve to true if a JButton was clicked. You can then use something like getText() to determine which button was pressed. Or you do something like this to actually get the button.
    Code:
    JButton btnClicked = (JButton)e.getSource();
    Regards.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

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

"

"

X vBulletin 4.2.2 Debug Information

  • Page Generation 0.11927 seconds
  • Memory Usage 2,923KB
  • Queries Executed 13 (?)
More Information
Template Usage (30):
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_global_above_footer
  • (1)ad_global_below_navbar
  • (1)ad_global_header1
  • (1)ad_global_header2
  • (1)ad_navbar_below
  • (3)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)headinclude_bottom
  • (2)memberaction_dropdown
  • (1)navbar
  • (4)navbar_link
  • (1)navbar_moderation
  • (1)navbar_noticebit
  • (1)navbar_tabs
  • (2)option
  • (2)postbit
  • (2)postbit_onlinestatus
  • (2)postbit_wrapper
  • (1)showthread_list
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available (6):
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files (27):
  • ./showthread.php
  • ./global.php
  • ./includes/class_bootstrap.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/functions_navigation.php
  • ./includes/class_friendly_url.php
  • ./includes/class_hook.php
  • ./includes/class_bootstrap_framework.php
  • ./vb/vb.php
  • ./vb/phrase.php
  • ./includes/functions_facebook.php
  • ./includes/functions_calendar.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_notice.php
  • ./includes/functions_threadedmode.php
  • ./packages/vbattach/attach.php
  • ./vb/types.php
  • ./vb/cache.php
  • ./vb/cache/db.php
  • ./vb/cache/observer/db.php
  • ./vb/cache/observer.php 

Hooks Called (71):
  • init_startup
  • friendlyurl_resolve_class
  • init_startup_session_setup_start
  • database_pre_fetch_array
  • database_post_fetch_array
  • init_startup_session_setup_complete
  • global_bootstrap_init_start
  • global_bootstrap_init_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • load_show_variables
  • load_forum_show_variables
  • global_state_check
  • global_bootstrap_complete
  • global_start
  • style_fetch
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • strip_bbcode
  • friendlyurl_clean_fragment
  • friendlyurl_geturl
  • forumjump
  • cache_templates
  • cache_templates_process
  • template_register_var
  • template_render_output
  • fetch_template_start
  • fetch_template_complete
  • parse_templates
  • fetch_musername
  • notices_check_start
  • notices_noticebit
  • process_templates_complete
  • friendlyurl_redirect_canonical
  • showthread_post_start
  • showthread_query_postids_threaded
  • showthread_threaded_construct_link
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • memberaction_dropdown
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • build_navigation_data
  • build_navigation_array
  • check_navigation_permission
  • process_navigation_links_start
  • process_navigation_links_complete
  • set_navigation_menu_element
  • build_navigation_menudata
  • build_navigation_listdata
  • build_navigation_list
  • set_navigation_tab_main
  • set_navigation_tab_fallback
  • navigation_tab_complete
  • fb_like_button
  • showthread_complete
  • page_templates