webbylix Skrevet 20. september 2013 Del Skrevet 20. september 2013 (endret) 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 20. september 2013 av webbylix Lenke til kommentar
webbylix Skrevet 21. september 2013 Forfatter Del Skrevet 21. september 2013 Noen som kan hjelpe? Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå