I really appreciate all the help i've been getting on my project lately from you guys, and hopefully this will be the last problem.

I've written an applet, and it uses ActionListener to detect when the button is pressed. The program is supposed to go through my methods when the button is pressed. However when i launch the applet and put values in the boxes, nothing happens when i click. Using an embedded class is too hard for me (i've been doing java for 5 weeks, and the only prior experience i had was html). Also i can't seem to make two seperate files, because only one can implement ActionListener.

here's what i have so far.

making the button -

enter = new JButton("Click here to calculate numeric palindrome.");
    enter.addActionListener(this);

running my methods when i click the button -

public void actionPerformed(ActionEvent e)
  {
    Numtemp = displayN.getText();

    Base = displayB.getText();

	convert();
	FindPalindrome();
	reconvert();
	print();
  }

Hi everyone,

I have no idea the number of JButtons in your application but where's the source??

Try this

public void actionPerformed(ActionEvent e)
  {

JButton B = (JButton)e.getSource();

if(B == enter)
    Numtemp = displayN.getText();

    Base = displayB.getText();

	convert();
	FindPalindrome();
	reconvert();
	print();
}

  }

I hope this helps you

Yours Sincerely

Richard West

Thanks for responding. I took that code and adapted it to my code, and it compiles, but i still have the same problem. Here is all of the relevant code. Oh and there is only one button.

public void init()
  {
    displayN = new JTextField(35);
    displayN.setFont(new Font("Monospaced", Font.BOLD, 14));
    String message1 = "Enter Number Here";
    displayN.setText(message1);

    displayB = new JTextField(15);
    displayB.setFont(new Font("Monospaced", Font.BOLD, 14));
    String message2 = "Enter Base Here";
    displayB.setText(message2);

    enter = new JButton("Click here to calculate numeric palindrome.");
    enter.addActionListener(this);

    displayS = new JTextField(60);
    displayS.setFont(new Font("Monospaced", Font.BOLD, 14));

    Container c = getContentPane();
    c.setLayout(new FlowLayout());
    c.setBackground(Color.darkGray);
    c.add(displayN);
    c.add(displayB);
    c.add(enter);
    c.add(displayS);

  }

//This tells the program to run when the button is clicked. Help for this code came from
//freesoft_2000 at the www.daniweb.com/techtalkforums
  public void actionPerformed(ActionEvent e)
  {
    JButton B = (JButton)e.getSource();

    if(B == enter)
    {
    Numtemp = displayN.getText();

    Base = displayB.getText();

	convert();
	FindPalindrome();
	reconvert();
	print();
	}
  }

Debugging 101: Put some system.out.println()'s throughout the actionPerformed() method, and all methods it calls. check to make sure all variables have the proper values, and that it even enters certain methods.

By the way, what are you doing with these lines:

Numtemp = displayN.getText();

Base = displayB.getText();


If those are used in the coorisponding methods called, I would suggest passing them as parameters instead.

for the button thing use this

enter = new JButton("Click here to calculate numeric palindrome.");
enter.setActionCommand("enter");
enter.addActionListener(this);

and for the action thing this

public void actionPerformed(ActionEvent e){
     if("enter".equals(e.getActionCommand())){
        //your code here
     }
}

never surrender !!!

just replace

JButton B = (JButton)e.getSource();

with

Object obj = e.getSource();

your Container probably freeze, put your long action(s) to the backGround Task, and if is method "print()"
real outPut to PrinterJob, hmmmm ...

Edited 5 Years Ago by mKorbel: EDT issue

This article has been dead for over six months. Start a new discussion instead.