我要做一个applet程序,需要在指定的BorderLayout中加入背景和按钮组件。我用add(背景图片,BorderLayout.EAST,-1);add(按钮,BorderLayout.EAST,0); 这种方法根本加不上去,按钮把背景图完全的覆盖了(虽然按钮比背景图小很多)。试了很多的方法都不好用。希望高手能帮助小弟一下。在这里万分的感谢!最好可以给我一个简简单单的实例,不要太复杂!
(谢谢各位,最好不要说让我去看书什么之类的话,如果我有一个月的时间我就会去看了)
(谢谢各位,最好不要说让我去看书什么之类的话,如果我有一个月的时间我就会去看了)
解决方案 »
- 关于equals()和==之间的区别,有个疑问,求指教。。。
- 开发javase程序音乐盒,具体步骤应该是怎样的呢?
- 字母排序问题(效率)
- 百分求助:java參數中的空格問題
- 关于表格大小问题
- 哪个有Struts分页的原代码要完成版(急急急急急急急急急急急急急急急)
- 我想做自己的编译器,不知道有没有人知道这方面的资料呢.. (讨论者一定给分)
- 在问一个javamail的问题,怎么收到草稿箱、发件箱等不是收件箱里的信件?谢谢!
- 高分求救: J++ Builder 与 JDK 的问题
- Java中如何自己封装一个方法实现两个数的交换
- swing 如何做一个类似一个像jfilechooser弹出的资源管理器
- javamail接收impl邮件的问题
button.setIcon(icon);
super.paint(g);
//下面是取得你的背景图片,你根据你自己的要求来取得这个图片,不管什么方法,得到就OK
ImageIcon icon = new ImageIcon(ClassLoader.getSystemResource("com/res/xxx.jpg"));
icon.paintIcon(this, g, 0, 0);
}
};你可以照着试下,看可以不,要是可以别忘了告诉我
把背景放到一个JPanel里,JPanel的Layout设为FlowLayout
把Button放到这个JPanel里再把JPanel放到指定层为BorderLayout的那个上层容器里,这样背景图和按钮就不会互相打架了。
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.BoxLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;public class FrameTest extends JFrame implements ActionListener { private JPanel j; private JButton b = new JButton(); public FrameTest(String title) {
super.setTitle(title);
this.setSize(new Dimension(500, 300));
this.setLocation(200, 200);
this.setLayout(new BorderLayout()); j = new JPanel() {
public void paint(Graphics g) {
super.paint(g);
// 下面是取得你的背景图片,你根据你自己的要求来取得这个图片,不管什么方法,得到就OK
ImageIcon icon = new ImageIcon(ClassLoader.getSystemResource("jframe\\xxx.jpg"));
icon.paintIcon(this, g, 0, 0);
// 下面是按钮的,如果放到外面一拖放就被jpanel刷掉啦(一定要写包名,图片自己换吧)
ImageIcon icon2 = new ImageIcon(ClassLoader.getSystemResource("jframe\\x2.jpg"));
b.setIcon(icon2);
}
};
b.setSize(new Dimension(50, 25));
b.setText("click");
j.setSize(new Dimension(300, 200));
j.setLayout(new BoxLayout(j,BoxLayout.Y_AXIS));
j.add(b);
this.add(j, BorderLayout.CENTER);
this.setVisible(true);
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
} @Override
public void actionPerformed(ActionEvent e) { } public static void main(String[] args) {
FrameTest ft = new FrameTest("FrameTest");
}
}
"image/mrv_bgimg.png");
Icon icon = new ImageIcon(image);JButton b=new JButton();
b.setIcon(icon); //这样就可以显示出你的效果了!