Gå til innhold

Gjennomsiktig bakgrunn øker pr klikk


Anbefalte innlegg

Jeg driver å lager et lite program med noen klikkefunksjoner med gjennomsiktig bakgrunn. Bakgrunnen innholder to knapper, men når man klikker på bakgrunnen, så blir gjennomsiktigheten mørkere. Hva er løsningen på dette, slik at bakgrunnen blir statisk?

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLayeredPane;
import javax.swing.JPanel;
import javax.swing.border.Border;
import javax.swing.border.LineBorder;


public class Main {
	
    private JFrame       frame      = new JFrame();
    private JLayeredPane lpane      = new JLayeredPane();
    private JPanel       bgPanel    = new JPanel();
    private JPanel       fieldPanel = new JPanel();
    private JButton      editButton = new JButton("EN");
    private JButton      addButton  = new JButton("TO");
    
    private Border border = new LineBorder(Color.WHITE, 0);
    static  Color  bg     = new Color(0,0,0,40);
    
    public Main() {
    	frame.setBackground(bg);
        frame.setPreferredSize(new Dimension(500, 140));
        frame.setLayout(new BorderLayout());
        frame.add(lpane, BorderLayout.CENTER);
        frame.pack();
        frame.setVisible(true);

        bgPanel.setBounds(0, 0, 500, 140);
        bgPanel.setOpaque(false);
        bgPanel.setLayout(new BorderLayout(0, 0));
        
        editButton.setForeground (Color.red);
        editButton.setPreferredSize(new Dimension(500, 140));
        editButton.setBounds(0, 0, 60, 40);
        editButton.setBorder(border);
        editButton.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            System.out.println("Klikk edit");  
            editButton.setVisible(false);
            addButton.setVisible(true);
            bgPanel.add(addButton);
          }
        });
        bgPanel.add(editButton);
        
        addButton.setPreferredSize(new Dimension(500, 140));
        addButton.setBounds(0, 0, 60, 40);
        addButton.setBorder(border);
        addButton.setVisible(false);
        addButton.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e){
            System.out.println("Klikk add");
            addButton.setVisible(false);
            editButton.setVisible(true);
            bgPanel.add(addButton);
          }
        });
        
        fieldPanel.setBackground(Color.GREEN);
        fieldPanel.setBounds(20, 14, 200, 100);
        fieldPanel.setOpaque(true);
        
        lpane.setBounds(0, 0, 500, 140); 
        lpane.add(bgPanel, new Integer(0), 0);
        lpane.add(fieldPanel, new Integer(1), 0);
    }
    
    public static void main(String[] args) {
        new Main();
    }
}

Endret av webbylix
Lenke til kommentar
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...