• 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

    • AMD preps Ryzen 9600X3D for those who want a taste of the fastest gaming CPU for cheap by Sayan Sen AMD desktop processors are available across two platforms: socket AM4 and socket AM5. Both of these sockets are still going pretty strong, and the company is offering deals and discounts for both as it continues to release new SKUs for its older platform. For example, the company launched an affordable X3D processor for AM4 this month with the new 5500X3D. These gaming CPUs from AMD have been a massive success, as both AM4 and AM5 X3D chips are quite popular among gamers, and for good reason, too. They are fast, very fast. The massive chunk of vertical 3D stacked last-level cache (LLC) Level 3 cache helps these processors a ton in scenarios such as gaming. In our Ryzen 9 9950X3D review, we saw that 300+ frames per second are possible depending on the game title. While we did not review the 8-core 9800X3D, it has been found to be even slightly faster than the 9950X3D and is currently the most powerful gaming CPU on the planet. The Ryzen 9 9800X3D is selling these days for around $440-$500, and that may still be out of budget for many users. As such, similar to the 5600X3D, which is a 6-core 5000X3D processor cut down from the 8-core 5800X3D, AMD is planning to launch a hexacore Ryzen 5 9600X3D that will have two cores disabled compared to the 9800X3D. The information has been uncovered from the recent system integrator (SI) graphics driver for the recently launched Radeon AI PRO R9700 discrete GPU. The driver (Windows SI Driver for Radeon AI PRO R9700, Version 25.10.13.01) confirms the existence of 9600X3D as well as a 9600 non-X SKU and several other Ryzen PRO 9000 CPUs. The full list of upcoming CPUs is given below: Ryzen 5 9600X3D Ryzen 5 9600 AMD Ryzen 9 PRO 9945 Ryzen 7 PRO 9745 Ryzen 5 PRO 9645 Ryzen 5 PRO 9400 In terms of specs, the core configuration of the 9600X3D will be identical to the Ryzen 9600X and 9600, barring things like clock speeds. However, the six-core X3D will have a lot more L3 cache at 96 MB vs 32 MB on the 9600X and 9600. There is no information on pricing at the moment. Source: AMD (spotted by Mellodic Warrior on X)
    • With the dwindling number of TV license payers the BBC has to look for alternative avenues for income.
    • Bet they remove some sound card, wifi and bluetooth drivers that are still used today in some prebuilts. Seen some very old drivers still being used for those components. Printers can be bad also with very outdated but still working drivers.
    • If its anything like the TV licence they will send a few men around knocking and a letter every week saying they will take you to court.
  • Recent Achievements

    • Week One Done
      Crunchy6 earned a badge
      Week One Done
    • One Month Later
      KynanSEIT earned a badge
      One Month Later
    • One Month Later
      gowtham07 earned a badge
      One Month Later
    • Collaborator
      lethalman went up a rank
      Collaborator
    • Week One Done
      Wayne Robinson earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      680
    2. 2
      ATLien_0
      275
    3. 3
      Michael Scrip
      221
    4. 4
      +FloatingFatMan
      170
    5. 5
      Steven P.
      163
  • Tell a friend

    Love Neowin? Tell a friend!