已有101人关注
文本域设置背景图片扩展题
发表在Java图书答疑 2020-07-14 《零基础学Java》第11章 Swing程序设计 262页-262页
是否精华
版块置顶:

把下面g.drawImage(image,0,0,this);和super.paint(g);两行代码位置互换,会出现文本域不能输入编辑,为什么?

public class BackgroundJTextArea extends JTextArea {

    private Image image;

    public BackgroundJTextArea(String path) {

        ImageIcon imageIcon = new ImageIcon(path);

        image = imageIcon.getImage();

        setOpaque(false);

    }

    

    @Override

    public void paint(Graphics g) {

        g.drawImage(image, 0, 0, this);//这里

        super.paint(g);//这里

    }

}

///////

public class BackgroundJTextAreaTest extends JFrame {


private JPanel contentPane;


public static void main(String[] args) {

BackgroundJTextAreaTest frame = new BackgroundJTextAreaTest();

frame.setVisible(true);

}


public BackgroundJTextAreaTest() {

setTitle("为文本域设置背景图片");

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setBounds(100, 100, 450, 300);

contentPane = new JPanel();

contentPane.setLayout(new BorderLayout(0, 0));

setContentPane(contentPane);


JScrollPane scrollPane = new JScrollPane();

contentPane.add(scrollPane, BorderLayout.CENTER);


JTextArea textArea = new BackgroundJTextArea("src/b.jpg");

textArea.setLineWrap(true);

textArea.setFont(new Font("微软雅黑", Font.PLAIN, 16));

scrollPane.setViewportView(textArea);

}

}


分享到:
精彩评论 7
根号申
学分:4736 LV12
TA的每日心情
2021-07-16 23:48:46
2020-07-14
沙发

你给出的代码里并没有你说描述的问题

暗夜零
学分:68 LV3
2020-07-14
板凳

根号申 发表于2020-07-14 13:24

你给出的代码里并没有你说描述的问题

把那两行代码位置换一下就会
暗夜零
学分:68 LV3
2020-07-14
地板

根号申 发表于2020-07-14 13:24

你给出的代码里并没有你说描述的问题

上面代码是正常的,两行代码换完就会
根号申
学分:4736 LV12
TA的每日心情
2021-07-16 23:48:46
2020-07-14
4L

我换了代码也没遇到你说的问题。通常都是先执行父类方法,再执行子类的内容,否则容易发生冲突

暗夜零
学分:68 LV3
2020-07-14
5L

根号申 发表于2020-07-14 16:30

我换了代码也没遇到你说的问题。通常都是先执行父类方法,再执行子类的内容,否则容易发生冲突

老师我懂了,drawImage()那行代码写在后面会把输入的文字挡住看不见,要把图片先绘制,文本域在上面就可以,那怎么设置图片能半透明不遮挡?

根号申
学分:4736 LV12
TA的每日心情
2021-07-16 23:48:46
暗夜零
学分:68 LV3
2020-07-15
7L

根号申 发表于2020-07-15 09:22

你可以参考一下网友的代码

https://zhidao.baidu.com/question/161427943.html

好的,谢谢
首页上一页 1 下一页尾页 7 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照