🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.java
1 messages
1 total messages Started by klociaciocia Mon, 01 Sep 2014 08:23
GlassPane zakrywa wszystko
#154072
Author: 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
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads