Solved

How to delete JButton on JPanel dynamically?

Posted on 2002-05-11
3
2,403 Views
Last Modified: 2010-05-18
   I dynamically add several JButton Objects in a ArrayList by other codes. After that,what  I want to implement is :When a JButton on the JPanel is clicked, the second element in the arraylist will be removed. Then I repaint the other elements on JPanel, the second JButton should disappeare,  but the code as following does not work.
   Would you show me the right codes? Thank you in advance!


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

public class DelJComponent extends JApplet {
     
    JP jp=new JP();
    ArrayList StepCollection=new ArrayList();
   
     public void init()
     {
         getContentPane().add(jp);
          for (int i=0;i<3;i++)
               {   StepNode stepObj=new StepNode();
                    StepCollection.add(stepObj);
               }
         
     }
     class JP extends JPanel
     {
          JP()
          {
          }
          public void paint(Graphics g)
          {
               super.paint(g);
               for (int i=0;i<StepCollection.size();i++)
                    {
                      StepNode tempObj=(StepNode)StepCollection.get(i);
                        add(tempObj);
                        tempObj.setLocation(25*i+50,25*i+50);
                    }
               g.drawString(Integer.toString(StepCollection.size()),30,10);
          }
     }    
     class StepNode extends JButton
     {
          StepNode()
          {
               setSize(new Dimension(30,20));
               addMouseListener(new StepMouseProcess());
          }
          public void delStep()
          {
               StepCollection.remove(2);//2 is for test
               jp.validate();
               jp.repaint();
          }
         private class StepMouseProcess extends MouseAdapter
         {
               public void mouseClicked(MouseEvent e)
               {
                        delStep();
                 }
            }          

     }

}

0
Comment
Question by:CFree
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 1

Accepted Solution

by:
raid999 earned 50 total points
ID: 7003600
I have done a similar programe
Have a look at this
ftp://80.195.36.75/Raid/MSc/JAVA/Resturant
and then download the zip file.
0
 

Author Comment

by:CFree
ID: 7003837
raid999 : there is some difference between our codes.you delete the JButton by JPanel's mumber function "remove",but I want to delete the element in ArrayList then show the left on the JPanel.
0
 
LVL 1

Expert Comment

by:raid999
ID: 7004250
right sorry mate i will try to think of your way and if i come to any thing i will let you know.

_________________________
cheers
0

Featured Post

Optimize your web performance

What's in the eBook?
- Full list of reasons for poor performance
- Ultimate measures to speed things up
- Primary web monitoring types
- KPIs you should be monitoring in order to increase your ROI

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

INTRODUCTION Working with files is a moderately common task in Java.  For most projects hard coding the file names, using parameters in configuration files, or using command-line arguments is sufficient.   However, when your application has vi…
After being asked a question last year, I went into one of my moods where I did some research and code just for the fun and learning of it all.  Subsequently, from this journey, I put together this article on "Range Searching Using Visual Basic.NET …
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
This tutorial covers a practical example of lazy loading technique and early loading technique in a Singleton Design Pattern.
Suggested Courses

636 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question