🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.java
Article #154072

GlassPane zakrywa wszystko

#154072
From: klociaciocia
Date: Mon, 01 Sep 2014 08:23
67 lines
2934 bytes
Dzień dobry.

Mam takie coś:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class CreateFrame extends JFrame implements KeyListener {    
    private JPanel panel = null;
    private Component g = null;
    private int x1, y1, x2, y2;

    public CreateFrame() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(300,300);
        setLocation(20,20);
        setLayout(new BorderLayout());
        g = new NewJGlassPane();
        setGlassPane(g);        
        panel = new JPanel();
        panel.setFocusable(true);
        panel.addKeyListener(this);
        panel.setLayout(new BorderLayout());
        panel.add(new NewGraphics(), BorderLayout.CENTER);
        add(panel, BorderLayout.CENTER);        
        
        setVisible(true);
    }

    @Override
    public void keyTyped(KeyEvent e) {}

    @Override
    public void keyPressed(KeyEvent e) {
        if (e.isShiftDown()) {
            g.setVisible(true);
        }
    }
    @Override
    public void keyReleased(KeyEvent e) {
        if (!e.isShiftDown()) {
            g.setVisible(false);
        }
    }    
}

i dalej:

import java.awt.*;
import javax.swing.*;

public class NewJGlassPane extends JPanel {
    @Override        
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        setBackground(new Color(1f,0f,0f,.1f));
        g.setColor(Color.BLACK);
        g.drawLine(getWidth() - 20, 10, 10, getWidth() - 20);         
    }
}

przy naciśnięciu shift glasspane przykrywa całość. Następnie puszczam klawisz glasspane znika a po ponownym wciśnięciu shift glasspane staje się przeźroczyste.

Czy ktoś może wskazać dlaczego przy pierwszym wciśnięciu shift glasspane zakrywa całość a po kolejnych wciśnięciach już nie ?

Dzięki za pomoc
Technical Details
Message-ID: <df9bcdb5-df31-4303-80ce-c76ba867fef2@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!r2no11875837igi.0!news-out.google.com!q8ni7qal.1!nntp.google.com!m5no4823878qaj.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
X-Received: by 10.50.92.104 with SMTP id cl8mr11389918igb.1.1409559801036;        Mon, 01 Sep 2014 01:23:21 -0700 (PDT)
X-Received: by 10.140.31.202 with SMTP id f68mr1181qgf.30.1409559800846; Mon, 01 Sep 2014 01:23:20 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!r2no11875837igi.0!news-out.google.com!q8ni7qal.1!nntp.google.com!m5no4823878qaj.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.java
Date: Mon, 1 Sep 2014 01:23:20 -0700 (PDT)
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=150.254.1.232; posting-account=U2aqgAoAAABLAjDHgvN_bz1PZSnI3gOz
NNTP-Posting-Host: 150.254.1.232
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <df9bcdb5-df31-4303-80ce-c76ba867fef2@googlegroups.com>
Subject: GlassPane zakrywa wszystko
From: klociaciocia@gmail.com
Injection-Date: Mon, 01 Sep 2014 08:23:20 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit