A continuación un ejemplo de Menú de comida usando ArrayList,que tendrá una clase Operación que tendrá como métodos mostar ,editar y eliminar los ingredientes del Menú.
- Empezamos creando nuestra clase Comida
public class Comida {
private String nombre;
private ArrayList Ingredientes;
public Comida() {
nombre = "";
Ingredientes = new ArrayList<>();
}
public Comida(String nombre, ArrayList ingredientes) {
this.nombre = nombre;
this.Ingredientes = ingredientes;
}
public Comida(ArrayList Ingredientes) {
this.Ingredientes = Ingredientes;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public ArrayList getIngredientes() {
return Ingredientes;
}
public void setIngredientes(ArrayList Ingredientes) {
this.Ingredientes = Ingredientes;
}
}
- Nuestra clase Operación
import java.util.ArrayList;
import javax.swing.JOptionPane;
public class operacion {
ArrayList misComidas;
public operacion() {
misComidas = new ArrayList<>();
}
void guardar(Comida comida) {
if (buscar(comida.getNombre())==true) {
JOptionPane.showMessageDialog(null, "El plato ya existe");
} else {
misComidas.add(comida);
}
}
boolean buscar(String comida) {
boolean opcion=false;
for (int i = 0; i < misComidas.size(); i++) {
if (comida.equals(misComidas.get(i).getNombre())) {
opcion=true;
}
}
return opcion;
}
public ArrayList getMisComidas() {
return misComidas;
}
public void Editar(int pos,Comida comida){
misComidas.set(pos, comida);
}
public void eliminar(int pos){
misComidas.remove(pos);
}
}
- Nuestra clase Frame donde crearemos el interfaz de nuestro código
import java.awt.List;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class ComidaInterface extends javax.swing.JFrame {
operacion operacionComida = new operacion();
ArrayList ingredientes;
public ComidaInterface() {
initComponents();
this.setTitle("Menu");
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
this.setResizable(false);
this.setLocationRelativeTo(null);
}
private void btLimpiarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
this.tfNombrecomida.setText("");
this.taIngredientes.setText("");
tfNombrecomida.requestFocus();
taIngredientes.setEditable(true);
tfNombrecomida.setEditable(true);
}
private void btGuardarActionPerformed(java.awt.event.ActionEvent evt) {
ingredientes = new ArrayList<>();
//
if (!taIngredientes.getText().equals("") && !tfNombrecomida.getText().equals("")) {
String ingred[] = taIngredientes.getText().split("\n");
for (int i = 0; i < ingred.length; i++) {
ingredientes.add(ingred[i]);
}
//
Comida comida = new Comida(tfNombrecomida.getText(), ingredientes);
operacionComida.guardar(comida);
mostrar(jtmostrar);
limpiar();
} else {
JOptionPane.showMessageDialog(null, "Campo vacío");
tfNombrecomida.requestFocus();
}
}
private void taIngredientesMouseClicked(java.awt.event.MouseEvent evt) {
}
private void jtmostrarMouseClicked(java.awt.event.MouseEvent evt) {
limpiar();
tfNombrecomida.setEditable(false);
taIngredientes.setEditable(false);
}
private void btMostrarActionPerformed(java.awt.event.ActionEvent evt) {
mostrarIngredientes();
}
private void btEditarActionPerformed(java.awt.event.ActionEvent evt) {
taIngredientes.setEditable(true);
tfNombrecomida.setEditable(true);
tfNombrecomida.requestFocus();
ingredientes = new ArrayList<>();
if (!taIngredientes.getText().equals("")) {
String ingred[] = taIngredientes.getText().split("\n");
for (int i = 0; i < ingred.length; i++) {
if (!ingred[i].equals("")) {
ingredientes.add(ingred[i]);
}
}
int posicion = jtmostrar.getSelectedRow();
Comida comida = new Comida(tfNombrecomida.getText(), ingredientes);
operacionComida.Editar(posicion, comida);
mostrar(jtmostrar);
limpiar();
} else {
JOptionPane.showMessageDialog(null, "Campo vacío");
tfNombrecomida.requestFocus();
}
}
private void btEliminarActionPerformed(java.awt.event.ActionEvent evt) {
int posicion = jtmostrar.getSelectedRow();
operacionComida.eliminar(posicion);
mostrar(jtmostrar);
taIngredientes.setText("");
tfNombrecomida.setText("");
taIngredientes.setEditable(true);
tfNombrecomida.setEditable(true);
}
private void tfNombrecomidaActionPerformed(java.awt.event.ActionEvent evt) {
taIngredientes.requestFocus();
}
void mostrarIngredientes() {
int posicion = jtmostrar.getSelectedRow();
tfNombrecomida.setText(jtmostrar.getValueAt(posicion, 0).toString());
for (int i = 0; i < operacionComida.getMisComidas().get(posicion).getIngredientes().size(); i++) {
taIngredientes.append(operacionComida.getMisComidas().get(posicion).getIngredientes().get(i) + "\n");
}
taIngredientes.setEditable(true);
tfNombrecomida.setEditable(true);
}
DefaultTableModel mostrar(JTable tabla) {
DefaultTableModel modelo = (DefaultTableModel) tabla.getModel();
modelo.setRowCount(0);
Object[] fila = new Object[1];
for (int i = 0; i < operacionComida.getMisComidas().size(); i++) {
fila[0] = operacionComida.getMisComidas().get(i).getNombre();
modelo.addRow(fila);
}
return modelo;
}
void limpiar() {
tfNombrecomida.setText("");
taIngredientes.setText("");
tfNombrecomida.requestFocus();
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ComidaInterface().setVisible(true);
}
});
}
private javax.swing.JButton btEditar;
private javax.swing.JButton btEliminar;
private javax.swing.JButton btGuardar;
private javax.swing.JButton btLimpiar;
private javax.swing.JButton btMostrar;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTable jtmostrar;
private javax.swing.JTextArea taIngredientes;
private javax.swing.JTextField tfNombrecomida;


No hay comentarios:
Publicar un comentario