27/02/2008, 20:34
|
| | | Fecha de Ingreso: enero-2008 Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 17 años Puntos: 260 | |
Re: Ayuda, Menú Dinámico Prototipo en Eclipse...
(Casi todo puede ser mejorado, no lo optimicé.)
Es solo un ejemplo ... no ?
Código:
package org.example;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.WindowConstants;
public class Example extends javax.swing.JFrame {
private static final long serialVersionUID = 4436990274867781357L;
public Example() {
this.setPreferredSize(new Dimension(260, 260));
this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
JMenu jMenu = new JMenu();
jMenu.setText("Opciones");
JMenuBar jJMenuBar = new JMenuBar();
jJMenuBar.add(jMenu);
String[] Options[] = {
{ "Menu 1", "Opcion 1" },
{ "Menu 2", "Opcion 2" },
{ "Menu 3", "Opcion 3" }
};
addMenuItems(jMenu, Options);
this.setJMenuBar(jJMenuBar);
this.pack();
}
public static void main(String[] args) {
new Example().setVisible(true);
}
private void addMenuItems(JMenu menu, String[] args[]) {
for (int i = 0; i < args.length; i++) {
MyJMenuItem m = new MyJMenuItem(args[i][0], args[i][1]);
menu.add(m);
m.addActionListener(m);
}
}
private class MyJMenuItem extends javax.swing.JMenuItem implements ActionListener {
private static final long serialVersionUID = -1909273293784759710L;
private String message;
public MyJMenuItem(String text, String message) {
super(text);
this.message = message;
}
public String getMessage() {
return this.message;
}
public void setMessage(String message) {
this.message = message;
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() instanceof MyJMenuItem) {
String message = ((MyJMenuItem)e.getSource()).getMessage();
javax.swing.JOptionPane.showMessageDialog(null, message);
}
}
}
}
|