1
import java.awt.*;
import javax.swing.*;
import javax.swing.plaf.LayerUI;
public class MyJLayer extends JFrame {
public static void main(String[] args) {
MyJLayer jlayer = new MyJLayer();
jlayer.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
JButton button = new JButton("Debug Only.");
panel.add(button);
UI ui = new UI();
JLayer<JPanel> jLayer = new JLayer<JPanel>(panel, ui);
jlayer.add(jLayer);
jlayer.setSize(100, 100);
jlayer.setVisible(true);
}
}
class UI extends LayerUI<JPanel>{
public void paint(Graphics g, JPanel c){
super.paint(g, c);
Graphics2D g2d = (Graphics2D)g.create();
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, .8f));
g2d.setColor(Color.BLUE);
g2d.fillRect(0, 0, c.getWidth(), c.getHeight());
g2d.dispose();
}
}
패널에 파란색 색상이 전혀 표시되지 않지만 그 이유는 모르겠습니다. 누구든지 나를 도울 수 있습니까? 방금 찾지 못했습니다. http://docs.oracle.com/javase/tutorial/uiswing/misc/jlayer.htmlJLayer에 대한 오라클의 튜토리얼을 따르지만이 코드에서는 작동하지 않습니다.
쇼 스택 트레이스 또는 예외를 ...
와 미래에, 컴파일러는 당신을 위해 문제를 찾을 수 있도록
@Override
주석을 추가 :?에 서명을 변경? – Divya코드가 호출되기도합니까? JPanel C의 크기는 얼마입니까? 덕분에 – keuleJ