예제 #1
0
  // atualiza os dados gerias do automato
  protected void refresh() {
    // modelo de combobox para os estados existentes
    DefaultComboBoxModel<Estado> modelcb = new DefaultComboBoxModel<>();
    // modelo para a tabela de estados
    Object[][] o = new Object[a.getEstados().size()][2];
    int i = 0; // variavel para indicar a posi__o da linha na matriz
    for (Estado e : a.getEstados()) {
      modelcb.addElement(e);
      // se for incinicial aparece ->, se for final aparece (F), se for ambos, (F)->
      o[i][0] = (e.isFinal() ? "(f)" : "") + "" + (e.equals(a.getInicial()) ? "->" : "");
      o[i][1] = e.getNome();
      i++;
    }
    cbEstadosDestinos.setModel(modelcb);
    tblEstados.setModel(new DefaultTableModel(o, new String[] {"", ""}));

    // modelo para combox de simbolos do alfabeto
    DefaultComboBoxModel modelsim = new DefaultComboBoxModel();
    modelsim.addElement('E');
    for (char c : a.getAlfabeto()) {
      modelsim.addElement(c);
    }
    cbAlfabeto.setModel(modelsim);

    // atualiza o modelo texto do automato
    textArea.setText(a.toString());
    // atualiza o modelo gr_fico do automato
    painelView.repaint();
  }
예제 #2
0
 public void selecionaEstadoAtual(Estado e) {
   if (e == null) {
     return; // n_o executa se o novo estado for nulo
   }
   atual = e; // atualiza o estado atual
   lblNewLabel.setText("Detalhes de : " + atual.getNome()); // atualiza o seu nome
   cbisFinal.setSelected(atual.isFinal()); // atualiza se _ inicial
   refreshTrans();
 }