如何使按钮工作? Java编程

时间:2013-03-16 19:45:18

标签: java swing jbutton

我创建了一个Address Book GUI,我只是不明白如何使保存和删除按钮起作用,因此当用户填写文本字段时,他们可以单击保存并保存到{{1}我已创建,然后他们也可以从中删除。我该怎么做?

JList

2 个答案:

答案 0 :(得分:3)

按钮需要事件处理程序才能工作。您尚未向“保存”和“删除”按钮添加任何“事件处理程序”。您还需要在这些按钮上调用addActionListener。 我推荐匿名内部类:

mybutton.addActionListener(new ActionListener() {

  public void actionPerformed(ActionEvent event) {
    //do whatever should happen when the button is clicked...
  }

});

答案 1 :(得分:0)

您需要addActionListener按钮btSavebtDelete。 您可以创建一个这样的匿名类,并在那里执行您的工作。

btSave.addActionListener(new ActionListener()
{
 public void actionPerformed(ActionEvent ae)
 {
   //Do you work for the button here
 }
}


btDelete.addActionListener(new ActionListener()
{
 public void actionPerformed(ActionEvent ae)
 {
   //Do you work for the button here
 }
}

编辑:

我有一个你可以参考的例子,并通过理解它来相应地做出改变。我是从我们学院的一位教授那里得到的。

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

public class TooltipTextOfList{
    private JScrollPane scrollpane = null;
    JList list;
    JTextField txtItem;
    DefaultListModel model;
    public static void main(String[] args){
        TooltipTextOfList tt = new TooltipTextOfList();
    }

    public TooltipTextOfList(){
        JFrame frame = new JFrame("Tooltip Text for List Item");
        String[] str_list = {"One", "Two", "Three", "Four"};
        model = new DefaultListModel();
        for(int i = 0; i < str_list.length; i++)
            model.addElement(str_list[i]);
        list = new JList(model){
            public String getToolTipText(MouseEvent e) {
                int index = locationToIndex(e.getPoint());
                if (-1 < index) {
                    String item = (String)getModel().getElementAt(index);
                    return item;
                } else {
                    return null;
                }
            }
        };
        txtItem = new JTextField(10);
        JButton button = new JButton("Add");
        button.addActionListener(new MyAction());
        JPanel panel = new JPanel();
        panel.add(txtItem);
        panel.add(button);
        panel.add(list);
        frame.add(panel, BorderLayout.CENTER);
        frame.setSize(400, 400);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    public class MyAction extends MouseAdapter implements ActionListener{
        public void actionPerformed(ActionEvent ae){
            String data = txtItem.getText();
            if (data.equals(""))
                JOptionPane.showMessageDialog(null,"Please enter text in the Text Box.");
            else{
                model.addElement(data);
                JOptionPane.showMessageDialog(null,"Item added successfully.");
                txtItem.setText("");
            }
        }
    }
}