【发布时间】:2012-01-20 15:37:44
【问题描述】:
我想通过单击按钮将文本区域的图像设置为背景图像。这怎么可能?
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("draft.gif");
JTextArea textArea = new JTextArea() {
Image image = imageIcon.getImage();
Image grayImage = GrayFilter.createDisabledImage(image);
{
setOpaque(false);
}
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);
}
}
这就是我所说的。如何做同样的事情,但使用 actionlistener(点击按钮)
【问题讨论】:
-
到目前为止您尝试过什么?您是否研究过事件监听器,尤其是动作监听器?
-
在调用文本区域的构造函数时,我能够在文本区域中显示背景图像,但我不确定如何使用动作侦听器来执行此操作。
-
关于信息,我在这里处理一个小程序..
-
从您的问题中删除 HTML 标记
-
请按照您的预期检查代码格式。该示例中的格式化代码中缺少两个“} }”。