Implementacion de codigo logico
This commit is contained in:
parent
505f56f074
commit
8c4f568a4d
|
@ -5,6 +5,12 @@ import javafx.scene.Scene;
|
|||
import javafx.scene.control.Label;
|
||||
import javafx.scene.layout.StackPane;
|
||||
import javafx.stage.Stage;
|
||||
import javafx.application.Application;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.layout.StackPane;
|
||||
import javafx.stage.Stage;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
|
@ -14,13 +20,44 @@ public class App extends Application {
|
|||
|
||||
@Override
|
||||
public void start(Stage stage) {
|
||||
var javaVersion = SystemInfo.javaVersion();
|
||||
var javafxVersion = SystemInfo.javafxVersion();
|
||||
// Diapositiva d1
|
||||
Titulo t1 = new Titulo("Titulo 1", "Subtitulo 1");
|
||||
NC_CuadroTexto ct = new NC_CuadroTexto();
|
||||
ct.agregaTexto("Sentencia 1");
|
||||
ct.agregaTexto("Sentencia 2");
|
||||
ct.agregaTexto("Sentencia 3");
|
||||
ct.agregaTexto("Sentencia 4");
|
||||
Contenido c1 = new Contenido();
|
||||
c1.agregaElemento(ct);
|
||||
ModeloDiapositiva md1 = new ModeloDiapositiva(t1, c1);
|
||||
Diapositiva d1 = new Diapositiva(md1);
|
||||
|
||||
var label = new Label("Hello, JavaFX " + javafxVersion + ", running on Java " + javaVersion + ".");
|
||||
var scene = new Scene(new StackPane(label), 640, 480);
|
||||
stage.setScene(scene);
|
||||
stage.show();
|
||||
// Diapositiva d2
|
||||
ConstructorGraficaBarras cgb = new ConstructorGraficaBarras("Ventas anuales de pasteles", "Año", "Ventas");
|
||||
cgb.agregaSerie("2016");
|
||||
cgb.agregaBarraSerie("2016", "Milky", 5200);
|
||||
cgb.agregaBarraSerie("2016", "Zanahoria", 2200);
|
||||
cgb.agregaBarraSerie("2016", "Mostachón", 4800);
|
||||
|
||||
cgb.agregaSerie("2017");
|
||||
cgb.agregaBarraSerie("2017", "Milky", 5400);
|
||||
cgb.agregaBarraSerie("2017", "Zanahoria", 2500);
|
||||
cgb.agregaBarraSerie("2017", "Mostachón", 4700);
|
||||
|
||||
Contenido c2 = new Contenido();
|
||||
c2.agregaElemento(cgb.generaGraficaBarras());
|
||||
|
||||
Titulo t2 = new Titulo("Titulo 2", "Subtitulo 2");
|
||||
|
||||
ModeloDiapositiva md2 = new ModeloDiapositiva(t2, c2);
|
||||
Diapositiva d2 = new Diapositiva(md2);
|
||||
|
||||
|
||||
Presentacion p = new Presentacion(stage);
|
||||
|
||||
p.agregarDiapositiva(d1);
|
||||
p.agregarDiapositiva(d2);
|
||||
p.mostrar();
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
|
|
@ -4,19 +4,52 @@
|
|||
*/
|
||||
package com.mycompany.presentador;
|
||||
|
||||
import javafx.application.Application;
|
||||
import javafx.event.ActionEvent;
|
||||
import javafx.event.EventHandler;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.layout.StackPane;
|
||||
import javafx.stage.Stage;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import javafx.scene.chart.CategoryAxis;
|
||||
import javafx.scene.chart.NumberAxis;
|
||||
import javafx.scene.chart.XYChart;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jossellin
|
||||
*/
|
||||
public class ConstructorGraficaBarras {
|
||||
public class ConstructorGraficaBarras {
|
||||
private NC_GraficaBarras gb;
|
||||
private Map<String, XYChart.Series> series;
|
||||
|
||||
public ConstructorGraficaBarras(String Titulo, String ejeX, String ejeY) {
|
||||
// Da nombre al ejeX
|
||||
CategoryAxis xAxis = new CategoryAxis();
|
||||
xAxis.setLabel(ejeX);
|
||||
// Da nombre al ejeY
|
||||
NumberAxis yAxis = new NumberAxis();
|
||||
yAxis.setLabel(ejeY);
|
||||
gb = new NC_GraficaBarras(xAxis, yAxis);
|
||||
gb.setTitle(Titulo);
|
||||
gb.setMinSize(800, 500);
|
||||
series = new HashMap<>();
|
||||
}
|
||||
|
||||
public void agregaSerie(String nombre) {
|
||||
XYChart.Series serie = new XYChart.Series();
|
||||
serie.setName(nombre);
|
||||
series.put(nombre, serie);
|
||||
}
|
||||
|
||||
public void agregaBarraSerie(String nombreSerie,
|
||||
String nombreBarra,
|
||||
double valor) {
|
||||
XYChart.Series serie = series.get(nombreSerie);
|
||||
serie.getData().add(new XYChart.Data(nombreBarra, valor));
|
||||
}
|
||||
|
||||
public NC_GraficaBarras generaGraficaBarras() {
|
||||
for(XYChart.Series serie : series.values()) {
|
||||
gb.getData().add(serie);
|
||||
}
|
||||
return gb;
|
||||
}
|
||||
|
||||
//sin funcionalidad -
|
||||
}
|
|
@ -3,11 +3,35 @@
|
|||
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
*/
|
||||
package com.mycompany.presentador;
|
||||
import javafx.collections.ObservableList;
|
||||
import javafx.scene.Node;
|
||||
import javafx.scene.layout.AnchorPane;
|
||||
import javafx.scene.layout.HBox;
|
||||
import javafx.scene.paint.Color;
|
||||
import javafx.scene.shape.Circle;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Omar López
|
||||
*/
|
||||
public class Contenido {
|
||||
|
||||
public class Contenido extends AnchorPane {
|
||||
private ObservableList <Node> contenidos;
|
||||
|
||||
public Contenido() {
|
||||
super();
|
||||
this.setMaxSize(800, 500);
|
||||
this.setStyle("-fx-background-color: #FFFFFF;");
|
||||
this.setLayoutX(0);
|
||||
this.setLayoutY(200);
|
||||
contenidos = this.getChildren();
|
||||
}
|
||||
|
||||
public void agregaElemento(NC_Texto t) {
|
||||
this.contenidos.add(t);
|
||||
}
|
||||
public void agregaElemento(NC_CuadroTexto ct) {
|
||||
this.contenidos.add(ct);
|
||||
}
|
||||
|
||||
public void agregaElemento(NC_GraficaBarras gb) {
|
||||
this.contenidos.add(gb);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
package com.mycompany.presentador;
|
||||
|
||||
import javafx.scene.Parent;
|
||||
import javafx.scene.Scene;
|
||||
public class Diapositiva extends Scene{
|
||||
|
||||
public Diapositiva(ModeloDiapositiva md) {
|
||||
super(md,800,600);
|
||||
}
|
||||
|
||||
}
|
|
@ -4,10 +4,26 @@
|
|||
*/
|
||||
package com.mycompany.presentador;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author edgar
|
||||
*/
|
||||
public class ModeloDiapositiva {
|
||||
import javafx.scene.Group;
|
||||
import javafx.scene.layout.GridPane;
|
||||
import javafx.scene.layout.VBox;
|
||||
import javafx.scene.text.Font;
|
||||
import javafx.scene.text.Text;
|
||||
import javafx.scene.text.TextAlignment;
|
||||
import javafx.scene.text.TextFlow;
|
||||
public class ModeloDiapositiva extends VBox{
|
||||
private Titulo areaTitulo;
|
||||
private Contenido areaContenido;
|
||||
|
||||
public ModeloDiapositiva(Titulo t, Contenido c) {
|
||||
areaTitulo = t;
|
||||
areaContenido = c;
|
||||
this.getChildren().add(areaTitulo);
|
||||
this.getChildren().add(areaContenido);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -8,6 +8,22 @@ package com.mycompany.presentador;
|
|||
*
|
||||
* @author Roberto
|
||||
*/
|
||||
public class NC_CuadroTexto {
|
||||
|
||||
import javafx.scene.paint.Color;
|
||||
import javafx.scene.text.TextFlow;
|
||||
public class NC_CuadroTexto extends TextFlow {
|
||||
|
||||
public NC_CuadroTexto() {
|
||||
super();
|
||||
this.setMinSize(800, 600);
|
||||
this.setLineSpacing(30.0);
|
||||
}
|
||||
|
||||
public void agregaTexto(String punto) {
|
||||
NC_Texto t = new NC_Texto();
|
||||
t.setTexto("\n\t* " + punto, 30, Color.BLACK);
|
||||
this.getChildren().add(t);
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -1,22 +1,21 @@
|
|||
/*
|
||||
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
* Click nbfs://nbhost/SystemFileSystem/Templates/javafx/FXMain.java to edit this template
|
||||
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
*/
|
||||
package com.mycompany.presentador;
|
||||
|
||||
import javafx.application.Application;
|
||||
import javafx.event.ActionEvent;
|
||||
import javafx.event.EventHandler;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.layout.StackPane;
|
||||
import javafx.stage.Stage;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jossellin
|
||||
*/
|
||||
public class NC_GraficaBarras {
|
||||
|
||||
//sin funcionalidad -
|
||||
import javafx.scene.chart.Axis;
|
||||
import javafx.scene.chart.BarChart;
|
||||
|
||||
public class NC_GraficaBarras extends BarChart {
|
||||
|
||||
public NC_GraficaBarras(Axis xAxis, Axis yAxis) {
|
||||
super(xAxis, yAxis);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -8,6 +8,28 @@ package com.mycompany.presentador;
|
|||
*
|
||||
* @author Roberto
|
||||
*/
|
||||
public class NC_Texto {
|
||||
|
||||
import javafx.scene.paint.Color;
|
||||
import javafx.scene.text.Font;
|
||||
import javafx.scene.text.FontWeight;
|
||||
import javafx.scene.text.Text;
|
||||
|
||||
|
||||
public class NC_Texto extends Text {
|
||||
|
||||
public NC_Texto() {
|
||||
super();
|
||||
}
|
||||
|
||||
public void setTexto(String t, int tam, Color c) {
|
||||
this.setFont(Font.font("Arial", FontWeight.NORMAL, tam));
|
||||
this.setFill(c);
|
||||
this.setText(t);
|
||||
}
|
||||
|
||||
public void setPosicion(int x, int y) {
|
||||
this.setLayoutX(x);
|
||||
this.setLayoutY(y);
|
||||
}
|
||||
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
/*
|
||||
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
*/
|
||||
package com.mycompany.presentador;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jossellin
|
||||
*/
|
||||
public class Nc_GraficaBarras {
|
||||
|
||||
}
|
|
@ -0,0 +1,81 @@
|
|||
package com.mycompany.presentador;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javafx.scene.Node;
|
||||
import javafx.scene.Parent;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.layout.HBox;
|
||||
import javafx.scene.layout.VBox;
|
||||
import javafx.stage.Stage;
|
||||
|
||||
public class Presentacion {
|
||||
private Stage controlDiapositivas;
|
||||
private Stage ventanaDiapositivas;
|
||||
private List<Diapositiva> diapositivas;
|
||||
private int diapositivaActual;
|
||||
|
||||
public Presentacion(Stage primaryStage) {
|
||||
controlDiapositivas = primaryStage;
|
||||
ventanaDiapositivas = new Stage();
|
||||
diapositivas = new ArrayList<>();
|
||||
diapositivaActual = 0;
|
||||
Button btnAtras = new Button("<Atrás>");
|
||||
btnAtras.setOnAction(
|
||||
event -> {
|
||||
if(diapositivaActual > 0) {
|
||||
diapositivaActual --;
|
||||
ventanaDiapositivas.setScene(diapositivas.get(diapositivaActual));
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
Button btnAdelante = new Button("<Adelante>");
|
||||
btnAdelante.setOnAction(
|
||||
event -> {
|
||||
int limiteSuperior = diapositivas.size() - 1;
|
||||
if(diapositivaActual < limiteSuperior) {
|
||||
diapositivaActual++;
|
||||
ventanaDiapositivas.setScene(diapositivas.get(diapositivaActual));
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
Button btnDetener = new Button("<Detener>");
|
||||
btnDetener.setOnAction(
|
||||
event -> {
|
||||
System.exit(0);
|
||||
}
|
||||
);
|
||||
|
||||
primaryStage.setOnCloseRequest(
|
||||
event -> System.exit(0)
|
||||
);
|
||||
|
||||
HBox hboxPane = new HBox(btnAtras, btnDetener, btnAdelante);
|
||||
hboxPane.setSpacing(20);
|
||||
Scene control = new Scene(hboxPane);
|
||||
controlDiapositivas.setTitle("Presentador FX");
|
||||
controlDiapositivas.setResizable(false);
|
||||
controlDiapositivas.setScene(control);
|
||||
}
|
||||
|
||||
public void mostrar() {
|
||||
controlDiapositivas.setAlwaysOnTop(true);
|
||||
controlDiapositivas.show();
|
||||
if(this.diapositivas.size()>0) {
|
||||
ventanaDiapositivas.setScene(diapositivas.get(0));
|
||||
ventanaDiapositivas.show();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void agregarDiapositiva(Diapositiva diapositiva) {
|
||||
diapositivas.add(diapositiva);
|
||||
}
|
||||
|
||||
}
|
|
@ -8,7 +8,40 @@ package com.mycompany.presentador;
|
|||
*
|
||||
* @author Omar López
|
||||
*/
|
||||
public class Titulo {
|
||||
//Comentario
|
||||
|
||||
import javafx.scene.Group;
|
||||
import javafx.scene.paint.Color;
|
||||
import javafx.scene.text.Font;
|
||||
import javafx.scene.text.FontWeight;
|
||||
import javafx.scene.text.Text;
|
||||
import javafx.scene.text.TextAlignment;
|
||||
import javafx.scene.text.TextFlow;
|
||||
|
||||
public class Titulo extends TextFlow {
|
||||
private NC_Texto tTitulo;
|
||||
private NC_Texto tSubtitulo;
|
||||
|
||||
public Titulo() {
|
||||
super();
|
||||
this.setMinSize(800, 100);
|
||||
tTitulo= new NC_Texto();
|
||||
tSubtitulo = new NC_Texto();
|
||||
this.getChildren().add(tTitulo);
|
||||
this.getChildren().add(tSubtitulo);
|
||||
this.setTextAlignment(TextAlignment.CENTER);
|
||||
this.setStyle("-fx-background-color: #800000;");
|
||||
}
|
||||
|
||||
public Titulo(String titulo, String subtitulo) {
|
||||
this();
|
||||
this.setTitulos(titulo, subtitulo);
|
||||
}
|
||||
|
||||
public void setTitulos(String titulo, String subtitulo) {
|
||||
tTitulo.setTexto(titulo, 32, Color.WHITE);
|
||||
tSubtitulo.setTexto("\n"+subtitulo, 28, Color.WHITE);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue