Java JPanel_Bg设置背景
2012-11-09 06:27
417 查看
、
package com.han; import java.awt.BorderLayout; import java.awt.Container; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.ComponentAdapter; import java.awt.event.ComponentEvent; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; /** * The result is : * <p> * If you use pack(), use the setPref() method when you want to resize * components; If you do not use the Layout Manager, employ the combined * methods: setLayout(null) + Components.setBounds() * * @author HAN * */ @SuppressWarnings("serial") public class JPanelTest extends JFrame { static JPanel panel; static JButton button; int BgImageWidth; int BgImageHeight; public JPanelTest() { // TODO Auto-generated constructor stub Container c = getContentPane(); final Image img = Toolkit.getDefaultToolkit().getImage( JPanelTest.class.getResource("/images/Luxun.jpg")); BgImageWidth = img.getWidth(this); BgImageHeight = img.getHeight(this); panel = new JPanel() { @Override protected void paintComponent(Graphics g) { super.paintComponent(g); // paints the component's background, since this component is opaque Graphics2D g2 = (Graphics2D) g; g2.drawImage(img, 0, 0, BgImageWidth, BgImageHeight, this); } }; c.add(panel, BorderLayout.CENTER); // panel.setPreferredSize(new Dimension(200, 250)); System.out.println(panel.getPreferredSize()); System.out.println(panel.getSize()); button = new JButton("Test"); JButton button2= new JButton("Button 2"); panel.add(button); panel.add(button2); addComponentListener(new ComponentAdapter() { public void componentResized(ComponentEvent e) { System.out.println("here"); System.out.println(panel.getSize()); BgImageWidth = panel.getWidth(); BgImageHeight = panel.getHeight(); panel.repaint(); } }); } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub JPanelTest frame = new JPanelTest(); frame.pack(); frame.setSize(new Dimension(500, 500)); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); System.out.println(panel.getSize()); System.out.println(panel.getPreferredSize()); } }
相关文章推荐
- Java中设置Jpanel的背景
- [JAVA]②重绘JPanel面板,设置窗体背景图片跟随图片变化
- java 在 jpanel中设置背景图片
- [JAVA]①重绘JPanel面板,设置窗体背景图片
- java设置jPanel的背景图
- java 设置JPanelyou 背景图片 并且上层JPanel 不会覆盖下层JPanel背景图片
- java给窗体或面板设置背景图片
- java工程里CSS背景图片路径设置
- JAVA代码设置selector不同状态下的背景颜色
- java使用layerpane设置背景图片
- java如何设置JFrame背景图片
- Java Swing:为JMenuBar(JToolBar)设置背景图片
- JAVA GUI学习 - 窗体背景图片设置方法:重写paintComponent(Graphics g)方法
- java JFrame 设置背景颜色无效的理解
- java frame窗口设置背景图片
- JAVA如何在为窗口设置背景图片
- Java Swing中怎样简单方便的设置背景图片
- android 设置背景图片 xml的background和java的getDrawable()
- Java中Synth外观学习(三)--定制JPanel的背景,使用图片
- java GUI布局与设置背景