您的位置:首页 > 编程语言 > Java开发

Java_利用多线程实现窗口组件背景图大小按比例变化

2015-10-21 14:49 816 查看
package Main;

import java.awt.Color;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;

import javax.swing.JButton;
import javax.swing.JFrame;

import ImageIcon.MyPanelDemo;

public class TextDemo {
private JFrame frame = null;
private JButton button = null;
private MyPanelDemo mp = null;
TextDemo(){
init();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private void init(){
frame = new JFrame("Text");
mp = new MyPanelDemo();
mp.setLayout(null);
frame.setBounds(0, 0, 400, 400);

button  = new JButton("OK");
button.setBackground(Color.lightGray);
button.setBounds(50, 50, 100, 50);
mp.add(button);
frame.getContentPane().add(mp);
MyEvent();
}
public void MyEvent(){
frame.addComponentListener(new ComponentAdapter(){
public void componentResized(ComponentEvent e) {
new Thread(){
public void run(){
int h = e.getComponent().getHeight();
int w = e.getComponent().getWidth();
button.setBounds(h/10, w/10, 100, 50);
}
}.start();

}
});
}
public static void main(String[] args) {
new TextDemo();
}

}
<pre name="code" class="java">/*//绘图类package ImageIcon;import java.awt.Graphics;import javax.swing.ImageIcon;import javax.swing.JPanel;public class MyPanelDemo extends JPanel {public static final long serialVersionUID = 1L;ImageIcon MyImage = null;public MyPanelDemo(){MyImage = new ImageIcon("Face.gif");}public void paintComponent(Graphics g){g.drawImage(MyImage.getImage(),0,0,this.getWidth(),this.getHeight(),null);}}*/

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: