Versión final.
This commit is contained in:
parent
480da985c0
commit
3a1ec7ee74
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.mycompany</groupId>
|
||||
<artifactId>mavenproject1</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<maven.compiler.source>20</maven.compiler.source>
|
||||
<maven.compiler.target>20</maven.compiler.target>
|
||||
<exec.mainClass>com.mycompany.mavenproject1.Mavenproject1</exec.mainClass>
|
||||
</properties>
|
||||
</project>
|
|
@ -0,0 +1,121 @@
|
|||
/*
|
||||
* 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.editorascii.Controlador;
|
||||
|
||||
import com.mycompany.editorascii.Vista.Editor;
|
||||
import com.mycompany.editorascii.Vista.Menú;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.io.File;
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
import javax.swing.JFileChooser;
|
||||
import javax.swing.filechooser.FileNameExtensionFilter;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author drdav
|
||||
*/
|
||||
public class GestiónBotónAbrirArchivo implements ActionListener{
|
||||
|
||||
private Menú menu;
|
||||
|
||||
public GestiónBotónAbrirArchivo(Menú menu){
|
||||
menu = menu;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
JFileChooser fc = new JFileChooser();
|
||||
|
||||
FileNameExtensionFilter filter = new FileNameExtensionFilter("TXT", "txt");
|
||||
fc.setFileFilter(filter);
|
||||
|
||||
int seleccion = fc.showOpenDialog(menu);
|
||||
|
||||
if(seleccion == JFileChooser.APPROVE_OPTION){
|
||||
File fichero = fc.getSelectedFile();
|
||||
try (FileReader fr = new FileReader(fichero)){
|
||||
String texto = "";
|
||||
int valor = fr.read();
|
||||
while(valor != -1){
|
||||
texto = texto + (char) valor;
|
||||
valor = fr.read();
|
||||
}
|
||||
|
||||
System.out.print(texto);
|
||||
fr.close();
|
||||
//abrirEditor(texto);
|
||||
char[][]matriz = textoAMatriz(texto);
|
||||
int largo = matriz.length;
|
||||
int ancho = (largo == 0) ? 0 : matriz[0].length;
|
||||
Editor editor = new Editor(ancho,largo,matriz);
|
||||
menu.dispose();
|
||||
}catch(IOException ex){
|
||||
System.err.println(ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void abrirEditor(String texto){
|
||||
System.out.print(texto);
|
||||
int x = 0;
|
||||
int y = 0;
|
||||
int i = 0;
|
||||
int maxX = 0;
|
||||
char car = texto.charAt(i);
|
||||
while(i != texto.length()-1 ){
|
||||
x++;
|
||||
if(car == '\n'){
|
||||
y++;
|
||||
if(x > maxX){
|
||||
maxX = x;
|
||||
}
|
||||
x = 0;
|
||||
}
|
||||
i++;
|
||||
car = texto.charAt(i);
|
||||
}
|
||||
i = 0;
|
||||
char[][] matriz = new char[x][y];
|
||||
for(int j = 0; j < x; j++){
|
||||
for(int w = 0; w < y; w++){
|
||||
matriz[j][w]= texto.charAt(i);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
Editor editor = new Editor(x,y,matriz);
|
||||
}
|
||||
|
||||
public static char[][] textoAMatriz(String texto) {
|
||||
// Dividir el texto en líneas
|
||||
String[] lineas = texto.split("\n");
|
||||
|
||||
// Encontrar la longitud máxima de línea
|
||||
int longitudMaxima = 0;
|
||||
for (String linea : lineas) {
|
||||
longitudMaxima = Math.max(longitudMaxima, linea.length());
|
||||
}
|
||||
|
||||
// Crear la matriz de caracteres
|
||||
char[][] matriz = new char[lineas.length][longitudMaxima];
|
||||
|
||||
// Llenar la matriz con los caracteres del texto
|
||||
for (int i = 0; i < lineas.length; i++) {
|
||||
Arrays.fill(matriz[i], ' '); // Llenar con espacios en blanco por defecto
|
||||
char[] caracteresLinea = lineas[i].toCharArray();
|
||||
System.arraycopy(caracteresLinea, 0, matriz[i], 0, caracteresLinea.length);
|
||||
}
|
||||
|
||||
for (char[] fila : matriz) {
|
||||
System.out.println(Arrays.toString(fila));
|
||||
}
|
||||
|
||||
return matriz;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
/*
|
||||
* 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.editorascii.Controlador;
|
||||
|
||||
import com.mycompany.editorascii.Vista.Editor;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.File;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import javax.swing.JFileChooser;
|
||||
import javax.swing.filechooser.FileNameExtensionFilter;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author drdav
|
||||
*/
|
||||
public class GestiónBotónGuardarDibujo implements ActionListener{
|
||||
|
||||
private Editor editor;
|
||||
|
||||
public GestiónBotónGuardarDibujo(Editor parEditor){
|
||||
editor = parEditor;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
JFileChooser fc = new JFileChooser();
|
||||
|
||||
FileNameExtensionFilter filter = new FileNameExtensionFilter("TXT", "txt");
|
||||
fc.setFileFilter(filter);
|
||||
fc.setApproveButtonText("Guardar");
|
||||
fc.showSaveDialog(null);
|
||||
|
||||
File archivo = new File(fc.getSelectedFile()+".txt");
|
||||
|
||||
try{
|
||||
BufferedWriter salida = new BufferedWriter(new FileWriter(archivo));
|
||||
salida.write(editor.obtenerTextoMatriz());
|
||||
salida.close();
|
||||
}catch(IOException ex){
|
||||
System.err.println(ex);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
/*
|
||||
* 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.editorascii.Controlador;
|
||||
|
||||
import com.mycompany.editorascii.Vista.Editor;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.awt.event.KeyListener;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author drdav
|
||||
*/
|
||||
public class GestiónTecladoEscribirCaracter implements KeyListener{
|
||||
|
||||
private Editor editor;
|
||||
int x;
|
||||
int y;
|
||||
|
||||
public GestiónTecladoEscribirCaracter(Editor parEditor, int parX, int parY){
|
||||
editor = parEditor;
|
||||
x = parX;
|
||||
y = parY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void keyTyped(KeyEvent e) {
|
||||
|
||||
System.out.println(x + " " + y+ editor.obtenerTextoCelda(x, y));
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void keyPressed(KeyEvent e) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void keyReleased(KeyEvent e) {
|
||||
recortarTexto();
|
||||
}
|
||||
|
||||
public void recortarTexto(){
|
||||
String textoCelda = editor.obtenerTextoCelda(x, y);
|
||||
if(textoCelda.length() > 1){
|
||||
editor.insertarTextoCelda(x, y, String.valueOf(textoCelda.charAt(textoCelda.length()-1)) );
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,66 @@
|
|||
/*
|
||||
* 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.editorascii.Modelo;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author drdav
|
||||
*/
|
||||
public class Dibujo {
|
||||
private int alto;
|
||||
private int ancho;
|
||||
private char[][]lienzo = new char[ancho][alto];
|
||||
|
||||
public Dibujo(int alto, int ancho){
|
||||
this.alto = alto;
|
||||
this.ancho = ancho;
|
||||
}
|
||||
|
||||
public void insertarCaracter(int x, int y, char letra){
|
||||
lienzo[x][y] = letra;
|
||||
}
|
||||
|
||||
public void llenarLienzo(char dibujo[][]){
|
||||
lienzo = dibujo;
|
||||
}
|
||||
|
||||
public void limpiarLienzo(){
|
||||
for(int i = 0; i < ancho; i++){
|
||||
for(int j = 0; j < alto; j++){
|
||||
lienzo[i][j] = ' ';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public char obtenerCaracterEn(int x, int y){
|
||||
return lienzo[x][y];
|
||||
}
|
||||
|
||||
public int getAlto() {
|
||||
return alto;
|
||||
}
|
||||
|
||||
public void setAlto(int alto) {
|
||||
this.alto = alto;
|
||||
}
|
||||
|
||||
public int getAncho() {
|
||||
return ancho;
|
||||
}
|
||||
|
||||
public void setAncho(int ancho) {
|
||||
this.ancho = ancho;
|
||||
}
|
||||
|
||||
public char[][] getLienzo() {
|
||||
return lienzo;
|
||||
}
|
||||
|
||||
public void setLienzo(char[][] lienzo) {
|
||||
this.lienzo = lienzo;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,221 @@
|
|||
/*
|
||||
* 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.editorascii.Vista;
|
||||
|
||||
import com.mycompany.editorascii.Controlador.GestiónBotónGuardarDibujo;
|
||||
import com.mycompany.editorascii.Controlador.GestiónTecladoEscribirCaracter;
|
||||
import com.mycompany.editorascii.Modelo.Dibujo;
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.CardLayout;
|
||||
import java.awt.GridBagConstraints;
|
||||
import java.awt.GridBagLayout;
|
||||
import java.awt.GridLayout;
|
||||
import java.awt.HeadlessException;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JTextArea;
|
||||
import javax.swing.JTextField;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author drdav
|
||||
*/
|
||||
public class Editor extends JFrame{
|
||||
|
||||
JPanel pEditor = new JPanel(new CardLayout());
|
||||
JTextArea taEditor = new JTextArea();
|
||||
|
||||
JPanel pBotonesDer = new JPanel(new GridBagLayout());
|
||||
JButton bGuardar = new JButton("Guardar");
|
||||
JButton bBorrar = new JButton("Borrar");
|
||||
|
||||
JPanel pBotonesSup = new JPanel(new GridBagLayout());
|
||||
JButton bRegresar = new JButton("Regresar");
|
||||
|
||||
JPanel pMatriz = new JPanel(new GridBagLayout());
|
||||
|
||||
Dibujo dibujo;
|
||||
|
||||
int x;
|
||||
int y;
|
||||
|
||||
JTextField [][]celdas;
|
||||
|
||||
public Editor(int parX, int parY) throws HeadlessException {
|
||||
super("Editar");
|
||||
x = parX;
|
||||
y = parY;
|
||||
celdas = new JTextField[x][y];
|
||||
dibujo = new Dibujo(x,y);
|
||||
|
||||
this.setLayout(new BorderLayout());
|
||||
this.agregarComponentes();
|
||||
this.agregarListeners();
|
||||
|
||||
//this.llenarTextarea(x, y);
|
||||
this.crearCeldas(x, y);
|
||||
this.limpiarCeldas();
|
||||
|
||||
iniciar();
|
||||
}
|
||||
|
||||
public Editor(int parX, int parY, char parDibujo[][]){
|
||||
super("Editar");
|
||||
|
||||
x = parX;
|
||||
y = parY;
|
||||
celdas = new JTextField[x][y];
|
||||
dibujo = new Dibujo(x,y);
|
||||
dibujo.llenarLienzo(parDibujo);
|
||||
|
||||
this.setLayout(new BorderLayout());
|
||||
this.agregarComponentes();
|
||||
this.agregarListeners();
|
||||
|
||||
//this.llenarTextarea(x, y);
|
||||
this.crearCeldas(x, y);
|
||||
llenarCeldas();
|
||||
|
||||
iniciar();
|
||||
}
|
||||
|
||||
public void llenarCeldas(){
|
||||
for (int i = 0; i < x; i++){
|
||||
for(int j = 0; j < y; j++){
|
||||
celdas[i][j].setText( String.valueOf(dibujo.obtenerCaracterEn(i, j)) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void limpiarCeldas(){
|
||||
for (int i = 0; i < x; i++){
|
||||
for(int j = 0; j < y; j++){
|
||||
celdas[i][j].setText( "");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public String obtenerTextoMatriz(){
|
||||
String texto = "";
|
||||
|
||||
for (int i = 0; i < x; i++){
|
||||
for(int j = 0; j < y; j++){
|
||||
if("".equals(celdas[i][j].getText())){
|
||||
texto = texto + " ";
|
||||
}else{
|
||||
texto = texto + celdas[i][j].getText();
|
||||
}
|
||||
|
||||
}
|
||||
texto = texto + '\n';
|
||||
}
|
||||
|
||||
return texto;
|
||||
}
|
||||
|
||||
public void agregarComponentes(){
|
||||
pEditor.add(this.taEditor);
|
||||
|
||||
GridBagConstraints con = new GridBagConstraints();
|
||||
con.gridx = 0;
|
||||
con.gridy = 0;
|
||||
con.gridheight = 1;
|
||||
con.gridwidth = 1;
|
||||
pBotonesDer.add(this.bGuardar,con);
|
||||
|
||||
con.gridx = 0;
|
||||
con.gridy = 1;
|
||||
con.gridheight = 1;
|
||||
con.gridwidth = 1;
|
||||
pBotonesDer.add(this.bBorrar,con);
|
||||
|
||||
con.gridx = 0;
|
||||
con.gridy = 1;
|
||||
con.gridheight = 1;
|
||||
con.gridwidth = 1;
|
||||
pBotonesSup.add(this.bRegresar,con);
|
||||
|
||||
this.add(this.pEditor,BorderLayout.CENTER);
|
||||
this.add(this.pBotonesDer,BorderLayout.EAST);
|
||||
this.add(this.pBotonesSup,BorderLayout.NORTH);
|
||||
}
|
||||
|
||||
public void agregarListeners(){
|
||||
bRegresar.addActionListener(new ActionListener(){
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
Menú menu = new Menú();
|
||||
dispose();
|
||||
}
|
||||
});
|
||||
|
||||
this.bGuardar.addActionListener(new GestiónBotónGuardarDibujo(this));
|
||||
|
||||
this.bBorrar.addActionListener(new ActionListener(){
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
limpiarCeldas();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void crearCeldas(int parX, int parY){
|
||||
|
||||
|
||||
GridBagConstraints con = new GridBagConstraints();
|
||||
|
||||
JTextField tfAux;
|
||||
for(int i = 0; i < parX; i++){
|
||||
for(int j = 0; j < parY; j ++){
|
||||
tfAux = new JTextField("");
|
||||
tfAux.setColumns(1);
|
||||
tfAux.addKeyListener(new GestiónTecladoEscribirCaracter(this,i,j));
|
||||
con.gridx = j;
|
||||
con.gridy = i;
|
||||
con.gridheight = 1;
|
||||
con.gridwidth = 1;
|
||||
System.out.println(i+" "+j+ " "+celdas.length);
|
||||
celdas[i][j] = tfAux;
|
||||
pMatriz.add(celdas[i][j],con);
|
||||
}
|
||||
}
|
||||
|
||||
this.add(this.pMatriz,BorderLayout.CENTER);
|
||||
}
|
||||
|
||||
public String obtenerTextoCelda(int posX, int posY){
|
||||
return celdas[posX][posY].getText();
|
||||
}
|
||||
|
||||
public void insertarTextoCelda(int posX, int posY, String texto){
|
||||
celdas[posX][posY].setText(texto);
|
||||
}
|
||||
|
||||
public void llenarTextarea(int parX, int parY){
|
||||
|
||||
this.add(this.pEditor,BorderLayout.CENTER);
|
||||
|
||||
taEditor.setBounds(0, 0, parX, parY);
|
||||
|
||||
for(int i = 0; i < parY; i++){
|
||||
for(int j = 0; j < parX; j ++){
|
||||
this.taEditor.append("X");
|
||||
}
|
||||
this.taEditor.append("\n");
|
||||
}
|
||||
}
|
||||
|
||||
public void iniciar(){
|
||||
this.setBounds(100,100,700,700);
|
||||
//this.setResizable(false);
|
||||
this.setVisible(true);
|
||||
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,69 @@
|
|||
/*
|
||||
* 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.editorascii.Vista;
|
||||
|
||||
import com.mycompany.editorascii.Controlador.GestiónBotónAbrirArchivo;
|
||||
import java.awt.GridBagConstraints;
|
||||
import java.awt.GridBagLayout;
|
||||
import java.awt.GridLayout;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import javax.swing.BoxLayout;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFrame;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author drdav
|
||||
*/
|
||||
public class Menú extends JFrame{
|
||||
|
||||
JButton bNuevoDibujo = new JButton("Nuevo Dibujo");
|
||||
JButton bAbrirDibujo = new JButton("Abrir Dibujo");
|
||||
|
||||
public Menú() {
|
||||
super("Menú");
|
||||
this.setLayout(new GridBagLayout());
|
||||
agregarComponentes();
|
||||
this.iniciar();
|
||||
}
|
||||
|
||||
public void agregarComponentes(){
|
||||
GridBagConstraints con = new GridBagConstraints();
|
||||
con.gridx = 0;
|
||||
con.gridy = 0;
|
||||
con.gridheight = 1;
|
||||
con.gridwidth = 1;
|
||||
this.add(this.bNuevoDibujo,con);
|
||||
|
||||
con.gridx = 0;
|
||||
con.gridy = 2;
|
||||
con.gridheight = 1;
|
||||
con.gridwidth = 1;
|
||||
this.add(this.bAbrirDibujo,con);
|
||||
|
||||
this.agregarListeners();
|
||||
}
|
||||
|
||||
public void agregarListeners(){
|
||||
JFrame aux = this;
|
||||
bNuevoDibujo.addActionListener(new ActionListener(){
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
VentanaTamaño ventanaTamaño = new VentanaTamaño(aux);
|
||||
}
|
||||
});
|
||||
|
||||
this.bAbrirDibujo.addActionListener(new GestiónBotónAbrirArchivo(this));
|
||||
}
|
||||
|
||||
public void iniciar(){
|
||||
this.setBounds(100,100,300,300);
|
||||
this.setResizable(false);
|
||||
this.setVisible(true);
|
||||
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,162 @@
|
|||
/*
|
||||
* 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.editorascii.Vista;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.GridBagConstraints;
|
||||
import java.awt.GridBagLayout;
|
||||
import java.awt.GridLayout;
|
||||
import java.awt.HeadlessException;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JSpinner;
|
||||
import javax.swing.event.ChangeEvent;
|
||||
import javax.swing.event.ChangeListener;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author drdav
|
||||
*/
|
||||
public class VentanaTamaño extends JFrame{
|
||||
|
||||
JPanel pAlto = new JPanel(new GridBagLayout());
|
||||
JLabel lAlto = new JLabel("Alto:");
|
||||
JSpinner spAlto = new JSpinner();
|
||||
|
||||
JPanel pAncho = new JPanel(new GridBagLayout());
|
||||
JLabel lAncho = new JLabel("Ancho:");
|
||||
JSpinner spAncho = new JSpinner();
|
||||
|
||||
JPanel pBotones = new JPanel(new GridBagLayout());
|
||||
JButton bAceptar = new JButton("Aceptar");
|
||||
JButton bCancelar = new JButton("Cancelar");
|
||||
|
||||
JFrame ventanaJefe;
|
||||
|
||||
public VentanaTamaño(JFrame parVentana) throws HeadlessException {
|
||||
super("Seleccionar Tamaño");
|
||||
|
||||
ventanaJefe = parVentana;
|
||||
|
||||
this.agregarComponentes();
|
||||
this.agregarListeners();
|
||||
|
||||
iniciar();
|
||||
}
|
||||
|
||||
public void agregarComponentes(){
|
||||
GridBagConstraints con = new GridBagConstraints();
|
||||
this.setLayout(new GridBagLayout());
|
||||
|
||||
con.gridx = 0;
|
||||
con.gridy = 0;
|
||||
con.gridheight = 1;
|
||||
con.gridwidth = 1;
|
||||
this.add(pAlto,con);
|
||||
|
||||
con.gridx = 0;
|
||||
con.gridy = 0;
|
||||
con.gridheight = 1;
|
||||
con.gridwidth = 1;
|
||||
pAlto.add(this.lAlto,con);
|
||||
con.gridx = 0;
|
||||
con.gridy = 1;
|
||||
con.gridheight = 1;
|
||||
con.gridwidth = 4;
|
||||
pAlto.add(this.spAlto,con);
|
||||
spAlto.setValue(4);
|
||||
|
||||
con.gridx = 0;
|
||||
con.gridy = 1;
|
||||
con.gridheight = 1;
|
||||
con.gridwidth = 1;
|
||||
this.add(pAncho,con);
|
||||
|
||||
con.gridx = 0;
|
||||
con.gridy = 0;
|
||||
con.gridheight = 1;
|
||||
con.gridwidth = 1;
|
||||
pAncho.add(lAncho,con);
|
||||
con.gridx = 0;
|
||||
con.gridy = 1;
|
||||
con.gridheight = 1;
|
||||
con.gridwidth = 4;
|
||||
pAncho.add(this.spAncho,con);
|
||||
spAncho.setValue(4);
|
||||
|
||||
con.gridx = 0;
|
||||
con.gridy = 0;
|
||||
con.gridheight = 1;
|
||||
con.gridwidth = 1;
|
||||
pBotones.add(this.bAceptar,con);
|
||||
|
||||
con.gridx = 1;
|
||||
con.gridy = 0;
|
||||
con.gridheight = 1;
|
||||
con.gridwidth = 1;
|
||||
pBotones.add(this.bCancelar, con);
|
||||
con.gridx = 0;
|
||||
con.gridy = 2;
|
||||
con.gridheight = 1;
|
||||
con.gridwidth = 1;
|
||||
this.add(this.pBotones,con);
|
||||
}
|
||||
|
||||
public void agregarListeners(){
|
||||
bAceptar.addActionListener(new ActionListener(){
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
int x = Integer.valueOf(spAncho.getValue().toString());
|
||||
int y = Integer.valueOf(spAlto.getValue().toString());
|
||||
|
||||
Editor editor = new Editor(x,y);
|
||||
ventanaJefe.dispose();
|
||||
dispose();
|
||||
}
|
||||
});
|
||||
|
||||
bCancelar.addActionListener(new ActionListener(){
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
dispose();
|
||||
}
|
||||
});
|
||||
|
||||
spAlto.addChangeListener(new ChangeListener(){
|
||||
@Override
|
||||
public void stateChanged(ChangeEvent e) {
|
||||
if((Integer)spAlto.getValue() < 3){
|
||||
spAlto.setValue(3);
|
||||
}
|
||||
if((Integer)spAlto.getValue() > 30){
|
||||
spAlto.setValue(30);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
spAncho.addChangeListener(new ChangeListener(){
|
||||
@Override
|
||||
public void stateChanged(ChangeEvent e) {
|
||||
if((Integer)spAncho.getValue() < 3){
|
||||
spAncho.setValue(3);
|
||||
}
|
||||
if((Integer)spAncho.getValue() > 30){
|
||||
spAncho.setValue(30);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void iniciar(){
|
||||
this.setBounds(100,100,400,400);
|
||||
this.setResizable(false);
|
||||
this.setVisible(true);
|
||||
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue