问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java swing换背景图片

发布网友 发布时间:2022-05-02 15:51

我来回答

1个回答

热心网友 时间:2022-06-20 18:12

// 回答完毕,采纳即可

import java.awt.BorderLayout;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Bar extends JPanel
{
private static final long serialVersionUID = 1L;

private JButton open;

private static final int W = 300;

private static final int H = 300;

public Bar()
{
super(new BorderLayout());

JPanel panel = new JPanel();
open = new JButton("打开");
open.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
JDialog dialog = new JDialog();
dialog.setTitle("设置背景图");
dialog.setSize(160, 60);
dialog.setModal(true);
dialog.setLocationRelativeTo(Bar.this);
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
final JComboBox comboBox = new JComboBox(new String[]{ "图片a", "图片b" });
dialog.addWindowListener(new WindowAdapter()
{
@Override
public void windowClosing(WindowEvent e)
{
try
{
int index = comboBox.getSelectedIndex();
switch(index)
{
case 0:
img = ImageIO.read(Bar.class.getResource("a.jpg"));
Bar.this.repaint();
break;
case 1:
img = ImageIO.read(Bar.class.getResource("layout.png"));
Bar.this.repaint();
break;
default:
break;
}
}
catch(IOException e1)
{
e1.printStackTrace();
}
}
});
dialog.add(comboBox);
dialog.setVisible(true);
}
});
panel.add(open);
add(panel, BorderLayout.PAGE_START);
setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
}

Image img = null;

@Override
public void paint(Graphics g)
{
super.paint(g);
g.clearRect(0, 0, W, H);
g.drawImage(img, 0, 0, null);
g.dispose();
}

private static void createAndShowGUI()
{
JFrame frame = new JFrame("bar");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Bar b = new Bar();
b.setOpaque(true);
frame.setContentPane(b);
frame.setSize(W, H);
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}

public static void main(String[] args)
{
javax.swing.SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
createAndShowGUI();
}
});
}
}


声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
ef英语哪个好 EF英孚英语培训怎么样? 英孚英语好不好 EF英孚教育到底好不好 大佬们,麦芒7和荣耀10那个值得入手?2500以下的机子还有啥好推荐的么... 介绍几款2500元以前的手机 像素一定要高 其他的不做要求 近期想入手一部安卓手机,价格2200到2500左右…买HTC desire Z还是 三星... 笔记本忘记开机密码怎么办急死了 笔记本电脑屏幕开机锁忘记密码 怎么办?急死了 华硕笔记本电脑开机密码忘记了怎样找回?系统是Windows 7旗舰版... switch桌面空白图标删除 怎样设定开机时自动切换桌面 为什么腾讯王卡在腾讯视频用不了免流? 腾讯视频看视频不显示王卡免流的标识,是不是意味着不免流量?可是不是只有广告和第三方网站才不免的吗? 为什么现在看腾讯视频没有免流标志? WOW6.0狂暴战属性优先级 WOW6.0狂暴战堆什么属性 5.0WOW战士输出跟T天赋 手法 雕文 以及三维优先级 谢谢 wow 关于战士当T,手法的一些问题。请大家赐教,谢谢 时空裂痕战士T加点,以及拉怪循环, proe图框设置,绘图选项,快捷键 魔兽世界战士当T应该怎么样拉怪。怎么样放技能? cad怎么标注文字 WOW战士T的三围都是什么 WOW 战士T 和 狂暴战 附魔和宝石应该怎么选 wow战士T拉怪手法、技能输出优先级,请稍微写的详细点。 魔兽世界战士T守则? 电脑一个框里一边写字一边放图片怎么操作? wow战士T要哪一类的装备?加什么的?单手武器用什么? 战士T要堆什么属性,躲闪招架,什么的多少才及格。顺便说说战士T拉仇恨怎么稳定 5.2 战士T 需要多少的命中和精准?以及其他属性的优先级。 为什么我的桌面自动更换壁纸没有用了? VC改壁纸 手工外发是做什么的啊? 如何接手工外发? 退货过程中商品损坏谁负责?? 退货途中损坏算谁的 退货时货物有损坏买卖双方都不愿意签收快递公司会怎样处理? 商品损坏还可以退货吗 买家退货如果商品有损坏商家怎么办抖音 退货过程中商品损坏谁负责 淘宝退货,商品损坏,店家可以不退钱吗? 会离婚的女人面相 面相看哪些女人注定会离婚 我的公积金基数7200.我买商品房可以贷41万吗? 住房公积金有7200能贷多少呢? 基本工资7200元,公积金应该交多少? 公积金基数9000是什么意思 牛油果怎么做能做的好吃呢? 匡威帆布鞋黑色双舌的买了1个月就开胶 ,鞋边下面还裂了 ,这样还可以换吗? cad为了有些字体显示清晰,在后面填充了白色图案,打印时怎么让填充不显示