Les Presento: BasKet

22 03 2009

Basket, es una aplicacion, increiblemente de utilidad, donde podemos administrar nuestras notas mas simples, hasta documentos, imagenes.

Todo esta exelentemente organizado, y personalizable. podemos agregar, editar y elimnar etiquetar para  nuestras notas, imagenes, etc, En la seguridad no queda atraz,  ya que podemos asignar una contrasenia unika y-o diferente, para cada nota segun corresponda.

Podemos manejar nuestras notas, como diagramas,  o como texto plano, o en colmnas, hay muchas cosas q lo hacen atracticvo como crear un icono en el panel de notificacion,  Para instalar

$su
$apt-get install basketl

Luego lo encontramos en Aplicaciones>Accesioros>Blog de Notas Basket

basket13

No permite previsualizacion a, notas bloqueadas

basket21

basket41

basket51

Podemso importar y exportar los datos, ademas de rutarlos para que se almacene en el lugar q nosotros querramos.

Exlente aplicacion.

Saludos





JAVA: Practicando con GridLayout.

21 03 2009

GridLayout, no es mas q otro manejador de disenio, la cual su partcularidad, conciste en crear una matriz, totalmente configurada.

Primero tenemos que crear el contenedor(JFrame, JPanel, etc), y luego atravez del metodo “setLayout()” asignarle el layout correspondiente:

JFrame frame = new JFrame();
frame.setLayout(new GridLayout(Filas, Columnas));

Tambien  podemos indicar el espacio entre cada objeto de la matriz.

frame.setLayout(new GridLayout(Filas, Columnas,EspacioEntreFilas, EspacioEntreColumnas));

Creoq con un ejemplo, se entenderia mejor.

PAra el ejemplo, he intentado, realizar una pantalla de calculadora…jejeje,

Aqui el fuente.

/*Demo hecho por INFORUX*/
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JPanel;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.BoxLayout;
import javax.swing.WindowConstants;

public class DemoGridLayout{

    JFrame frame;
    JPanel panelSuperior, panelInferior;
    JButton bt1, bt2, bt3, bt4, bt5, bt6, bt7, bt8, bt9, bt0, btRT, btCE, btCL, btMas, btMenos, btMul, btDiv, btIgual, btMN, btPunto;
    JTextField pantalla;

    public DemoGridLayout(){
        construyePanelSuperior();
        construyePanelInferior();
        construyeVentana();}

    void construyePanelSuperior(){
        panelSuperior = new JPanel ();
        panelSuperior.setLayout(new FlowLayout());
        pantalla = new JTextField(20);
        panelSuperior.add(pantalla);}

    void construyePanelInferior(){
        panelInferior= new JPanel();
        panelInferior.setLayout(new GridLayout(5,4,8,8));
        bt1=new JButton("1");
        bt2=new JButton("2");
        bt3=new JButton("3");
        bt4=new JButton("4");
        bt5=new JButton("5");
        bt6=new JButton("6");
         bt7=new JButton("7");
        bt8=new JButton("8");
        bt9=new JButton("9");
        bt0=new JButton("0");
        btRT=new JButton("Rtc");
        btCE=new JButton("CE");
        btCL=new JButton("CL");
        btMas=new JButton("+");
        btMenos=new JButton("-");
        btMul=new JButton("x");
        btDiv=new JButton("/");
        btIgual=new JButton("=");
        btMN=new JButton("+/-");    
        btPunto=new JButton(".");
        panelInferior.add(btRT);
        panelInferior.add(btCE);
        panelInferior.add(btCL);
        panelInferior.add(btMN);
        panelInferior.add(bt7);
        panelInferior.add(bt8);
        panelInferior.add(bt9);
        panelInferior.add(btDiv);
        panelInferior.add(bt4);
        panelInferior.add(bt5);
        panelInferior.add(bt6);
        panelInferior.add(btMul);
        panelInferior.add(bt1);
        panelInferior.add(bt2);
        panelInferior.add(bt3);
        panelInferior.add(btMenos);
        panelInferior.add(bt0);
        panelInferior.add(btPunto);
        panelInferior.add(btIgual);
        panelInferior.add(btMas);}

    void construyeVentana(){
        frame =new JFrame("Calculadora ");
        frame.setLayout(new BoxLayout(frame.getContentPane(),BoxLayout.Y_AXIS));
        frame.add(panelSuperior);
        frame.add(panelInferior);
        frame.pack();
        frame.setVisible(true);
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);}

    public static void main(String [] inforux){
        new DemoGridLayout();}
}

Una compilada, y ejecutamos.

javac DemoGridLayout.java
java DemoGridLayout

El resultado sera  asi.

pantallazo-calculadora

pantallazo-calculadora-1

La idea, es manejar el GridLayout.

Saludos.





Mitad dedo… mitad USB

21 03 2009

Increiblemente, un hombre de nombre Jerry Jalava, no tuvo mejor idea que aprovechar su accidente de moto, implandose una memoria USB, en su dedo anular.

foto1

Este singular hombre, tiene una memoria  de 2 gb, y ademas es portatil, yaq puedes cambiar la usb, por una  de menor y/o mayor tamanio. Ademas  puedes retirarla con el dedo implantado… wuau.

foto21

foto3

Cuenta q a inicios de 2008,  es que  Jerry, , tuvo un accidente mientras conducía su Ducati Monster de vuelta a casa.

Segun su  propio blog, Jalava se estrelló contra un venado en el camino, lo que provocó el accidente, quedando sobre el asfalto con  su mano atascada debajo de la motocicleta.

“Cuando la moto se detuvo me levanté y recogí mi casco. Estaba muy nervioso por lo que intenté sacar un cigarrillo para calmarme, y fue ahí cuando me di cuenta que me faltaba un dedo”.

LLveado en la ambulancia al hospital, es q su medico al enterarse q era desarrollador de software, le propuso, una protesis de un dedo con USB.

foto4

Desde luego, q la tecnologia, cada dia esta mas estrecha a los seres humanos.

Saludos

Enlace: fotos, protoblogr





JAVA: Practicando con CardLayout

19 03 2009

CardLayout,  es un manejador de disenio que nos permite, ubicar componentes swing dentro de un mismo contenedor, y poder visualizarlos solamente uno a la vez.

Este layout es usado por los JTabbedPane, con la diferencia de la separacion de los bordes de cada panel.

Es decir, podemos tener un contenedor pricipal,   y dentro de el, varios paneles, y atravez de una seleccion, elegir cual de estos paneles queremos q se visualize.

Primero tenemos que crear el contenedor(JFrame, JPanel, etc), y luego atravez del metodo “setLayout()” asignarle el layout correspondiente.

JFrame frame = new JFrame();
frame.setLayout(new CardLayout());

Una vez, asiganado el layout al contenedor, tendremos q agregar los componentes, plenamente ya declarados y creados.

Para agregar necesitamos 2 argumentos, el objeto a agregar, y un nombre referencial al elemento agregado

JPanel panel = new JPanel();
JPanel pane2 = new JPanel();
frame.add(panel, referenciaPanel1);
frame.add(pane2, referenciaPanel2);

Sencilo no?, espera, hay unos metodos basicos e importantes, al momento de manejar los eventos, como son.

first (nombreContenedor) -> metodo q permite visualizar el primer objeto agregado

next (nombreContenedor) -> metodo q permite visuliza el objeto siguiente.

previous (nombreContenedor) -> permite visualizar el objeto anterior

show (nombreContenedor, referenciaPanel) -> permite visualizar un obejto especificado, aqui necesitamos el nombre del contenedor y el nombre referencial asignado al momento de agregarlo.

Para esta entrada he preparado un ejemplo clasico, para situaciones clasicas…jejee

La aplicacio, contiene, 1 JFrame principal, 1 PanelSuperior incluido en el JFrame,1 JComboBox incluido en el PanelSuperior, 1 PanelInferior incluido en el JFrame, y 3 paneles incluidos en el PanelInferior.

El ejemplo consciste en que atravez de un JComboBox, seleccionaremos un elemento de la lista, y segun el elemento seleccionado, cambiara el panel inferior mostrando uno de los paneles incluidos en el., es decir, el panel ira cambiando segun la seleecion del elemento de la lista del JComboBox.

YA q en este ejericcio he utilizado manejo de eventos, he trabajado con 2 clases, la primera (WindowCardLayout) es la interfaz de usuario y la segunda (ControlCardLayout) la q maneja los eventos de la primera.

Aqui el fuente.WindowCardLayout

import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JPanel;
import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JComboBox;
import javax.swing.WindowConstants;
import javax.swing.BorderFactory;
import java.awt.FlowLayout;
import java.awt.CardLayout;
import java.awt.Color;

public class WindowCardLayout{

    JFrame frame;
    CardLayout cardLayout;
    JPanel panelSuperior, panelInferior,panelInf1, panelInf2, panelInf3;
    JLabel etiqueta, etiqueta1, etiqueta2,etiqueta3;
    JComboBox combo;
    String [] vectorCadena = {"panel1","panel2","panel3"};

    public WindowCardLayout(){/*Constructor*/
        construyePanelSuperior();
        construyePanelInf1();
        construyePanelInf2();
        construyePanelInf3();
        construyePanelInferior();
        construyeVentana();}

    public void construyePanelSuperior(){
        etiqueta = new JLabel("Elegir Opcion");
        panelSuperior=new JPanel();
        panelSuperior.setBorder(BorderFactory.createTitledBorder("Demo por INFORUX"));
        combo = new JComboBox(vectorCadena);
        panelSuperior.setLayout(new FlowLayout());
        panelSuperior.add(etiqueta);
        panelSuperior.add(combo);
        panelSuperior.getPreferredSize();}

    public void construyePanelInferior(){
        panelInferior= new JPanel();
        panelInferior.setBorder(BorderFactory.createTitledBorder("Panel Inferior"));
        cardLayout=new CardLayout();
        panelInferior.setLayout(cardLayout);
        /*Al agregar necesitamos 2 argumentos, el objeto a agregar y un nombre referencial */
        panelInferior.add(panelInf1, "panel1");
        panelInferior.add(panelInf2, "panel2");
        panelInferior.add(panelInf3, "panel3");}

    public void construyePanelInf1(){
        etiqueta1 = new JLabel("Has Seleccionado el Panel 1");
        panelInf1 = new JPanel(new FlowLayout());
        panelInf1.setBackground(Color.white);
        panelInf1.add(etiqueta1);}

    public void construyePanelInf2(){
        etiqueta2 = new JLabel("increiblemente estas viendo el panel2");
        panelInf2 = new JPanel(new FlowLayout());
        panelInf2.setBackground(Color.orange);
        panelInf2.add(etiqueta2);}

    public void construyePanelInf3(){
        etiqueta3 = new JLabel("CardLayout permite solo uno a la vez, esta vez el panel 3");
        panelInf3 = new JPanel(new FlowLayout());
        panelInf3.setBackground(Color.green);
        panelInf3.add(etiqueta3);}

    public void construyeVentana(){
        frame= new JFrame();
        frame.setLayout(new BoxLayout(frame.getContentPane(),BoxLayout.Y_AXIS));
        frame.add(panelSuperior);
        frame.add(panelInferior);
        frame.getPreferredSize();
        frame.pack();
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.setVisible(true);
        //creamos el objeto controlador de eventos
        ControlCardLayout control= new ControlCardLayout(this);
        combo.addActionListener(control);}

    public static void main (String [] inforux){
        new WindowCardLayout();
    }

}


Aqui el fuente ControlCardLAyout

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class ControlCardLayout implements ActionListener{

WindowCardLayout ventana;
public ControlCardLayout( WindowCardLayout frame){
       ventana = frame ;}
public void actionPerformed (ActionEvent evento){
  if (evento.getSource()==ventana.combo){
     if (ventana.combo.getSelectedIndex()==0){
               ventana.cardLayout.show(ventana.panelInferior, "panel1");}
     if (ventana.combo.getSelectedIndex()==1){
               ventana.cardLayout.show(ventana.panelInferior, "panel2");}
     if (ventana.combo.getSelectedIndex()==2){
               ventana.cardLayout.show(ventana.panelInferior, "panel3");}}
   }
}

Listo una compilada y ejecutamos

$ javac WindowCardLayout.java
$ java WindoCardLayout

El resultado sera asi:
pantallazo1
pantallazo-1





Día Internacional de la Mujer.

7 03 2009

Día Internacional de la Mujer.

El día internacional de la mujer, fue  creado en 1910 a consecuencia de las luchas de las trabajadoras femeninas por sus derechos, que demostraron con mayor evidencia la importancia de la verdadera igualdad de derechos en la sociedad.

Maniana es el Día Internacional de la Mujer (8 de marzo), es por ello q se rinde el justo homenaje, a la mujer, aquella ama de casa, a la mujer q trabaja  en las escuelas, universidades, fabricas, mercados, comedores populares,  vendedoras etc y sobre todo a la mujer campesina, y a todas las mujeres del peru y del mundo,

A esa mujer que en el trabajo y/o hogar, es sometida al abuso emocional, físico y sexual,

A esa mujer que es padre y madre en el hogar, y trabaja día a día, con el unico fin de llevar algo comida y/o dineroo a su hogar.

A esa mujer campesina, que no solo trabaja, sino q tambien lucha contra los abusos y la extrema pobresa.

A todas ellas, debemos unirnos y reflexionar, en hacer cumplir personalmente los derechos e igualdad de la mujer en la sociedad,

Día Internacional de la Mujer es el justo homenaje al temple y tenacidad de la mujer trabajadora del Peru y del mundo.






Jugar SuperNintendo en Debian – Amd64 (zsnes)

24 02 2009

Quien en su infancia no ha jugado mario bross, o top- gear, contra, ufff un sin fin de videojuegos, y espor eso que hace unos dias estoy intentando instalar un bendito emulador de la consola de super nintendo para Debain/Linux con amd64, sim embargo lo conseguia sin exito total, en un caso, logre emular pero sin sonido, en otros ni siquiera llego a instalar hasta q por fin se pudo.

pantallazo1 Leer el resto de esta entrada »





POR FIN… Debian Lenny 5.0 – Estable Version

15 02 2009

Lo prometido es deuda, y es que, tal como lo habia propuesto como fecha tentativa  para el anuncio oficial de debian Lenny (14 de febrero)

“El Proyecto Debian se complace en anunciar la publicación oficial de la versión 5.0 de Debian GNU/Linux, nombre en clave lenny, tras 22 meses de desarrollo constante. Debian GNU/Linux es un sistema operativo libre que soporta un total de doce arquitecturas de procesador e incluye los entornos de escritorio KDE, GNOME, Xfce y LXDE. También ofrece compatibilidad con el estándar FHS v2.3 y software desarrollado para la versión 3.2 de LSB.”

debian

Debian GNU/Linux 5.0 Lenny incluye soporte para la plataforma Orion de Marvell, utilizada en muchos dispositivos de almacenamiento. Ese anuncio fue dedicado a Thiemo Seufer, por su lamentable perdida humana.

“El proyecto dedica la publicación de Debian GNU/Linux 5.0 Lenny a Thiemo Seufer, un desarrollador Debian que falleció el pasado 26 de diciembre de 2008 en un trágico accidente de coche. Thiemo participaba de muchas formas distintas en Debian. Mantenía algunos paquetes y era la persona que más ayudaba en la adaptación de Debian a la arquitectura MIPS. También era un miembro del grupo del núcleo, así como un miembro del grupo que trabaja en el instalador de Debian. Sus contribuciones han ido más allá del proyecto Debian: trabajó en la adaptación a MIPS del núcleo de Linux, en la emulación MIPS de qemu y en muchos proyectos pequeños, demasiados para describirlos todos aquí.”


Felicidad total se ha apoderado de mi,

Ahora podemos actualizar o Descargar aqui

Noticia Completa en Debian.org

Saludos y a desccargar.