Проблема ActionListener - PullRequest
       9

Проблема ActionListener

2 голосов
/ 14 января 2011

Я пытаюсь создать actionListener для кнопки в другой кнопке, которая также имеет actionlistener, и я просто не могу понять это каким-то образом.Я пытаюсь сделать действие на 2-й кнопке, но я не могу понять это. Если кто-нибудь поможет мне, я буду признателен!Вот код ниже:

import java.awt.*; 
import java.awt.event.*; 

import javax.swing.*;
import java.io.*;
import java.util.*;

public class basic implements ActionListener{

   public static void main(String[] args) {
       basic process = new basic (); 
  }

   public basic(){



           JFrame fan = new JFrame("Scheme"); 


           JPanel one = new JPanel(new BorderLayout()); 
          fan.add(one);

         JPanel uno = new JPanel();
           uno.setLayout(new BoxLayout(uno, BoxLayout.Y_AXIS));
           JButton addB = new JButton("first choice");


         addB.setAlignmentX(Component.CENTER_ALIGNMENT);
           uno.add(addB); 

           addDButton.setActionCommand("hehe");
           addDButton.addActionListener(this);

         one.add(uno,BorderLayout.CENTER); 

           fan.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        
           fan.setSize(500,700);
          fan.setLocationByPlatform(true);
           fan.setVisible(true);
}

            public void actionPerformed(ActionEvent evt) {

    JPanel markP = new JPanel(new FlowLayout(FlowLayout.RIGHT,10,20)); 
    JDialog dialog = new JDialog((JFrame)null);
    dialog.getContentPane().add(markP,BorderLayout.CENTER); 

     if (evt.getActionCommand().equals("hehe")) {


     JLabel title = new JLabel("Proceed");
     title.setFont(new Font("Arial",Font.BOLD,15)); 
     markP.add(title,BorderLayout.NORTH);



    JButton exit = new JButton("Exit");
    markP.add(exit);


//here i want to create another actionListener on the exit button only without affecting the other content which is in the button "addB " so that when i click on the addB button the J dialog pops up, and than when i click on exit button the program will return to the menu.I couldn't figure it out.



    dialog.toFront(); 
    dialog.setModal(true); 
    dialog.pack(); // 
    dialog.setLocationRelativeTo(null); // 
               dialog.setVisible(true);

}

// here the code goes on but the problem is that of the actionListener which is concerned.

Ответы [ 2 ]

0 голосов
/ 14 января 2011

Вы можете использовать тот же ActionListener, если вы проверите источник действия, используя

if (evt.getSource().equals(addDButton) { original code }
else { code for the other button }
0 голосов
/ 14 января 2011
JButton exit = new JButton("Exit");
exit.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent evt) {
         // you code here
   }
});

Вы должны использовать лучшие имена переменных.Следовать вашему коду нелегко

...