Search the Community
Showing results for tags 'javafx'.
-
classe FormaComposta que contém um ArrayList<FormaGeometrica> formaGeometricas; public class FormaComposta{ private ArrayList<FormaGeometrica> formaGeometricas; public FormaComposta() { this.formaGeometricas = new ArrayList<>(); } public FormaComposta(ArrayList<FormaGeometrica> formaGeometrica) { this.formaGeometricas = formaGeometrica; } public ArrayList<FormaGeometrica> getFormaGeometricas() { return this.formaGeometricas; } public void setFormaGeometricas(ArrayList<FormaGeometrica> formaGeometricas) { this.formaGeometricas = formaGeometricas; } @Override public int tamanho() { return this.formaGeometricas.size(); } @Override public void adicionar(FormaGeometrica elemento) { this.formaGeometricas.add(elemento); } @Override public void remover(FormaGeometrica elemento) throws ElementoInexistenteException { if (elemento != null) { this.formaGeometricas.remove(elemento); } else if (elemento == null) { throw new ElementoInexistenteException("Elemento não existe"); } } } Aqui tenho apenas um pequeno exemplo de dois eventos com botoes, apenas o metodo adicionar(FormaGeometrica elemento) é que funciona, o metodo remover(FormaGeometrica elemento) não funciona porque depois da forma ser criada ao tentar remover a forma criada diz que a NÃO EXISTE FORMAS Observacional <String> options = FXCollections.observableArrayList( "Circulo", "Triangulo", "Quadrado", "Pentagono", "Hexagono", "Heptagono", "Octagono", "NPoligono", "Decagono", "Retangulo"); ComboBox<String>comboBox = new ComboBox<>(options); Button btnCriar = new Button("Criar Forma"); btnCriar.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent t) { Object item = comboBox.getSelectionModel().getSelectedItem();//Aqui deu certo if (item.equals("Circulo")) { try { Ponto2D p1 = new Ponto2D(0, 0); formaComposta.adicionar(new Circulo(p1, Color.BLACK, Float.valueOf(raioTextField.getText()))); } catch (ErroNosDadosExceptions ex) { Logger.getLogger(PaintGeometricoFX.class.getName()).log(Level.SEVERE, null, ex); } } else if (item.equals("Triangulo")) { try { Ponto2D p2 = new Ponto2D(0, 0); formaComposta.adicionar(new Triangulo(p2, Color.BLACK, Float.valueOf(lado_alturaTextField.getText()))); } catch (ErroNosDadosExceptions ex) { Logger.getLogger(PaintGeometricoFX.class.getName()).log(Level.SEVERE, null, ex); } }); O erro começa aqui nesta parte //Acho que o erro é aqui nesta parte final ObservableList<FormaGeometrica> listaFormas = FXCollections.observableArrayList(formaComposta.getFormaGeometricas()); final ListView<FormaGeometrica> lista = new ListView<>(); lista.setItems(listaFormas); Button btnApagar = new Button("Apagar"); btnApagar.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent t) { //DUVIDA FormaGeometrica formas = lista.getSelectionModel().getSelectedItem(); if (formas != null) { try { formaComposta.remover(formas); layout.setCenter(new AreaDesenho(formaComposta)); } catch (ElementoInexistenteException ex) { Logger.getLogger(PainelDireito.class.getName()).log(Level.SEVERE, null, ex); } } else { System.out.println("NÃO EXISTE FORMAS"); } } });
-
Boas, tenho estado à procura de uma framework que possa usar a nivel profissional e do que vi alguns sites recomendam JavaFX ou QT, e a pergunta que eu queria fazer é, o que é que vocês estão a utilizar de momento para desenvolver as vossas aplicações?
-
Boa tarde, gostaria que alguem me desse uma opiniao a respeito do codigo mais abaixo em que encontro um erro do tipo NullPointerException e nao percebo o porquê public class JogoTab extends GridPane { private Image[] imagens = new Image[3]; private Label[][]labelTab = new Label[10][5]; private Peca[][] tabuleiro; public JogoTab() { } public JogoTab(Tabuleiro tab) { tabuleiro = tab.getTab(); imagens[0] = new Image(LinhaInicial.class.getResourceAsStream("../Imagens/macaAmarela.JPG"), 50, 50, false, false); imagens[1] = new Image(LinhaInicial.class.getResourceAsStream("../Imagens/macaAzul.JPG"), 50, 50, false, false); imagens[2] = new Image(LinhaInicial.class.getResourceAsStream("../Imagens/macaVermelha.JPG"), 50, 50, false, false); for (int i = 0; i < 10; i++) { for (int j = 0; j < 5; j++) { System.out.println(tabuleiro[i][j].getCor()); // tenho a certeza que sao recebidos valores porque estes sao mostrados na consola switch (tabuleiro[i][j].getCor()) { case 'a': labelTab[i][j] = new Label("", new ImageView(imagens[0])); break; case 'u': labelTab[i][j] = new Label("", new ImageView(imagens[1])); break; case 'e': labelTab[i][j] = new Label("", new ImageView(imagens[2])); break; } this.add(labelTab[i][j], j + 1, i + 1); // o erro é referente a esta linha, e nao percebo porquê visto que a labelTab ja foi instanciada diretamente nos atibutos } } } }