Problemas con los eventos

Santi
06 de Agosto del 2003
Hola a todos:

A ver si alguien me puede ayudar, resulta que estoy haciendo un curso de profundización en Java y tengo que hace el siguiente ejercicio:
En un applet con tres componentes (Button, List, TextField) lo que tengo que hacer es que cuando inserte un texto en el campo de texto de al Button se añada el texto del TextField como un nuevo ítem a la lista List.
Pero eso no es todo además añadiendo un botón mas tengo que tiene que hacer la siguiente función, al seleccionar un ítem de las lista y dar al botón se tiene que eliminar el ítem seleccionado.

¿Por favor alguien me puede ayudar?

Gracias.

Un Saludo.

Santi.

Mintxela
06 de Agosto del 2003
//a mi me funciona, si tienes algun problema me lo dices

import java.awt.*;
import java.util.Vector;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;

public class Principal
extends JFrame {
boolean packFrame = false;
JPanel contentPane;
BorderLayout borderLayout1 = new BorderLayout();
JTextArea jTextArea1 = new JTextArea();
TitledBorder titledBorder1;
TitledBorder titledBorder2;
JList jList1 = new JList();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JScrollPane scroll;
DefaultListModel model = new DefaultListModel();

//Constructor
public Principal() {

contentPane = (JPanel)this.getContentPane();
contentPane.setLayout(borderLayout1);
this.setSize(new Dimension(400, 300));
this.setTitle("Frame Title");

if (packFrame) {
this.pack();
}
else {
this.validate();
}
//Las siguientes líneas centran el frame en la pantalla
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = this.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}

try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}

this.setLocation( (screenSize.width - frameSize.width) / 2,
(screenSize.height - frameSize.height) / 2);
this.setVisible(true);
}

//Método main
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch (Exception e) {
e.printStackTrace();
}
new Principal();
}

protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}

private void jbInit() throws Exception {
titledBorder1 = new TitledBorder("");
titledBorder2 = new TitledBorder("");
jTextArea1.setBorder(BorderFactory.createLoweredBevelBorder());
jTextArea1.setText("");
jTextArea1.setBounds(new Rectangle(53, 18, 280, 26));
this.getContentPane().setLayout(null);
jButton1.setBounds(new Rectangle(76, 176, 96, 30));
jButton1.setText("Nuevo");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
if (jTextArea1.getText().compareToIgnoreCase("") != 0) {
model.addElement(jTextArea1.getText());
jList1.setModel(model);
}
jTextArea1.setText("");
}
});

jButton2.setText("Borrar");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
if (jList1.getSelectedIndex() != -1) {
model.removeElementAt(jList1.getSelectedIndex());
jTextArea1.setText("");
}

}
});

jButton2.setBounds(new Rectangle(205, 177, 96, 30));

this.getContentPane().add(jTextArea1, null);
scroll = new JScrollPane(jList1);
scroll.setBorder(BorderFactory.createLoweredBevelBorder());
scroll.setBounds(new Rectangle(54, 60, 279, 40));
this.getContentPane().add(scroll, null);
this.getContentPane().add(jButton1, null);
this.getContentPane().add(jButton2, null);
}
}