Opa , consegui fazer … vo colocar o código aki pra ficar documentado … se alguém precisar disso um dia …
import java.awt.Frame;
/**
* @author Felipe Cunha Palma
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class ControlFrame extends Frame {
private ControlPanel controlPanel = null;
public static void main(String[] args) {
ControlFrame cf = new ControlFrame();
cf.setVisible(true);
cf.pack();
}
/**
* This is the default constructor
*/
public ControlFrame() {
super();
initialize();
initControlPaneListeners();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
java.awt.GridBagConstraints consGridBagConstraints14 = new java.awt.GridBagConstraints();
consGridBagConstraints14.gridx = 0;
consGridBagConstraints14.gridy = 0;
consGridBagConstraints14.anchor = java.awt.GridBagConstraints.NORTHEAST;
this.setLayout(new java.awt.GridBagLayout());
this.add(getControlPanel(), consGridBagConstraints14);
this.setSize(300, 200);
}
/**
* This method initializes controlPanel
*
* @return ControlPanel
*/
private ControlPanel getControlPanel() {
if(controlPanel == null) {
controlPanel = new ControlPanel();
}
return controlPanel;
}
private void initControlPaneListeners() {
controlPanel.addControlListener(new ControlListener() {
public void addPerformed() {
addButtonPressed();
}
public void removePerformed() {
removeButtonPressed();
}
public void applyPerformed() {
applyButtonPressed();
}
public void savePerformed() {
saveButtonPressed();
}
public void resetPerformed() {
resetButtonPressed();
}
});
}
public void addButtonPressed() {
System.out.print("Add pressed");
}
public void removeButtonPressed() {
System.out.print("Remove pressed");
}
public void applyButtonPressed() {
System.out.print("Apply pressed");
}
public void saveButtonPressed() {
System.out.print("Save pressed");
}
public void resetButtonPressed() {
System.out.print("Reset pressed");
}
}
/**
* @author Felipe Cunha Palma
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public interface ControlListener {
public void addPerformed();
public void removePerformed();
public void applyPerformed();
public void savePerformed();
public void resetPerformed();
}
/**
* @author Felipe Cunha Palma
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class ControlPanel extends Panel {
private Vector m_vctControlListeners = null;
private javax.swing.JPanel jPanel = null;
private javax.swing.JButton jButton1 = null;
private javax.swing.JButton jButton2 = null;
private javax.swing.JButton jButton3 = null;
private javax.swing.JButton jButton4 = null;
private javax.swing.JButton jButton = null;
/**
* This is the default constructor
*/
public ControlPanel() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
java.awt.GridBagConstraints consGridBagConstraints13 = new java.awt.GridBagConstraints();
consGridBagConstraints13.gridx = 0;
consGridBagConstraints13.gridy = 0;
consGridBagConstraints13.ipadx = 8;
consGridBagConstraints13.ipady = 14;
this.setLayout(new java.awt.GridBagLayout());
this.add(getJPanel(), consGridBagConstraints13);
this.setSize(200, 130);
this.setBackground(new java.awt.Color(204,204,204));
m_vctControlListeners = new Vector();
}
public void addControlListener(ControlListener listener) {
m_vctControlListeners.add(listener);
}
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private javax.swing.JPanel getJPanel() {
if(jPanel == null) {
jPanel = new javax.swing.JPanel();
java.awt.GridBagConstraints consGridBagConstraints8 = new java.awt.GridBagConstraints();
java.awt.GridBagConstraints consGridBagConstraints9 = new java.awt.GridBagConstraints();
java.awt.GridBagConstraints consGridBagConstraints10 = new java.awt.GridBagConstraints();
java.awt.GridBagConstraints consGridBagConstraints12 = new java.awt.GridBagConstraints();
java.awt.GridBagConstraints consGridBagConstraints11 = new java.awt.GridBagConstraints();
consGridBagConstraints12.gridx = 0;
consGridBagConstraints12.gridy = 0;
consGridBagConstraints12.insets = new java.awt.Insets(0,5,0,5);
consGridBagConstraints8.gridx = 1;
consGridBagConstraints8.gridy = 0;
consGridBagConstraints8.insets = new java.awt.Insets(0,5,0,5);
consGridBagConstraints10.gridx = 1;
consGridBagConstraints10.gridy = 1;
consGridBagConstraints10.insets = new java.awt.Insets(5,0,5,0);
consGridBagConstraints9.gridx = 0;
consGridBagConstraints9.gridy = 1;
consGridBagConstraints9.insets = new java.awt.Insets(5,0,5,0);
consGridBagConstraints11.gridx = 0;
consGridBagConstraints11.gridy = 2;
consGridBagConstraints11.gridwidth = 2;
jPanel.setLayout(new java.awt.GridBagLayout());
jPanel.add(getJButton(), consGridBagConstraints12);
jPanel.add(getJButton1(), consGridBagConstraints8);
jPanel.add(getJButton2(), consGridBagConstraints9);
jPanel.add(getJButton3(), consGridBagConstraints10);
jPanel.add(getJButton4(), consGridBagConstraints11);
jPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.LOWERED), " ConTrols ", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Exocet", java.awt.Font.PLAIN, 13), null));
}
return jPanel;
}
/**
* This method initializes jButton1
*
* @return javax.swing.JButton
*/
private javax.swing.JButton getJButton1() {
if(jButton1 == null) {
jButton1 = new javax.swing.JButton();
jButton1.setText("Remove");
jButton1.setFont(new java.awt.Font("Courier New", java.awt.Font.BOLD, 12));
jButton1.setPreferredSize(new java.awt.Dimension(80,26));
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
ControlListener removeButton = (ControlListener)m_vctControlListeners.elementAt(0);
removeButton.removePerformed();
}
});
}
return jButton1;
}
/**
* This method initializes jButton2
*
* @return javax.swing.JButton
*/
private javax.swing.JButton getJButton2() {
if(jButton2 == null) {
jButton2 = new javax.swing.JButton();
jButton2.setText("Apply");
jButton2.setPreferredSize(new java.awt.Dimension(80,26));
jButton2.setFont(new java.awt.Font("Courier New", java.awt.Font.BOLD, 12));
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
ControlListener applyButton = (ControlListener)m_vctControlListeners.elementAt(0);
applyButton.applyPerformed();
}
});
}
return jButton2;
}
/**
* This method initializes jButton3
*
* @return javax.swing.JButton
*/
private javax.swing.JButton getJButton3() {
if(jButton3 == null) {
jButton3 = new javax.swing.JButton();
jButton3.setText("Save");
jButton3.setPreferredSize(new java.awt.Dimension(80,26));
jButton3.setFont(new java.awt.Font("Courier New", java.awt.Font.BOLD, 12));
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
ControlListener saveButton = (ControlListener)m_vctControlListeners.elementAt(0);
saveButton.savePerformed();
}
});
}
return jButton3;
}
/**
* This method initializes jButton4
*
* @return javax.swing.JButton
*/
private javax.swing.JButton getJButton4() {
if(jButton4 == null) {
jButton4 = new javax.swing.JButton();
jButton4.setText("Reset Fields");
jButton4.setFont(new java.awt.Font("Courier New", java.awt.Font.BOLD, 12));
jButton4.setPreferredSize(new java.awt.Dimension(118,26));
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
ControlListener resetButton = (ControlListener)m_vctControlListeners.elementAt(0);
resetButton.resetPerformed();
}
});
}
return jButton4;
}
/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private javax.swing.JButton getJButton() {
if(jButton == null) {
jButton = new javax.swing.JButton();
jButton.setText("Add");
jButton.setPreferredSize(new java.awt.Dimension(80,26));
jButton.setFont(new java.awt.Font("Courier New", java.awt.Font.BOLD, 12));
jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
ControlListener addButton = (ControlListener)m_vctControlListeners.elementAt(0);
addButton.addPerformed();
}
});
}
return jButton;
}
}