//Aplicacin Demo para Computacin Grfica
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class menu
{
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame aplicacion = new MiAplicacionFrame();
aplicacion.setVisible(true);
aplicacion.setLocationRelativeTo(null);
}
});
}
}
class MiAplicacionFrame extends JFrame
{
public static final int DEFAULT_WIDTH = 800;
public static final int DEFAULT_HEIGHT = 500;
private Container contentPane;
private JMenuItem itemNuevo;
private JMenuItem itemConfig;
private JMenuItem itemSalir;
private JMenuItem itemAbout;
private JPanel panelgraf;
public MiAplicacionFrame()
{
super("Computacin Grfica");
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
setDefaultCloseOperation(3);
contentPane = getContentPane();
initComponents();
addListeners();
}
private void initComponents()
{
JMenuBar barraMenu = new JMenuBar();
setJMenuBar(barraMenu);
JMenu menulin = new JMenu("Lneas");
barraMenu.add(menulin);
itemNuevo = new JMenuItem("Algoritmo DDA",'d');
menulin.add(itemNuevo);
itemConfig = new JMenuItem("Algoritmo Punto Medio",'p');
menulin.add(itemConfig);
itemSalir = new JMenuItem("Salir", 's');
menulin.add(itemSalir);
JMenu menuAyuda = new JMenu("Acerca de");
barraMenu.add(menuAyuda);
itemAbout = new JMenuItem("Autores", 'a');
menuAyuda.add(itemAbout);
panelgraf = new Panelgraf();
panelgraf.setVisible(false);
contentPane.add(panelgraf);
}
private void addListeners()
{
ActionListener listener = new ActionListener() {
public void actionPerformed(ActionEvent e){
Object obj = e.getSource();
if (obj == itemNuevo)
itemNuevoActionPerformed(e);
else if (obj == itemConfig)
itemConfigActionPerformed(e);
else if (obj == itemSalir)
itemSalirActionPerformed(e);
else if (obj == itemAbout)
itemAboutActionPerformed(e);
}
};
itemNuevo.addActionListener(listener);
itemConfig.addActionListener(listener);
itemSalir.addActionListener(listener);
itemAbout.addActionListener(listener);
}
private void itemNuevoActionPerformed(ActionEvent e)
{
panelgraf.setVisible(true);
}
private void itemConfigActionPerformed(ActionEvent e)
{
JOptionPane.showMessageDialog(this, "Esto falta implementar", "Configuraciones",
JOptionPane.ERROR_MESSAGE);
}
private void itemSalirActionPerformed(ActionEvent e)
{
System.exit(0);
}
private void itemAboutActionPerformed(ActionEvent e)
{
JOptionPane.showMessageDialog(this, "Programa desarrollado por:\nVersion 1.0");
}
}
class Panelgraf extends JPanel
{
private JButton btnSalir;
public Panelgraf()
{
setBackground(new Color(125, 125, 64));
setLayout(new BorderLayout());
btnSalir = new JButton("Salir de Programa");
btnSalir.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
setVisible(false);
}
});
JPanel panelSur = new JPanel();
panelSur.add(btnSalir);
add(panelSur, BorderLayout.SOUTH);
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.setFont(new Font("", Font.BOLD, 18));
g.setColor(Color.ORANGE);
g.drawString("En este panel van los componentes del programa", 50, 25);
}
}