application问题!
我用一张图片作为背景图片,然后在上面加两个按钮,怎么做!
问题代码如下:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class SplashWindow extends JFrame
{
JButton ok,no;
JLabel r8=new JLabel(new ImageIcon("Picture.jpg"));
SplashWindow()
{
setLayout(new BorderLayout());
ok=new JButton("ok");
no=new JButton("no");
add(r8,"Center");
toFront();
ok.setLayout(null);
no.setLayout(null);
ok.setSize(30,30);
no.setSize(30,30);
add(ok);
add(no);
setSize(800,600);
setLocation(100,90);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String [] args)
{
SplashWindow splashWindow=new SplashWindow();
}
}
修改代码,并解释!
谢谢!
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class T extends JFrame {
JButton ok, no;
JLabel r8 = new JLabel(new ImageIcon("picture.jpg"));
T() {
setLayout(new BorderLayout());
ok = new JButton("ok");
no = new JButton("no");
add(r8);
r8.setLayout(new FlowLayout());
r8.add(ok);
r8.add(no);
pack();
setLocation(100, 90);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
T splashWindow = new T();
}
}
你原来那种方法是想用 JLabel来做背景图片
可是JLabel和JButton是同级的,怎么能够覆盖
可以用JLabel作为容器,因为它从container继承
所以直接往JLabel中添加组件即可