JFrameとJTextAreaに背景画像を追加します



Add Background Image Jframe



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