import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ProgramaLista extends JFrame {
private DefaultListModel<String> modeloLista;
private JList<String> lista;
private JTextField cajaTexto;
public ProgramaLista() {
super("Programa con lista");
// Inicializar la lista y el modelo de la lista
modeloLista = new DefaultListModel<>();
lista = new JList<>(modeloLista);
// Inicializar la caja de texto
cajaTexto = new JTextField();
// Botón para agregar texto a la lista
JButton botonAgregar = new JButton("Agregar");
botonAgregar.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
agregarElemento();
}
});
// Botón para borrar elemento seleccionado
JButton botonBorrar = new JButton("Borrar");
botonBorrar.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
borrarElemento();
}
});
// Configurar el diseño
setLayout(new BorderLayout());
add(new JScrollPane(lista), BorderLayout.CENTER);
add(cajaTexto, BorderLayout.PAGE_START);
add(botonAgregar, BorderLayout.LINE_START);
add(botonBorrar, BorderLayout.LINE_END);
// Configuración de la ventana
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 200);
setLocationRelativeTo(null);
setVisible(true);
}
private void agregarElemento() {
String texto = cajaTexto.getText();
if (!texto.isEmpty()) {
modeloLista.addElement(texto);
cajaTexto.setText(""); // Limpiar la caja de texto después de agregar
}
}
private void borrarElemento() {
int indiceSeleccionado = lista.getSelectedIndex();
if (indiceSeleccionado != -1) {
modeloLista.remove(indiceSeleccionado);
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new ProgramaLista();
}
});
}
}