我的类实现了动作监听器,但点击时我的按钮什么都不做。

时间:2014-11-22 16:28:07

标签: java swing actionlistener

我正在制作一个简单的文本编辑器。我的代码扩展了JFrame并实现了ActionListener。我有几个构造函数,但我只在我的代码的最底部包含一个只是为了保持简短。出于某种原因,每当我点击任何按钮时,它们都不会发生任何事情。谁能帮我看看我做错了什么?

public class TextEditor extends JFrame implements ActionListener{
JMenuItem aboutMenuItem;
JMenuItem newMenuItem;
JMenuItem saveMenuItem;
JMenuItem exitMenuItem;
JMenu fileMenu;
JMenu helpMenu; 
JMenuItem loadMenuItem;
JTextArea textArea;

JButton newButton;
JButton saveButton;
JButton openButton;
JButton searchButton;
JButton calculatorButton;
JButton fToCButton;
JButton ozToCupsButton;
JButton litersToGallonButton;
JTextField fToC;
JTextField oz;
JTextField liters;

public TextEditor(){
    super("TextMe");
    this.setLayout(new BorderLayout());
    loadMenuBar();
    loadToolBar();
    loadTextArea();
    this.pack();
}

JTextField searchInputText ;
private void loadToolBar() {
    // TODO Auto-generated method stub

   JToolBar toolBar;


    // CALCULATOR BUTTON
    calculatorButton = new JButton(new     ImageIcon(this.getClass().getResource("/images/calculator.png")));
    calculatorButton.addActionListener(this);

}


@Override
public void actionPerformed(ActionEvent e) {
    // TODO Auto-generated method stub


        if(e.getSource() == calculatorButton){

    // TODO Auto-generated method stub
    //super("Unit Converter");
    System.out.println("Calculator!");
    TextEditor calculator = new TextEditor();
    calculator.setVisible(true);
    calculator.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);

    this.setLayout(new FlowLayout());

    fToC = new JTextField(5);
    oz = new JTextField(5);
    liters = new JTextField(5);

    fToCButton = new JButton("Ferenheit To Celcius");
    fToCButton.addActionListener(this);

    ozToCupsButton = new JButton("Ounces to Cups");
    ozToCupsButton.addActionListener(this);

    litersToGallonButton = new JButton("Liters to Gallons");
    litersToGallonButton.addActionListener(this);

    add(fToCButton, BorderLayout.WEST);
    add(fToC);
    add(ozToCupsButton, BorderLayout.WEST);
    add(oz);
    add(litersToGallonButton, BorderLayout.WEST);
    add(liters);

    this.pack();

}

0 个答案:

没有答案