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