Sunteți pe pagina 1din 33

Universidad Abierta y a Distancia de México

Programación Orientada a Objetos II

Unidad 2

Actividad 4: Menús y ventanas.

Docente: Josafat Poctzin Dircio


Alumno: Yair Gigael Basilio López

Matrícula: ES172006480
Índice
Introducción ………………………………………………………………………………3
Menús en java ……………………………………………………………………………4
Ventanas en java ………………………………………………………………………...9
Código de la aplicación ……………………………………………………………..….11
Captura de pantalla de la aplicación ………………………………………………….31
Conclusión ……………………………………………………………………………….32
Bibliografía ……………………………………………………………………………….33
Introducción

En la presente actividad estaremos abordadora parte del contenido que estamos


viendo en la unidad dos de programación orientada objetos. Para ser más
específicos estaremos analizando las ventanas y menús con los que cuneta java
sus códigos fuentes, así como la aplicación de estos en el desarrollo de programas
por lo cual se nos pidió como parte de esta actividad la creación de una aplicaron
donde incorporemos las ventas y menús de java en un ambiente grafio por lo que
se estará compartiendo el código fuente de dicha aplicación para su análisis y
estudio.
Menús en java

JMenuBar: “es el elemento principal cuando vamos a crear menús, ya que provee
la barra donde se alojarán cada uno de los ítems u opciones deseadas.” (Henao, C.
tutorial y guía prácticas, lecciones aprendidas en el desarrollo de software)

Estructura algorítmica

object

component

container

JComponent

Crear JMenuBarr no

si

JMenuBar

Sintáctica
barraMenu = new JMenuBar();
barraMenu.add(menuArchivo);
setJMenuBar(barraMenu);

JMenu: “si bien el elemento anterior permite crear una Barra donde alojar el resto
de componentes, el JMenu es quien contiene dichos componentes, a este se le
agregan el resto de opciones, podemos asociarlo con un contenedor el cual aloja
otros elementos como botones, etiquetas, campos entre otros...... el JMenu
permite agregar los elementos o items correspondientes, así como otros JMenus.”
(Henao, C. tutorial y guía prácticas, lecciones aprendidas en el desarrollo de software)

Estructura algorítmica
object

component

container

JComponent

Crear
no
JAbstractBotton

si

si

crear
no
JMenuItem

si

Crear JMenu no

si

jMenu

Sintáctica
menuArchivo = new JMenu();
menuArchivo.add(menuItemNuevo);
menuArchivo.addSeparator();

JMenuItem: “representan Items u opciones del menú, cuando creamos un JMenu


decimos que tipo de opciones puede contener y al crear un JMenuItem decimos
cuales son las opciones para ese menú en especifico, por ejemplo el Menú
"Archivo", contendrá los items "Abrir", "Guardar", "Nuevo", "Principal", etc. ”
(Henao, C. tutorial y guía prácticas, lecciones aprendidas en el desarrollo de software)
Estructura algorítmica

object

component

container

JComponent

Crear
no
JAbstractBotton

si

crear
no
JMenuItem

si

jMenuItem

Sintáctica
menuItemNuevo = new JMenuItem();
menuItemNuevo.setText("Nuevo");
menuArchivo.add(menuItemNuevo);

JCheckBoxMenuItem: “este compontes es otro item que almacena el JMenu,


permite vincular casillas de verificación o Checkbox, muy útil cuando vamos a
parametrizar más de una opción o característica de nuestro sistema. ” (Henao, C.
tutorial y guía prácticas, lecciones aprendidas en el desarrollo de software)
Estructura algorítmica

object

component

container

JComponent

Crear
no
JAbstractBotton

si

si

crear
no
JMenuItem

si

Crear
JCheckboxMenu no
Item

si

JCheckboxMenuItem

Sintáctica
jCheckMenu1 = new JCheckBoxMenuItem("Check1");
menuOpciones.add(jCheckMenu1);
ventanas en java

JFrame “es una clase utilizada en Swing (biblioteca gráfica) para generar
ventanas sobre las cuales añadir distintos objetos con los que podrá interactuar o
no el usuario. A diferencia de JPanel, JFrame posee algunas nociones típicas de
una ventana como minimizar, cerrar, maximizar y poder moverla.” (Wikipedia
2018).

Sintáctica

import javax.swing.JFrame;
public class Formulario {
public static void main(String[] ar) {
JFrame f=new JFrame();
f.setBounds(10,10,300,200);
f.setVisible(true);
}
}

JDialog: son ventas secundarias debido a que admiten una ventana padre como
JFrame. Aunque ella misma puede ser también ventana padre

Sintáctica

public class VentanaConfirmacion extends JDialog


{
private Container contenedor;

public VentanaConfirmacion(){
contenedor=getContentPane();
contenedor.setLayout(null);
//Asigna un titulo a la barra de titulo
setTitle("CoDejaVu : Titulo Del JDialog");
//tamaño de la ventana
setSize(300,200);
//pone la ventana en el Centro de la pantalla
setLocationRelativeTo(null);
}
}

JoptionePane: es una ventana sencilla que se utiliza para enviar mensajes al


usuario la cual pone contender uno o dos botones con la opción de cera o aceptar.
Sintáctica

JOptionPane.showMessageDialog(ventanaPadre, "mensaje que se desea dar ",


"título de la ventana", JOptionPane.ERROR_MESSAGE);

JInternalFrame: es un componente que permite que se dibuje dentro de otro


componente con características de una venta.

Sintáctica

JFrame ventana = new JFrame();


JDesktopPane desktop = new JDesktopPane();
ventana.getContentPane.add(desktop);
JInternalFrame internal = new JInternalFrame();
desktop.add(internal);
Código de la aplicación

Clase principal

package poo2;

public class POO2 {

public static void main(String[] args) {


// TODO code application logic here
menu m= new menu();
m.setVisible(true);

JFrame tabla marca


package poo2;

public class Tabla_marca extends javax.swing.JFrame {

public Tabla_marca() {
initComponents();
}
//componente hechos por interface grafica
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jLabel_Tmarca = new javax.swing.JLabel();


jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jLabel_Tmarca.setText("MARCA");

jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
jScrollPane1.setViewportView(jTable1);

javax.swing.GroupLayout layout = new


javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(164, 164, 164)
.addComponent(jLabel_Tmarca)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addContainerGap(15, Short.MAX_VALUE)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 375,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(42, 42, 42)
.addComponent(jLabel_Tmarca)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 275,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);

pack();
}// </editor-fold>
//implementación de método de la tabla

public static void main(String args[]) {


java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Tabla_marca().setVisible(true);
}
});
}

// Variables declaration - do not modify


private javax.swing.JLabel jLabel_Tmarca;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
// End of variables declaration
}

JFrame de tabla Precio

package poo2;

public class Tabla_precio extends javax.swing.JInternalFrame {

public Tabla_precio() {
initComponents();
}
// componente hecho por interface grafica
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jLabel_Tprecio = new javax.swing.JLabel();


jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();

jLabel_Tprecio.setText("Precio");

jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
jScrollPane1.setViewportView(jTable1);
javax.swing.GroupLayout layout = new
javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(layout.createSequentialGroup()
.addGap(162, 162, 162)
.addComponent(jLabel_Tprecio))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 385,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel_Tprecio)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 283,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);

pack();
}// </editor-fold>

// Variables declaration - do not modify


private javax.swing.JLabel jLabel_Tprecio;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
// End of variables declaration
}
Jframe para tabla de artículos

package poo2;
//se importa el paquete
import javax.swing.table.DefaultTableModel;

public class Tabla_ventas extends javax.swing.JFrame {


//creaacion de variables
private DefaultTableModel model;
int con =0;
public Tabla_ventas() {
initComponents();
MostrarInterfaz();
MostarDatosVenta();
}
// metodo para mostar la interface de la tabla y poner nombres a la tabla
public void MostrarInterfaz()
{
String data[][]={};
String col []={"Articulo", "Precio", "Marca"};
model =new DefaultTableModel(data, col);
datosventa.setModel(model);
}
//metodo para mostara los datos la tabla venta
public void MostarDatosVenta()
{
datosventa dv;
for(int i=0; i<ventas.contenedor.size(); i++)
{
dv = (poo2.datosventa) ventas.contenedor.get(i);
model.insertRow(con, new Object[]{});
model.setValueAt(dv.getArticulo(), con, 0);
model.setValueAt(dv.getPrecio(), con, 1);
model.setValueAt(dv.getMarca(), con, 2);
}
}
// componentes hechos por la interface grafiaca
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jLabel1 = new javax.swing.JLabel();


jScrollPane1 = new javax.swing.JScrollPane();
datosventa = new javax.swing.JTable();

setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

jLabel1.setText("TABLA DE VENTAS");

datosventa.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{},
{},
{},
{}
},
new String [] {

}
));
jScrollPane1.setViewportView(datosventa);

javax.swing.GroupLayout layout = new


javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(layout.createSequentialGroup()
.addGap(165, 165, 165)
.addComponent(jLabel1))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 375,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(15, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addGap(18, 18, 18)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 275,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);

pack();
}// </editor-fold>

public static void main(String args[]) {

try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(Tabla_ventas.class.getName()).log(java.util.logg
ing.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(Tabla_ventas.class.getName()).log(java.util.logg
ing.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(Tabla_ventas.class.getName()).log(java.util.logg
ing.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(Tabla_ventas.class.getName()).log(java.util.logg
ing.Level.SEVERE, null, ex);
}
//</editor-fold>

/* Create and display the form */


java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Tabla_ventas().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JTable datosventa;
private javax.swing.JLabel jLabel1;
private javax.swing.JScrollPane jScrollPane1;
// End of variables declaration
}

Clase datos venta


ackage poo2;

public class datosventa {


//declaracion de variables
String Articulo, Precio, Marca;
//creacion de constructor
public datosventa(String Articulo, String Precio, String Marca) {
this.Articulo = Articulo;
this.Precio = Precio;
this.Marca = Marca;
}
//metodo getter y setter

public String getArticulo() {


return Articulo;
}

public void setArticulo(String Articulo) {


this.Articulo = Articulo;
}

public String getPrecio() {


return Precio;
}

public void setPrecio(String Precio) {


this.Precio = Precio;
}

public String getMarca() {


return Marca;
}

public void setMarca(String Marac) {


this.Marca = Marca;
}

}
JFrame de menú
package poo2;

public class menu extends javax.swing.JFrame {

public menu() {
initComponents();
}

//componente hechos por la interface grafica


@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jMenuBar1 = new javax.swing.JMenuBar();


jMenuventa = new javax.swing.JMenu();
jMenuItem_ventas = new javax.swing.JMenuItem();
jMenuinventario = new javax.swing.JMenu();
jMenupersonal = new javax.swing.JMenu();
jMenusalir = new javax.swing.JMenu();
jMenuItemsalir = new javax.swing.JMenuItem();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jMenuventa.setText("VENTAS");

jMenuItem_ventas.setText("ventas");
jMenuItem_ventas.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem_ventasActionPerformed(evt);
}
});
jMenuventa.add(jMenuItem_ventas);

jMenuBar1.add(jMenuventa);

jMenuinventario.setText("INVENTARIO");
jMenuBar1.add(jMenuinventario);
jMenupersonal.setText("PERSONAL");
jMenuBar1.add(jMenupersonal);

jMenusalir.setText("SALIR");
jMenusalir.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenusalirActionPerformed(evt);
}
});

jMenuItemsalir.setText("Salir");
jMenuItemsalir.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItemsalirActionPerformed(evt);
}
});
jMenusalir.add(jMenuItemsalir);

jMenuBar1.add(jMenusalir);

setJMenuBar(jMenuBar1);

javax.swing.GroupLayout layout = new


javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 400, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 279, Short.MAX_VALUE)
);

pack();
}// </editor-fold>

private void jMenuItem_ventasActionPerformed(java.awt.event.ActionEvent evt)


{
// para que se pueda ejecutar la venta del submenu ventas y su tabla
ventas Venta= new ventas();
Venta.setVisible(true);
}

private void jMenusalirActionPerformed(java.awt.event.ActionEvent evt) {

}
private void jMenuItemsalirActionPerformed(java.awt.event.ActionEvent evt) {
// para dar la orde se salir al menu salir
System.exit(0);
}

public static void main(String args[]) {

try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(menu.class.getName()).log(java.util.logging.Lev
el.SEVERE, null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(menu.class.getName()).log(java.util.logging.Lev
el.SEVERE, null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(menu.class.getName()).log(java.util.logging.Lev
el.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(menu.class.getName()).log(java.util.logging.Lev
el.SEVERE, null, ex);
}
//</editor-fold>

/* Create and display the form */


java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new menu().setVisible(true);
}
});
}

// Variables declaration - do not modify


private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JMenuItem jMenuItem_ventas;
private javax.swing.JMenuItem jMenuItemsalir;
private javax.swing.JMenu jMenuinventario;
private javax.swing.JMenu jMenupersonal;
private javax.swing.JMenu jMenusalir;
private javax.swing.JMenu jMenuventa;
// End of variables declaration
}

JFrame de ventas

package poo2;
import java.util.LinkedList;
import javax.swing.JOptionPane;

public class ventas extends javax.swing.JFrame {


public static LinkedList contenedor =new LinkedList();
//variable para asignar el articulo encontrado
public int encontrado;

public ventas() {
initComponents();
}

@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jLabel1 = new javax.swing.JLabel();


jPanel1 = new javax.swing.JPanel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jPanel2 = new javax.swing.JPanel();
txtArticulo = new javax.swing.JTextField();
txtPrecio = new javax.swing.JTextField();
txtMarca = new javax.swing.JTextField();
Btnguardar = new javax.swing.JButton();
Btnvisualizar = new javax.swing.JButton();
Btnsalir = new javax.swing.JButton();
Btnlimpiar = new javax.swing.JButton();
Btnselecionar = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
jLabel1.setText("VENTAS");

jLabel2.setText("Articulo");

jLabel3.setText("Precio");

jLabel4.setText("Marca");

javax.swing.GroupLayout jPanel1Layout = new


javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addContainerGap(40, Short.MAX_VALUE)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignmen
t.TRAILING)
.addComponent(jLabel2)
.addComponent(jLabel3,
javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel4,
javax.swing.GroupLayout.Alignment.LEADING))
.addGap(26, 26, 26))
);
jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel2)
.addGap(13, 13, 13)
.addComponent(jLabel3)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel4)
.addContainerGap(23, Short.MAX_VALUE))
);

txtArticulo.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
txtArticuloKeyTyped(evt);
}
});
txtMarca.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtMarcaActionPerformed(evt);
}
});

javax.swing.GroupLayout jPanel2Layout = new


javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignmen
t.LEADING)
.addComponent(txtArticulo)
.addComponent(txtPrecio)
.addComponent(txtMarca, javax.swing.GroupLayout.DEFAULT_SIZE,
111, Short.MAX_VALUE))
.addContainerGap())
);
jPanel2Layout.setVerticalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(6, 6, 6)
.addComponent(txtArticulo,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(txtPrecio,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(txtMarca,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(17, Short.MAX_VALUE))
);
Btnguardar.setText("Guardar");
Btnguardar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BtnguardarActionPerformed(evt);
}
});

Btnvisualizar.setText("Visualizar");
Btnvisualizar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BtnvisualizarActionPerformed(evt);
}
});

Btnsalir.setText("Salir");
Btnsalir.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BtnsalirActionPerformed(evt);
}
});

Btnlimpiar.setText("Limpiar");
Btnlimpiar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BtnlimpiarActionPerformed(evt);
}
});

Btnselecionar.setText("Selecionar");
Btnselecionar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BtnselecionarActionPerformed(evt);
}
});

javax.swing.GroupLayout layout = new


javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(layout.createSequentialGroup()
.addGap(31, 31, 31)
.addComponent(jPanel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jPanel2,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(28, 28, 28)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG, false)
.addComponent(Btnguardar,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(Btnvisualizar,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(Btnsalir,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(Btnlimpiar,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(Btnselecionar,
javax.swing.GroupLayout.DEFAULT_SIZE, 86, Short.MAX_VALUE)))
.addGroup(layout.createSequentialGroup()
.addGap(193, 193, 193)
.addComponent(jLabel1)))
.addContainerGap(56, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(32, 32, 32)
.addComponent(jLabel1)
.addGap(31, 31, 31)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addComponent(jPanel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jPanel2,
javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addGap(46, 46, 46)
.addComponent(Btnguardar)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(Btnlimpiar)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(Btnvisualizar)
.addGap(8, 8, 8)
.addComponent(Btnselecionar)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(Btnsalir)
.addGap(0, 26, Short.MAX_VALUE))
);

pack();
}// </editor-fold>

private void txtMarcaActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
}

private void BtnguardarActionPerformed(java.awt.event.ActionEvent evt) {


String Articulo = txtArticulo.getText();
String Precio = txtPrecio.getText();
String Marca =txtMarca.getText();

datosventa clase =new datosventa(Articulo, Precio, Marca);


contenedor.add(clase);

txtArticulo.setText(""); txtPrecio.setText(""); txtMarca.setText("");

private void BtnvisualizarActionPerformed(java.awt.event.ActionEvent evt) {


//para ser visble jFrame tabla de ventas
Tabla_ventas tv = new Tabla_ventas();
tv.setVisible(true);
}
private void BtnsalirActionPerformed(java.awt.event.ActionEvent evt) {
// pero efectuar ala funcion de salir
dispose();
}

private void txtArticuloKeyTyped(java.awt.event.KeyEvent evt) {


// para selecionar un datos
String articuloselec = txtArticulo.getText().trim();
int tecla = evt.getKeyChar();
if(tecla == 10)//para saber si oprimieron enter
{

datosventa dv;
for(int i=0; i<contenedor.size(); i++)
{
dv = (datosventa) contenedor.get(i);
if(articuloselec.equalsIgnoreCase(dv.getArticulo()))
{
txtPrecio.setText(dv.getPrecio());
txtMarca.setText(dv.getMarca());
encontrado = i;
break;
}

}
}
}

private void BtnlimpiarActionPerformed(java.awt.event.ActionEvent evt) {


// para eliminar datos por medio del boton limpiar
contenedor.remove(encontrado);
txtArticulo.setText("");txtPrecio.setText("");txtMarca.setText("");
}

private void BtnselecionarActionPerformed(java.awt.event.ActionEvent evt) {


//para asignar funciona al boton selecionar
String Articulo = txtArticulo.getText();
String Precio = txtPrecio.getText();
String Marca = txtMarca.getText();

datosventa dv = new datosventa (Articulo, Precio, Marca);


contenedor.set(encontrado, dv);
txtArticulo.setText("");txtPrecio.setText("");txtMarca.setText("");

}
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code
(optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default
look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(ventas.class.getName()).log(java.util.logging.Le
vel.SEVERE, null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(ventas.class.getName()).log(java.util.logging.Le
vel.SEVERE, null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(ventas.class.getName()).log(java.util.logging.Le
vel.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(ventas.class.getName()).log(java.util.logging.Le
vel.SEVERE, null, ex);
}
//</editor-fold>

/* Create and display the form */


java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ventas().setVisible(true);
}
});
}

// Variables declaration - do not modify


private javax.swing.JButton Btnguardar;
private javax.swing.JButton Btnlimpiar;
private javax.swing.JButton Btnsalir;
private javax.swing.JButton Btnselecionar;
private javax.swing.JButton Btnvisualizar;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JTextField txtArticulo;
private javax.swing.JTextField txtMarca;
private javax.swing.JTextField txtPrecio;
// End of variables declaration
}
Captura de pantalla de la aplicación

Muestra el menú principal de la aplicación

Muestra los botones creados dentro de JFrame ventas

Muestra una JFame el cual se llama por medio del botón visualizar
Conclusión

Gracias a la realización de esta actividad tuvimos la oportunidad de estar


investigando y analizando las diferentes ventanas y menús con los que cuenta java
y pude notar que son indispensables para tener una interface mejor estructura y
presentable para los usuarios de igual forma facilita el trabajo de programador al
momento de estar desarrollando los códigos fuentes de algún programa. también
gracias a esta actividad tuve la oportunidad de implementar los menús y ventas a
una aplicación la cual se presenta y añado el ejecutable para su estudio.
Bibliografía

Froufe Agustín. JAVA 2 Manual de Usuario y Tutorial. 2ª edición. Alfaomega RA-


MA.

Wu C. Thomas, Introducción a la Programación Orientada a Objetos.


Programación en Java, McGrawHill, 2008.

Ceballos, F.. (septiembre 2015). interface grafica y aplicaciones para internet.


febrero 25, 2017, de RA-MA. S.A Sitio web:
https://books.google.com.mx/books?hl=es&lr=&id=A7E-
DwAAQBAJ&oi=fnd&pg=PT6&dq=contenedores+java&ots=gDlvsWFE2a&sig=Ew0
q8yKeUxJgFuYU9olJ8NkqMm0#v=onepage&q&f=true

Henao, C.. (octubre 8, 2013). Menú Java Swing. marzo 03, 2018, del Sitio web:
http://codejavu.blogspot.mx/2013/09/menus-con-java-swing.html

S-ar putea să vă placă și