这个Java程序的按钮只有在鼠标划过后才显示,而Label根本不显示
刚开始编写,发现按钮只有鼠标划过之后才会显示按钮,而Label就是不现实,求助解决方法。importjava.awt.Color;importjava.awt.Font;...
刚开始编写,发现按钮只有鼠标划过之后才会显示按钮,而Label就是不现实,求助解决方法。
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class about extends JFrame{
Image img;
static JButton bt1=new JButton("确定");
JLabel la1=new JLabel("Java播放器");
public static void main(String args[])
{
about ab=new about();
}
about()
{
super("关于");
setSize(600,300);
setBackground(Color.green);
setResizable(false);
setVisible(true);
setLayout(null);
add(bt1);
bt1.setBounds(455, 240, 85, 23);
bt1.setFocusPainted(false);
add(la1);
la1.setBounds(150, 30, 75, 23);
la1.setFont(new Font("行楷",Font.BOLD,15));
Toolkit tk=getToolkit();
img=tk.getImage("image//view.gif");
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){System.exit(0);}});
}
public void paint (Graphics g)
{
int wt=img.getWidth(this);
int ht=img.getHeight(this);
g.drawImage(img, 3, 20, wt, ht, this);
}
}
将JFrame改成Frame,将JButton改成Button就没有这个问题 展开
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class about extends JFrame{
Image img;
static JButton bt1=new JButton("确定");
JLabel la1=new JLabel("Java播放器");
public static void main(String args[])
{
about ab=new about();
}
about()
{
super("关于");
setSize(600,300);
setBackground(Color.green);
setResizable(false);
setVisible(true);
setLayout(null);
add(bt1);
bt1.setBounds(455, 240, 85, 23);
bt1.setFocusPainted(false);
add(la1);
la1.setBounds(150, 30, 75, 23);
la1.setFont(new Font("行楷",Font.BOLD,15));
Toolkit tk=getToolkit();
img=tk.getImage("image//view.gif");
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){System.exit(0);}});
}
public void paint (Graphics g)
{
int wt=img.getWidth(this);
int ht=img.getHeight(this);
g.drawImage(img, 3, 20, wt, ht, this);
}
}
将JFrame改成Frame,将JButton改成Button就没有这个问题 展开
3个回答
展开全部
你好,我试过你的代码,当图片可以被draw出来时,确实影响了本来组件的显示
如果你是为了想让容器有背景图片的话,你这种方法不可取,可以使用分层+Label设置icon的方式
看下我才整理的这篇日志《JFrame 背景图片》
http://hi.baidu.com/lylegend13/blog/item/9713c5885cffbe89a5c27257.html
如果你是为了想让容器有背景图片的话,你这种方法不可取,可以使用分层+Label设置icon的方式
看下我才整理的这篇日志《JFrame 背景图片》
http://hi.baidu.com/lylegend13/blog/item/9713c5885cffbe89a5c27257.html
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询