001package arcommon.ui.component; 002 003import java.awt.BorderLayout; 004import java.awt.event.ActionEvent; 005import java.awt.event.ActionListener; 006 007import javax.swing.JButton; 008import javax.swing.JPanel; 009 010public abstract class OkCancelButtonBarJComponent extends JPanel { 011 012 private JButton okButton; 013 private JPanel extraButtonPanel; 014 015 public OkCancelButtonBarJComponent() { 016 setLayout(new BorderLayout()); 017 018 JPanel buttonPanel = new JPanel(); 019 add(buttonPanel, BorderLayout.EAST); 020 021 okButton = new JButton("Ok"); 022 buttonPanel.add(okButton); 023 okButton.addActionListener(new ActionListener() { 024 public void actionPerformed(ActionEvent e) { 025 eventOkActionPerformed(e); 026 } 027 }); 028 029 JButton button = new JButton("Cancel"); 030 buttonPanel.add(button); 031 button.addActionListener(new ActionListener() { 032 public void actionPerformed(ActionEvent e) { 033 eventCancelActionPerformed(e); 034 } 035 }); 036 } 037 038 public void addExtraButton(JButton button) { 039 if (extraButtonPanel == null) { 040 extraButtonPanel = new JPanel(); 041 add(extraButtonPanel, BorderLayout.WEST); 042 } 043 extraButtonPanel.add(button); 044 } 045 046 public JButton getOkButton() { 047 return okButton; 048 } 049 050 public abstract void eventOkActionPerformed(ActionEvent e); 051 052 public abstract void eventCancelActionPerformed(ActionEvent e); 053 054 private static final long serialVersionUID = 7940846610964638529L; 055}