替JFrame以及JTextArea添加背景图片
为JFrame以及JTextArea添加背景图片
给jframe添加(在jpanel中添加实现):
在jtextArea中添加图片背景:
不过这样显示的黑白的,要变成彩色就做修改:
修改成这样就可以显示全彩
转:http://blog.chinaunix.net/space.php?uid=9195812&do=blog&id=2006417
给jframe添加(在jpanel中添加实现):
import java.awt.event.*; import javax.swing.*; import java.awt.*; public class BackgroundImage extends JFrame { JScrollPane scrollPane; ImageIcon icon; Image image; public BackgroundImage() { icon = new ImageIcon("bgpanel.jpg"); JPanel panel = new JPanel() { protected void paintComponent(Graphics g) { // Dispaly image at at full size g.drawImage(icon.getImage(), 0, 0, null); // Scale image to size of component // Dimension d = getSize(); // g.drawImage(icon.getImage(), 0, 0, d.width, d.height, null); // Fix the image position in the scroll pane // Point p = scrollPane.getViewport().getViewPosition(); // g.drawImage(icon.getImage(), p.x, p.y, null); super.paintComponent(g); } }; panel.setOpaque( false ); panel.setPreferredSize( new Dimension(400, 400) ); scrollPane = new JScrollPane( panel ); getContentPane().add( scrollPane ); JButton button = new JButton( "Hello" ); panel.add( button ); } public static void main(String [] args) { BackgroundImage frame = new BackgroundImage(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(300, 300); frame.setLocationRelativeTo( null ); frame.setVisible(true); } }
在jtextArea中添加图片背景:
import java.awt.BorderLayout; import java.awt.Container; import java.awt.Graphics; import java.awt.Image; import javax.swing.GrayFilter; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; public class BackgroundSample { public static void main(String args[]) { JFrame frame = new JFrame("Background Example"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); final ImageIcon imageIcon = new ImageIcon("parking6.gif"); JTextArea textArea = new JTextArea() { Image image = imageIcon.getImage(); Image grayImage = GrayFilter.createDisabledImage(image); { setOpaque(false); } // instance initializer public void paint(Graphics g) { g.drawImage(grayImage, 0, 0, this); super.paint(g); } }; JScrollPane scrollPane = new JScrollPane(textArea); Container content = frame.getContentPane(); content.add(scrollPane, BorderLayout.CENTER); frame.setSize(250, 250); frame.setVisible(true); } }
不过这样显示的黑白的,要变成彩色就做修改:
// Image grayImage = GrayFilter.createDisabledImage(image); { setOpaque(false); } // instance initializer public void paint(Graphics g) { g.drawImage(imageIcon.getImage(), 0, 0, this); super.paint(g); } };
修改成这样就可以显示全彩
转:http://blog.chinaunix.net/space.php?uid=9195812&do=blog&id=2006417