• 0

JAVA GUI error message


Question

package Lab4;

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;


public class GUI_Element implements ActionListener{
    // Create a frame window

    public static final int WIDTH = 500;
    public static final int HEIGHT = 400;
    public static final int NUMBER_OF_DIGITS = 30;

    private JTextField ioField;
    private double result = 0.0;

    public GUI_Element () {
        JFrame frame = new JFrame ("Mortgage Calculator");
        frame.setSize (WIDTH, HEIGHT);
        frame.setLayout(new GridLayout(7,1,10,10));
}

Okay so I have this java program written. i'm trying to build a GUI for the first time, so just a beginner at this and I'm using Netbeans.

I get this error on the class name GUI_Element

GUI_Element is not abstract and does not override abstract method actionPerformed in java.awt.event.ActionListener

I have no idea why I'm getting this error.

Please help

Link to comment
https://www.neowin.net/forum/topic/886128-java-gui-error-message/
Share on other sites

10 answers to this question

Recommended Posts

  • 0

I dont mess with gui at all but it could be that you need super() in your constructor as the class is implementing the awt.

^ thats not it.

you could just make the class abstract and implement everything that is needed in your constructor.

public abstract class GUI_Element implements ActionListener{

  • 0

Your class GUI_Element implements an interface (ActionListener). ActionListener requires that implementing classes override the method actionPerformed. You need to define a method called actionPerformed.

It must match the signature in http://java.sun.com/javase/6/docs/api/java/awt/event/ActionListener.html .

so something like:

public void actionPerfomed(ActionEvent e){
   if(e.getSource()==jButton1){
      //do work
   }
}

  • 0

Okay so after adding more code to my file, this is what I ended up with. It looks right to me but the only thing that I need is to make the text field, button smaller so that I can fit the outputs on the same window. I have in all 7 outputs. In the picture I've only shown 2 for now.

Is there a way to make the textfield and button smaller?

Thanks.

post-234729-12694907304266.jpg

  • 0

A GridLayout will make every Component in the Grid the same size no matter what. GridBagLayout will let you set relative sizes, but it's somewhat difficult to figure out. The best bet if you don't want to code the GUI by hand is to use NetBeans IDE. It has a drag-and-drop GUI creator.

Otherwise, you'll want to read this: http://java.sun.com/docs/books/tutorial/uiswing/layout/visual.html

  • 0

^ Thanks for the link. I tried using BorderLayout in mine.

Seems okay to me till now.

Now where I'm stuck is, I want the text "Status of the Program: Waiting for user to enter all the values" to fit on the window. However, my GUI cuts it off. I have no idea how to make it not cut the text I've written.

Any help please?

Thanks :)

post-234729-12695709436469.jpg

  • 0

I don't quite understand how we use HTML tags. Can you give me a link that will make things more clearer?

I'm building on Netbeans. I have an assignment and its due tomorrow :(. I can't use the Netbeans GUI builder. I have to write all the code myself.

Thanks for the help :)

EDIT:

nvm I found this link:

http://java.sun.com/docs/books/tutorial/uiswing/components/html.html

Thanks for the kind help dontocsata!

EDIT2:

okay still stuck. So I have this:

        status.setText(" <html><b>Status of the Program: Waiting for user </b> <b>to enter all the values</b>");

where status is a JLabel.

HTML doesn't seem to work in this.

I don't really know if I'm right though.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Hmm, I'll give it a go
    • Is Samsung teasing a Galaxy Z Fold7 Ultra? An official press release suggests so by Sagar Naresh Bhavsar We are inching closer to the launch of this year's premium foldables from Samsung: the Galaxy Z Fold7 and the Galaxy Z Flip7. Recently, a certification revealed that the affordable Galaxy Z Flip7 FE, could also debut alongside the other two foldables. The device is expected to take on the standard Moto Razr 2025. While we were getting excited about the trio, Samsung has put out a press release to create some hype around the upcoming foldables. Interestingly, the company has put great emphasis on the "Ultra" branding, which it usually uses for its Galaxy S-series phone and previously for Note-series phones. So, does this mean, we are getting a Galaxy Z Fold7 Ultra? Time will only tell. As for the press release, it is titled "Meet the Next Chapter of Ultra" and the first line highlights how Samsung has been listening to fans that have demanded "bigger screens, better cameras and new ways to connect and create." To churn up up the hype, Samsung added, "That’s why Galaxy’s next chapter is to provide an experience that seamlessly blends artistry and engineering to elevate everyday interactions." The GIF inside the press-release reveals what looks like the Galaxy Z Fold7 (or the Galaxy Z Fold7 Ultra, if that exists). Rumors have indicated that this year's Galaxy Z Fold7 is getting taller and wider than last year's model, thanks to a bigger display. The Z Fold7 could also feature a titanium backplate to not only reduce its thickness and make it stronger but to shed some weight as well. The company then directs the attention to its AI features such as voice controls for finding the perfect eatery or shopping place, using powerful AI-powered camera features, and so on. We will get to know more about the devices in the coming weeks. By that time, let us know your thoughts, on whether you would like an Ultra foldable or want Samsung to tweak the existing model and keep the space less-crowded.
    • A couple of friends of mine have been building Gunpla for years and got me interested, so I asked and they recommended this as a fairly good quality, very affordable, starting point. https://www.amazon.co.uk/dp/B0BGN9K1MV It was fun to build, didn't take too long, and helped me decide if I wanted to go further with the hobby, which I did.  Still only got this one built, but that's only due to time availability!
    • I've had an original, a Lite, and an OLED and I have just one question for you.  How big are your hands? I got rid of all three because, simply put, they're sized for kids hands more than anything, especially the Lite.  The Switch 2 is a fair bit larger but I'm not agreeing to Ninty's new EULA for the thing.
    • Where does he say that he'll give 99% to Africa? I agree that he said that he'll give 99% of his wealth, and you quote him saying that the majority will go to Africa. The majority of 99% does not mean all of the 99%. It could mean that he'll give just above half of that.
  • Recent Achievements

    • Week One Done
      Leonard grant earned a badge
      Week One Done
    • One Month Later
      portacnb1 earned a badge
      One Month Later
    • Week One Done
      portacnb1 earned a badge
      Week One Done
    • First Post
      m10d earned a badge
      First Post
    • Conversation Starter
      DarkShrunken earned a badge
      Conversation Starter
  • Popular Contributors

    1. 1
      +primortal
      260
    2. 2
      snowy owl
      158
    3. 3
      +FloatingFatMan
      145
    4. 4
      ATLien_0
      140
    5. 5
      Xenon
      131
  • Tell a friend

    Love Neowin? Tell a friend!