Programador Scala de 11 anos

Está aí uma coisa que não se vê todo dia. :smiley:

O jovem programador de Scala apresentou seu Game of Life no evento BASE (Bay Area Scala Enthusiast).

[youtube]http://www.youtube.com/watch?v=6RwrT6N43lY[/youtube]

[quote=Adelar]Está aí uma coisa que não se vê todo dia. :smiley:

O jovem programador de Scala apresentou seu Game of Life no evento BASE (Bay Area Scala Enthusiast).

[youtube]http://www.youtube.com/watch?v=6RwrT6N43lY[/youtube][/quote]

Estou com um problema tenho que implementar este código fazendo que ao clicar no botão Remove, o valor que estiver selecionado na lista será removido, ao eliminar os valores, caso todos os valores tenham sido eliminados e a lista esteja vazia, o botão Remove deve ser desabilitado, sendo habilitado novamente apenas quando houver algum valor na lista. Da mesma forma, caso o botão Adiciona seja clicado sem que nada tenha sido digitado na caixa de texto, um aviso deve ser emitido, seja uma mensagem de texto ou um som.
Me ajudem porfavor.

import java.awt.;
import java.awt.event.
;
import javax.swing.;
import javax.swing.event.
;

public class AvaliacaoList extends JFrame implements ListSelectionListener {

private JList list;
private DefaultListModel listModel;
private JButton addButton, removeButton;
private JTextField caixaNome;

public AvaliacaoList() {
super(“AvaliacaoList”);

listModel = new DefaultListModel();
listModel.addElement(“Claudia”);
listModel.addElement(“Fernanda”);

list = new JList(listModel);
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
list.setSelectedIndex(0);
list.addListSelectionListener(this);
JScrollPane listScrollPane = new JScrollPane(list);

addButton = new JButton(“Adiciona”);
addButton.setActionCommand(“Adiciona”);
addButton.addActionListener(new addListener());

removeButton = new JButton(“Remove”);
removeButton.setActionCommand(“Remove”);
removeButton.addActionListener(new removeListener());

caixaNome = new JTextField(15);
caixaNome.addActionListener(new addListener());
caixaNome.setText("");

JPanel buttonPane = new JPanel();
buttonPane.add(caixaNome);
buttonPane.add(addButton);
buttonPane.add(removeButton);

Container contentPane = getContentPane();
contentPane.add(listScrollPane, BorderLayout.CENTER);
contentPane.add(buttonPane, BorderLayout.SOUTH);
}

class removeListener implements ActionListener {
public void actionPerformed(ActionEvent e) {

//Meu problema esta aqui

}

}
}

class addListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
listModel.addElement(caixaNome.getText());
}
}

public void valueChanged(ListSelectionEvent e) {

}

public static void main(String args[]) {
JFrame janela = new AvaliacaoList();
janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
janela.setSize(400,300);
janela.setVisible(true);
}
}

Estou com um problema tenho que implementar este código fazendo que ao clicar no botão Remove, o valor que estiver selecionado na lista será removido, ao eliminar os valores, caso todos os valores tenham sido eliminados e a lista esteja vazia, o botão Remove deve ser desabilitado, sendo habilitado novamente apenas quando houver algum valor na lista. Da mesma forma, caso o botão Adiciona seja clicado sem que nada tenha sido digitado na caixa de texto, um aviso deve ser emitido, seja uma mensagem de texto ou um som.
Me ajudem por favor.

import java.awt.;
import java.awt.event.
;
import javax.swing.;
import javax.swing.event.
;

public class AvaliacaoList extends JFrame implements ListSelectionListener {

private JList list;
private DefaultListModel listModel;
private JButton addButton, removeButton;
private JTextField caixaNome;

public AvaliacaoList() {
super(“AvaliacaoList”);

listModel = new DefaultListModel();
listModel.addElement(“Claudia”);
listModel.addElement(“Fernanda”);

list = new JList(listModel);
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
list.setSelectedIndex(0);
list.addListSelectionListener(this);
JScrollPane listScrollPane = new JScrollPane(list);

addButton = new JButton(“Adiciona”);
addButton.setActionCommand(“Adiciona”);
addButton.addActionListener(new addListener());

removeButton = new JButton(“Remove”);
removeButton.setActionCommand(“Remove”);
removeButton.addActionListener(new removeListener());

caixaNome = new JTextField(15);
caixaNome.addActionListener(new addListener());
caixaNome.setText("");

JPanel buttonPane = new JPanel();
buttonPane.add(caixaNome);
buttonPane.add(addButton);
buttonPane.add(removeButton);

Container contentPane = getContentPane();
contentPane.add(listScrollPane, BorderLayout.CENTER);
contentPane.add(buttonPane, BorderLayout.SOUTH);
}

class removeListener implements ActionListener {
public void actionPerformed(ActionEvent e) {

//Meu problema esta aqui

}

}
}

class addListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
listModel.addElement(caixaNome.getText());
}
}

public void valueChanged(ListSelectionEvent e) {

}

public static void main(String args[]) {
JFrame janela = new AvaliacaoList();
janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
janela.setSize(400,300);
janela.setVisible(true);
}
}[/quote]

Olá @lima152,
não estou com muito tempo agora… vai lá uma dica rápida:

Utilize .setEnabled(false) ou .setEnabled(true) no em cada um dos botões e em cada um dos actionPerfomed.

Crie um tópico específico para esta questão para outros podem lhe ajudar.
Obs.: Sempre que postar código utilize a tag [code]

[]'s

Com 11 anos eu só queria saber de Wining Eleven e jogar bola na rua :shock:

Falando em criança programando e Scala, e ainda a máxima “Scala is too complex”, vejam este projeto: Kojo e matéria sobre: http://www.scala-lang.org/node/10714]Scala is Child’s Play