java swing问题 20
javaswing问题publicclassTest{JFrameframe;JPanelpanel;JLabelLabel;ImageIconimage;publicv...
java swing问题public class Test{
JFrame frame;
JPanel panel;
JLabel Label;
ImageIcon image;
public void myframe(){
frame=new JFrame();
frame.getLayeredPane().setLayout(new BorderLayout());
frame.getLayeredPane().add(label=new JLabel(image=new ImageIcon("c://Test.jpg")));
frame.getContentPane().add(panel=new JPanel();)
panel.setLayout(new FlowLayout());
panel.add(button=new JButton("ok"));
frame.setBounds(0,0,300,300);
frame.setVisible(true);
frame.validate();
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
panel.add(new MyComponent());
panel.validate();
}
});
}
public static void main(String[] agrs){
new Test().myframe();
}
}
class MyComponent extends JComponent{
public void paintComponent(Graphics g){
g.drawOval(0,0,100,100);
}
}
首先我给frame的layered窗格添加了一个包含图片的标签,然后给frame的内容窗格添加了一个panel,再给panel添加一个按钮,按钮的时间响应是在panel的左上角画一个圆,但是按下按钮,没有反应,最大化窗口后发现画的圆一半被layered窗格的标签图片覆盖了,怎么回事?大神指点 展开
JFrame frame;
JPanel panel;
JLabel Label;
ImageIcon image;
public void myframe(){
frame=new JFrame();
frame.getLayeredPane().setLayout(new BorderLayout());
frame.getLayeredPane().add(label=new JLabel(image=new ImageIcon("c://Test.jpg")));
frame.getContentPane().add(panel=new JPanel();)
panel.setLayout(new FlowLayout());
panel.add(button=new JButton("ok"));
frame.setBounds(0,0,300,300);
frame.setVisible(true);
frame.validate();
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
panel.add(new MyComponent());
panel.validate();
}
});
}
public static void main(String[] agrs){
new Test().myframe();
}
}
class MyComponent extends JComponent{
public void paintComponent(Graphics g){
g.drawOval(0,0,100,100);
}
}
首先我给frame的layered窗格添加了一个包含图片的标签,然后给frame的内容窗格添加了一个panel,再给panel添加一个按钮,按钮的时间响应是在panel的左上角画一个圆,但是按下按钮,没有反应,最大化窗口后发现画的圆一半被layered窗格的标签图片覆盖了,怎么回事?大神指点 展开
2016-11-30
展开全部
先把语法上的错误,解决了吧
~
~
追问
手机上敲的,很辛苦的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-11-30
展开全部
panel层在layere的下面,你在panel上画图,自然会被layered上的东西挡住了。
举例:你在白纸上画了一个圆,白纸上又放着一张画,画把你的圆挡住了
举例:你在白纸上画了一个圆,白纸上又放着一张画,画把你的圆挡住了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询