Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * GRAFICACION 2019-A
- * EQUIPO: SALVANDO EL SEMESTRE
- * *ELIAS AYALA LARRAURI
- * *M.GABRIELA CARMONA CAMPOS
- */
- package graficacion3d;
- import java.awt.BorderLayout;
- import java.awt.Color;
- import java.awt.Dimension;
- import java.awt.Font;
- import java.awt.GridLayout;
- import java.awt.Panel;
- import java.awt.Rectangle;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.BorderFactory;
- import javax.swing.ButtonGroup;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.JRadioButton;
- import javax.swing.JScrollPane;
- import javax.swing.JSlider;
- import javax.swing.JTextArea;
- import javax.swing.SwingConstants;
- import javax.swing.border.TitledBorder;
- import javax.swing.event.ChangeEvent;
- import javax.swing.event.ChangeListener;
- /**
- *
- * @author abraham diaz
- */
- public class Ventana extends Panel{
- public Graficacion3D walle;
- private JSlider sliderEscala = new JSlider(SwingConstants.HORIZONTAL, 1, 30, 15);
- private JSlider sliderX = new JSlider();
- private JSlider sliderY = new JSlider();
- private JSlider sliderZ = new JSlider();
- private JLabel escala = new JLabel("Escala: ");
- private JLabel rotacionX = new JLabel("Rotación X: ");
- private JLabel rotacionY = new JLabel("Rotación Y: ");
- private JLabel rotacionZ = new JLabel("Rotacion Z: ");
- private JLabel cuerpoP = new JLabel("Cuerpo Principal: ");
- private JLabel labelManoIz = new JLabel("Mano Izquierda: ");
- private JLabel labelManoDr = new JLabel("Mano Derecha: ");
- private JLabel labelPieIz = new JLabel("Pierna Izquierda: ");
- private JLabel labelPieDr = new JLabel("Pierna Derecha: ");
- private JRadioButton radioWalle = new JRadioButton("Venom",true);
- //private JRadioButton radioCabeza = new JRadioButton("Cabeza");
- private JRadioButton radioCuerpo = new JRadioButton("Cuerpo");
- private JRadioButton radioBrazoIzquierdo = new JRadioButton("Brazo Izquierdo");
- private JRadioButton radioCodoIzquierdo = new JRadioButton("Codo Izquierdo");
- private JRadioButton radioManoIzquierda = new JRadioButton("Mano Izquierda");
- private JRadioButton radioBrazoDerecho = new JRadioButton("Brazo Dercho");
- private JRadioButton radioCodoDerecho = new JRadioButton("Codo Derecho");
- private JRadioButton radioManoDerecho = new JRadioButton("Mano Derecha");
- private JRadioButton radioCintura = new JRadioButton("Cintura");
- private JRadioButton radioPiernaIzquierda = new JRadioButton("Pierna Izquierda");
- private JRadioButton radioPieIzquierdo = new JRadioButton("Pie Izquierdo");
- private JRadioButton radioPiernaDerecha = new JRadioButton("Pierna Derecha");
- private JRadioButton radioPieDerecho = new JRadioButton("Pie Derecho");
- public static ButtonGroup radioButtons = new ButtonGroup();
- public JTextArea textArea = new JTextArea(5,25);
- private JPanel panelPrincipal;
- private Color colorFondoHerramientas = new Color(49,181,177);
- private Font myFont = new Font("Helvatica", Font.PLAIN, 14);
- private TitledBorder titledBorder = BorderFactory.createTitledBorder(null, "Herramientas", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, myFont, colorFondoHerramientas);
- public Ventana(Graficacion3D walle){
- this.walle = walle;
- initComponentes();
- try {
- jbInit();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- private void jbInit(){
- this.setLayout(new GridLayout(30,1));
- this.setSize(new Dimension(224, 628));
- escala.setBounds(new Rectangle(10, 515, 115, 25));
- /*RadioButtons */
- radioWalle.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- rdbSelected_actionPerformed(e);
- }
- });
- radioCuerpo.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- rdbSelected_actionPerformed(e);
- }
- });
- //radioCabeza.addActionListener(new ActionListener() {
- // public void actionPerformed(ActionEvent e) {
- // rdbSelected_actionPerformed(e);
- // }
- //});
- radioBrazoIzquierdo.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- rdbSelected_actionPerformed(e);
- }
- });
- radioCodoIzquierdo.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- rdbSelected_actionPerformed(e);
- }
- });
- radioManoIzquierda.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- rdbSelected_actionPerformed(e);
- }
- });
- radioBrazoDerecho.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- rdbSelected_actionPerformed(e);
- }
- });
- radioCodoDerecho.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- rdbSelected_actionPerformed(e);
- }
- });
- radioManoDerecho.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- rdbSelected_actionPerformed(e);
- }
- });
- radioCintura.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- rdbSelected_actionPerformed(e);
- }
- });
- radioPiernaIzquierda.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- rdbSelected_actionPerformed(e);
- }
- });
- radioPieIzquierdo.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- rdbSelected_actionPerformed(e);
- }
- });
- radioPiernaDerecha.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- rdbSelected_actionPerformed(e);
- }
- });
- radioPieDerecho.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- rdbSelected_actionPerformed(e);
- }
- });
- /*Slider*/
- sliderEscala.setBounds(new Rectangle(10, 540, 200, 16));
- sliderEscala.addChangeListener(new ChangeListener() {
- public void stateChanged(ChangeEvent e) {
- sldEscala_ancestorMoved(e);
- }
- });
- sliderX.addChangeListener(new ChangeListener() {
- public void stateChanged(ChangeEvent e) {
- SliderMoveX(e);
- }
- });
- sliderY.addChangeListener(new ChangeListener() {
- public void stateChanged(ChangeEvent e) {
- SliderMoveY(e);
- }
- });
- sliderZ.addChangeListener(new ChangeListener() {
- public void stateChanged(ChangeEvent e) {
- SliderMoveZ(e);
- }
- });
- textArea.setText("Rotation: Drag with left button\n");
- textArea.append("Translation: Drag with right button\n");
- textArea.append("Zoom: Hold Alt key and drag with left button");
- textArea.setEditable(false);
- JScrollPane scroll = new JScrollPane(textArea);
- // scroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
- this.setLayout(new BorderLayout());
- panelPrincipal = new JPanel();
- panelPrincipal.setLayout(new GridLayout(30,1));
- panelPrincipal.setBackground(Color.gray);
- panelPrincipal.setForeground(colorFondoHerramientas);
- panelPrincipal.add(rotacionX);
- panelPrincipal.add(sliderX);
- panelPrincipal.add(rotacionY);
- panelPrincipal.add(sliderY);
- panelPrincipal.add(rotacionZ);
- panelPrincipal.add(sliderZ);
- panelPrincipal.add(escala);
- panelPrincipal.add(sliderEscala);
- panelPrincipal.add(new JLabel("Todo el cuerpo"));
- panelPrincipal.add(radioWalle);
- panelPrincipal.add(cuerpoP);
- panelPrincipal.add(radioCuerpo);
- //panelPrincipal.add(radioCabeza);
- panelPrincipal.add(radioCintura);
- panelPrincipal.add(labelManoIz);
- panelPrincipal.add(radioBrazoIzquierdo);
- panelPrincipal.add(radioCodoIzquierdo);
- panelPrincipal.add(radioManoIzquierda);
- panelPrincipal.add(labelManoDr);
- panelPrincipal.add(radioBrazoDerecho);
- panelPrincipal.add(radioCodoDerecho);
- panelPrincipal.add(radioManoDerecho);
- panelPrincipal.add(labelPieIz);
- panelPrincipal.add(radioPiernaIzquierda);
- panelPrincipal.add(radioPieIzquierdo);
- panelPrincipal.add(labelPieDr);
- panelPrincipal.add(radioPiernaDerecha);
- panelPrincipal.add(radioPieDerecho);
- panelPrincipal.setBorder(titledBorder);
- this.add(panelPrincipal, BorderLayout.WEST);
- }
- private void sldEscala_ancestorMoved(ChangeEvent e) {
- walle.setEscala((double)sliderEscala.getValue() / 100);
- }
- private void SliderMoveX(ChangeEvent e) {
- walle.setValoresSlider(sliderX.getValue(), sliderY.getValue(), sliderZ.getValue());
- }
- private void SliderMoveY(ChangeEvent e) {
- walle.setValoresSlider(sliderX.getValue(), sliderY.getValue(), sliderZ.getValue());
- }
- private void SliderMoveZ(ChangeEvent e) {
- walle.setValoresSlider(sliderX.getValue(), sliderY.getValue(), sliderZ.getValue());
- }
- private void rdbSelected_actionPerformed(ActionEvent e) {
- if (radioWalle.isSelected()) {
- walle.setExtremidad(walle.WALLE);
- this.delimitaSlider(sliderX,50,-50);
- this.delimitaSlider(sliderY,160,-160);
- this.delimitaSlider(sliderZ,27,-27);
- }else if (radioCuerpo.isSelected()) {
- walle.setExtremidad(walle.CUERPO);
- this.delimitaSlider(sliderX,0,0);
- this.delimitaSlider(sliderY,160,-160);
- this.delimitaSlider(sliderZ,17,-17);
- // }else if (radioCabeza.isSelected()) {
- // walle.setExtremidad(walle.CABEZA);
- // this.delimitaSlider(sliderX,40,-40);
- // this.delimitaSlider(sliderY,40,-40);
- this.delimitaSlider(sliderZ,40,-40);
- } else if (radioBrazoIzquierdo.isSelected()) {
- walle.setExtremidad(walle.BRAZO_IZQUIERDO);
- this.delimitaSlider(sliderX,0,-60);
- this.delimitaSlider(sliderY,8,-8);
- this.delimitaSlider(sliderZ,160,-40);
- } else if (radioCintura.isSelected()) {
- walle.setExtremidad(walle.CINTURA);
- this.delimitaSlider(sliderX,20,-20);
- this.delimitaSlider(sliderY,50,-50);
- this.delimitaSlider(sliderZ,15,-15);
- } else if (radioCodoIzquierdo.isSelected()) {
- walle.setExtremidad(walle.CODO_IZQUIERDO);
- this.delimitaSlider(sliderX,0,0);
- this.delimitaSlider(sliderY,20,-60);
- this.delimitaSlider(sliderZ,135,-5);
- } else if (radioManoIzquierda.isSelected()) {
- walle.setExtremidad(walle.MANO_IZQUIERDA);
- this.delimitaSlider(sliderX,40,-40);
- this.delimitaSlider(sliderY,60,-60);
- this.delimitaSlider(sliderZ,135,-5);
- } else if (radioBrazoDerecho.isSelected()) {
- walle.setExtremidad(walle.BRAZO_DERECHO);
- this.delimitaSlider(sliderX,60,0);
- this.delimitaSlider(sliderY,8,-8);
- this.delimitaSlider(sliderZ,160,-40);
- } else if (radioCodoDerecho.isSelected()) {
- walle.setExtremidad(walle.CODO_DERECHO);
- this.delimitaSlider(sliderX,0,0);
- this.delimitaSlider(sliderY,20,-60);
- this.delimitaSlider(sliderZ,135,-5);
- } else if (radioManoDerecho.isSelected()) {
- walle.setExtremidad(walle.MANO_DERECHO);
- this.delimitaSlider(sliderX,40,-40);
- this.delimitaSlider(sliderY,60,-60);
- this.delimitaSlider(sliderZ,135,-5);
- } else if (radioPiernaIzquierda.isSelected()) {
- walle.setExtremidad(walle.PIERNA_IZQUIERDA);
- this.delimitaSlider(sliderX,30,-30);
- this.delimitaSlider(sliderY,40,-40);
- this.delimitaSlider(sliderZ,75,-5);
- } else if (radioPieIzquierdo.isSelected()) {
- walle.setExtremidad(walle.PIE_IZQUIERDO);
- this.delimitaSlider(sliderX,0,-0);
- this.delimitaSlider(sliderY,25,-25);
- this.delimitaSlider(sliderZ,45,-25);
- } else if (radioPiernaDerecha.isSelected()) {
- walle.setExtremidad(walle.PIERNA_DERECHA);
- this.delimitaSlider(sliderX,30,-30);
- this.delimitaSlider(sliderY,40,-40);
- this.delimitaSlider(sliderZ,75,-5);
- } else if (radioPieDerecho.isSelected()) {
- walle.setExtremidad(walle.PIE_DERECHO);
- this.delimitaSlider(sliderX,0,-0);
- this.delimitaSlider(sliderY,25,-25);
- this.delimitaSlider(sliderZ,45,-25);
- }
- }
- private void initComponentes(){
- // this.radioButtons.add(radioCabeza);
- this.radioButtons.add(radioWalle);
- this.radioButtons.add(radioCuerpo);
- this.radioButtons.add(radioBrazoIzquierdo);
- this.radioButtons.add(radioCodoIzquierdo);
- this.radioButtons.add(radioManoIzquierda);
- this.radioButtons.add(radioBrazoDerecho);
- this.radioButtons.add(radioCodoDerecho);
- this.radioButtons.add(radioManoDerecho);
- this.radioButtons.add(radioPiernaIzquierda);
- this.radioButtons.add(radioPieIzquierdo);
- this.radioButtons.add(radioPiernaDerecha);
- this.radioButtons.add(radioPieDerecho);
- this.radioButtons.add(radioCintura);
- }
- public void inicializaSlider()
- {
- this.delimitaSlider(sliderX,60,60);
- this.delimitaSlider(sliderY,160,-160);
- this.delimitaSlider(sliderZ,27,-27);
- }
- public void delimitaSlider(JSlider slider,int gradoMax,int gradoMin){
- slider.setValue(0);
- slider.setMaximum(gradoMax);
- slider.setMinimum(gradoMin);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement