Compartir a través de


Desarrollo de la interfaz de usuario (C# y Java)

Actualización: noviembre 2007

El completo conjunto de componentes de formularios Windows Forms de .NET Framework se puede utilizar en C# para programar aplicaciones de formularios del cliente.

Java

La mayoría de las aplicaciones de Java utilizan AWT (Abstract Windowing ToolKit) o Swing, que utiliza la infraestructura de AWT, incluido el modelo de eventos de AWT, para la programación de formularios. AWT proporciona todas las funciones y clases básicas de interfaz gráfica de usuario.

Ejemplo de Java

Normalmente, para agregar los componentes, se utiliza un marco, que es una ventana con un título y borde.

JFrame aframe = new JFrame();

La clase Component, que es un objeto con representación gráfica, generalmente se extiende y los métodos heredados se utilizan o se reemplazan, por ejemplo, el método paint de un componente Shape en el código que se muestra.

    import java.awt.*;
    import javax.swing.*;
    
    class aShape extends JComponent {
    public void paint(Graphics g) {
    Graphics2D g2d = (Graphics2D)g;
    
    // Draw the shape.
    }
    
    public static void main(String[] args) {
    JFrame aframe = new JFrame();
    frame.getContentPane().add(new aShape ());
    int frameWidth = 300;
    int frameHeight = 300;
    frame.setSize(frameWidth, frameHeight);
    frame.setVisible(true);
    }
}

El usuario se puede registrar a fin de escuchar un evento de acción de un componente para controlar eventos. Por ejemplo, cuando se presiona y se suelta un botón, AWT envía una instancia de ActionEvent a ese botón al llamar a processEvent en el botón. El método processEvent del botón recibe todos los eventos del botón; pasa un evento de acción al llamar a su propio método processActionEvent. El último método pasa el evento de acción a cualquier agente de escucha de la acción que registró un interés en eventos de acción generados por este botón.

C#

En C#, el espacio de nombres y clases System.Windows.Forms de .NET Framework proporciona un completo conjunto de componentes para el desarrollo de formularios Windows Forms. Por ejemplo, el código siguiente utiliza Label, Button y MenuStrip.

Ejemplo de C#

Simplemente derive de la clase Form, del modo siguiente:

public partial class Form1 : System.Windows.Forms.Form

y agregue sus propios componentes:

this.button1 = new System.Windows.Forms.Button();
this.Controls.Add(this.button1);

En el código siguiente se muestra cómo agregar una etiqueta, un botón y un menú a un formulario.

namespace WindowsFormApp
{
    public partial class Form1 : System.Windows.Forms.Form
    {
        private System.ComponentModel.Container components = null;

        private System.Windows.Forms.Label label1;
        private System.Windows.Forms.Button button1;
        private System.Windows.Forms.MenuStrip menu1;

        public Form1()
        {
            InitializeComponent();
        }

        private void InitializeComponent()
        {
            this.components = new System.ComponentModel.Container();

            this.label1 = new System.Windows.Forms.Label();
            this.Controls.Add(this.label1);

            this.button1 = new System.Windows.Forms.Button();
            this.Controls.Add(this.button1);

            this.menu1 = new System.Windows.Forms.MenuStrip();
            this.Controls.Add(this.menu1);
        }

        static void Main() 
        {
            System.Windows.Forms.Application.Run(new Form1());
        }
    }
}

Al igual que en Java, en C# se puede registrar para escuchar un evento de un componente. Por ejemplo, cuando se presiona y suelta un botón, el motor en tiempo de ejecución envía un evento Click a cualquier agente de escucha que haya registrado un interés en el evento Click de este botón.

private void button1_Click(object sender, System.EventArgs e)
{
}

Puede utilizar el código siguiente a fin de registrar button1_Click para controlar el evento Click de una instancia de Button denominada button1.

// this code can go in InitializeComponent()
button1.Click += button1_Click;

Para obtener más información, consulte Crear aplicaciones Web ASP.NET (Visual C#).

Para obtener más información sobre las clases de Forms, vea Controles de formularios Windows Forms por función y System.Windows.Forms.

Vea también

Conceptos

Guía de programación de C#

Diseñar una interfaz de usuario (Visual C#)

Otros recursos

C# para desarrolladores de Java