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);
}
}
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);
这里过滤了。
// 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/u/21684/showart_258857.html
分享到:
相关推荐
在Java编程中,给面板(Panel)或窗体(JFrame)添加背景图片是一个常见的需求,这不仅可以增加用户界面的美观性,也能提供更丰富的交互体验。以下将详细讲解如何在Java Swing中实现这一功能。 首先,我们需要了解...
在Java Swing中,创建美观的用户界面通常需要对窗体进行一定程度的定制,其中一种常见的需求就是添加背景图片。本文将详细介绍两种在Java Swing中实现窗体添加背景图片的方法,并探讨Swing重绘过程中的`repaint()`和...
在Java编程中,创建带有背景图片的窗体并在此基础上添加控件,如按钮,是一项常见的任务。在GUI(图形用户界面)设计中,这样的视觉效果可以提升用户体验,使应用程序更具吸引力。以下将详细介绍如何在Java中实现这...
添加窗口背景图片.java
本文将分析Swing中窗体设计的组件和方法,从JFrame和JPanel这两个核心组件出发,探讨如何添加背景色、设置窗体大小和可见性以及如何在窗体中添加背景图片。 首先,JFrame是Swing中最常用的容器之一,它代表了一个...
本例子中的"Java使用swing 组件窗体美化的例子.rar"是一个很好的学习资源,它展示了如何利用Swing来设计美观的窗口应用,并且包含窗体风格的动态切换功能。 Swing是Java AWT(Abstract Window Toolkit)的扩展,...
在Java中,可以通过创建`JLabel`组件并将其放置到窗体的顶层来实现背景图像的设置。具体步骤如下: 1. **创建面板**: - 首先创建一个`JPanel`实例,并将其设置为主面板。 ```java JPanel JP = new JPanel(); ...
在Java编程环境中,实现一个能够播放MP3音乐并带有动画效果的窗体是一个结合了多媒体处理和图形用户界面(GUI)设计的任务。本项目利用Java Media Framework (JMF) 和Swing库来创建这个功能丰富的应用程序。以下是...
总的来说,创建一个以图片为背景的Java窗体涉及到`JFrame`和`JPanel`的使用,自定义绘图,图片资源的加载,以及可能的布局管理和外观定制。通过熟练掌握这些技巧,开发者可以创建出极具吸引力且功能齐全的GUI应用...
本篇文章将深入探讨如何使用Java实现一个无系统边框的自定义窗体,并用自定义图片作为窗体背景。以下是实现这个功能的关键步骤和技术细节: 1. **去除系统边框**: 通过调用`JFrame`类的`setUndecorated(true)`...
Java仿Vista窗体风格登录界面是通过Java Swing或JavaFX库实现的一种用户界面设计,旨在为用户提供类似于微软Windows Vista操作系统中的美观、现代的登录体验。在这个项目中,开发者通常会利用Java的图形用户界面...
9. **主题切换**:实现不同主题可能涉及改变GUI的颜色、字体、背景图片等,这需要熟悉Java图形库中的相关方法。 10. **测试与调试**:通过JUnit或其他测试框架进行单元测试,确保游戏规则正确无误,同时进行性能...
在提供的压缩包文件中,可能包含了一些示例代码或者资源文件,如图片、字体等,这些都可以帮助你进一步实现自定义的`JFrame`窗体。记得查看源代码,学习并理解其中的实现细节,以便在自己的项目中应用这些技术。
在这个Java Swing实现的汉诺塔窗体小游戏中,开发者为初学者提供了一个直观的学习平台,通过代码来理解递归和问题解决策略。 首先,`Hanoi11.java`是这个游戏的主要源代码文件。这个文件中,我们可能看到以下关键...
util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...
在Windows应用程序中,主题通常涉及到窗体的外观和感觉,包括背景颜色、字体样式、控件样式等。在C#中,我们可以利用System.Drawing命名空间提供的类来改变这些属性,实现自定义主题。 标题"随机更换窗体界面的主题...
2. **创建窗体**:在选定的开发环境中,通过新建项目并添加窗体,你可以开始设计用户界面。这通常包括设置窗体的大小、位置、背景色,以及添加控件等。 3. **布局管理**:窗体中的控件布局是很关键的一部分。你可以...
在上面的代码中,我们创建了一个 JDialog 窗体,并设置了其背景颜色、添加了一个标签,并设置了窗体的大小和位置。 在使用 JDialog 窗体时,我们还需要将其添加到一个容器中,例如 JFrame 窗体中。下面是一个示例...