Oscilación de Java | Ventana translúcida y con forma en Java

Java proporciona diferentes funciones mediante las cuales podemos controlar la translucidez de la ventana o el marco. Para controlar la opacidad del marco no se debe decorar. La opacidad de un marco es la medida de la translucidez del marco o componente. 
En Java, podemos crear ventanas con forma de dos maneras: primero, usando AWTUtilities, que forma parte del paquete com.sum.awt. La clase AWTUtilities tiene una función: setWindowShape(Window w, Shape s), que establece la forma de la ventana y, segundo. usando setShape(Shape s) que establece la forma de la ventana en la forma especificada.
En este artículo discutiremos sobre la translucidez uniforme de la ventana.
Métodos utilizados: 
 

  1. setWindowShape(Window w, Shape s) : establece la forma de la ventana w a la forma especificada s
  2. setShape(Shape s) : establece la forma de la ventana a la forma especificada s
  3. setOpacity(float f) : establece el valor de opacidad del marco

1. Programa para crear un marco translúcido y controlar su translucidez con la ayuda de un JSlider 
 

Java

// Java  program to create a
// translucent frame and control
// its translucency with
// the help of a JSlider
import javax.swing.event.*;
import java.awt.*;
import javax.swing.*;
class solveit extends JFrame implements ChangeListener {
 
    // frame
    static JFrame f;
 
    // slider
    static JSlider b;
 
    // label
    static JLabel l;
 
    // main class
    public static void main(String[] args)
    {
        // create a new frame
        f = new JFrame("translucent window");
 
        // create a object
        solveit s = new solveit();
 
        // create label
        l = new JLabel();
 
        // create a panel
        JPanel p = new JPanel();
 
        // create a slider
        b = new JSlider(0, 100, 100);
 
        // paint the ticks and tracks
        b.setPaintTrack(true);
        b.setPaintTicks(true);
        b.setPaintLabels(true);
 
        // set spacing
        b.setMajorTickSpacing(20);
        b.setMinorTickSpacing(5);
 
        // setChangeListener
        b.addChangeListener(s);
 
        // add slider to panel
        p.add(b);
        p.add(l);
 
        f.add(p);
 
        // set the text of label
        l.setText("Opacity value is =" + b.getValue());
 
        // set the size of frame
        f.setSize(300, 300);
 
        // decorated frame's opacity cant be set
        // so make the frame undecorated
        f.setUndecorated(true);
 
        // set opacity value for the window
        f.setOpacity(b.getValue() * 0.01f);
 
        f.setLocation(500, 300);
 
        f.show();
    }
 
    // if opacity value is changed
    public void stateChanged(ChangeEvent e)
    {
        l.setText("opacity value is =" + b.getValue());
 
        // set opacity value for the window
        f.setOpacity(b.getValue() * 0.01f);
    }
}

Producción : 
 

2. Programa para crear una ventana translúcida con forma (usando AWTUtilities) y controlar su translucidez usando un control deslizante 
 

Java

// Java Program to create a shaped translucent
// window (using AWTUtilities)and
// control its translucency using a slider
import javax.swing.event.*;
import java.awt.*;
import javax.swing.*;
import java.awt.geom.*;
import com.sun.awt.AWTUtilities;
class solveit extends JFrame implements ChangeListener {
 
    // frame
    static JFrame f;
 
    // slider
    static JSlider b;
 
    // label
    static JLabel l;
 
    // main class
    public static void main(String[] args)
    {
        // create a new frame
        f = new JFrame("translucent window");
 
        // create a object
        solveit s = new solveit();
 
        // create label
        l = new JLabel();
 
        // create a panel
        JPanel p = new JPanel();
 
        // create a slider
        b = new JSlider(0, 100, 100);
 
        // paint the ticks and tracks
        b.setPaintTrack(true);
        b.setPaintTicks(true);
        b.setPaintLabels(true);
 
        // set spacing
        b.setMajorTickSpacing(20);
        b.setMinorTickSpacing(5);
 
        // setChangeListener
        b.addChangeListener(s);
 
        // add slider to panel
        p.add(b);
        p.add(l);
 
        f.add(p);
 
        // set the text of label
        l.setText("Opacity value is =" + b.getValue());
 
        // set the size of frame
        f.setSize(300, 300);
 
        // decorated frame's opacity cant be set so make the frame undecorated
        f.setUndecorated(true);
 
        // set opacity value for the window
        f.setOpacity(b.getValue() * 0.01f);
 
        // set window shape using AWTUtilities class
        AWTUtilities.setWindowShape(f, new Ellipse2D.Float(20f, -30f, 250.0f, 150.0f));
 
        f.setLocation(500, 300);
 
        f.show();
    }
 
    // if opacity value is changed
    public void stateChanged(ChangeEvent e)
    {
        l.setText("opacity value is =" + b.getValue());
 
        // set opacity value for the window
        f.setOpacity(b.getValue() * 0.01f);
    }
}

Producción : 
 

3. Programa para crear una ventana translúcida con forma (usando setShape) y controlar su translucidez usando un control deslizante 
 

Java

// Program to create a shaped translucent
// window (using setShape)
// and control its translucency using a slider
import javax.swing.event.*;
import java.awt.*;
import javax.swing.*;
import java.awt.geom.*;
import com.sun.awt.AWTUtilities;
class solveit extends JFrame implements ChangeListener {
 
    // frame
    static JFrame f;
 
    // slider
    static JSlider b;
 
    // label
    static JLabel l;
 
    // main class
    public static void main(String[] args)
    {
        // create a new frame
        f = new JFrame("translucent window");
 
        // create a object
        solveit s = new solveit();
 
        // create label
        l = new JLabel();
 
        // create a panel
        JPanel p = new JPanel();
 
        // create a slider
        b = new JSlider(0, 100, 100);
 
        // paint the ticks and tracks
        b.setPaintTrack(true);
        b.setPaintTicks(true);
        b.setPaintLabels(true);
 
        // set spacing
        b.setMajorTickSpacing(20);
        b.setMinorTickSpacing(5);
 
        // setChangeListener
        b.addChangeListener(s);
 
        // add slider to panel
        p.add(b);
        p.add(l);
 
        f.add(p);
 
        // set the text of label
        l.setText("Opacity value is =" + b.getValue());
 
        // set the size of frame
        f.setSize(300, 300);
 
        // decorated frame's opacity cant be set so make the frame undecorated
        f.setUndecorated(true);
 
        // set opacity value for the window
        f.setOpacity(b.getValue() * 0.01f);
 
        // set window shape
        f.setShape(new Ellipse2D.Float(20f, -30f, 250.0f, 150.0f));
 
        f.setLocation(500, 300);
 
        f.show();
    }
 
    // if opacity value is changed
    public void stateChanged(ChangeEvent e)
    {
        l.setText("opacity value is =" + b.getValue());
 
        // set opacity value for the window
        f.setOpacity(b.getValue() * 0.01f);
    }
}

Producción : 
 

Nota: es posible que los programas anteriores no se ejecuten en un compilador en línea; utilice un IDE sin conexión. Se recomienda utilizar la última versión de Java para ejecutar los programas anteriores, el usuario puede tener problemas si se utilizan versiones anteriores de Java.
 

Publicación traducida automáticamente

Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *