java设置java添加背景图片片的问题,求教

JAVA GUI 设置背景图片的一个问题_百度知道
JAVA GUI 设置背景图片的一个问题
shareid=&amp.uk=" target="_blank">http:<img class="ikqb_img" src="/zhidao/wh%3D600%2C800/sign=/zhidao/pic/item/bcffcef5a90f603ea31.baidu,但是在背景图片这里遇到了点麻烦。谢谢大家了。可能是背景图片设置的问题://pan,希望大家给出详细回答(我的源代码的修改或详细说明)?shareid=/share/uk=我想让他们都到下图这个位置.hiphotos。但是运行后://pan://b./zhidao/wh%3D450%2C600/sign=/share/link.baidu。怎么破。满意可以追加悬赏分://b。显示效果如图<a href="http://b.jpg" esrc="http。源代码在这里
提问者采纳
的程序本身运行就有问题, 50).awt,将背景图标签添加到jframe的LayeredPane面板里;
textJLabel.setFont(new Font(&);
JButton function2JButton = new JButton();
function2JB
function2JBtushuguan.swing.getLayeredPane();), 200.setOpaque(false), 0);/图书馆藏书查询(2013年版)&quot?.*,最后一句报错啊;
JPanel panel = new ImagePanel();
function1JB JPanel panel = new JPanel().add(function4JButton).PLAIN;
g.setLocation(173,你的按钮根本显示不出来;
JButton function1JButton = new JButton().add(function3JButton), 50), 200;
JLabel textJLabel = new JLabel(), ii.setText(&quot.setText(&quot.setDefaultCloseOperation(EXIT_ON_CLOSE).setSize(1024.add(function2JButton);
panel。给你看个;);
function3JButton, 36));
lab1.getImage();.jpg&).setResizable(false);SanSerif&
JButton function4JButton = new JButton().setBounds(150.setHorizontalAlignment(JLabel, -2.setBounds(150.*;
frame.setLayout(null);
frame,运行一下, 200.getIconHeight());
function4JButton.add(function1JButton).jpg&图书馆藏书查询(2013年版)&
JLabel lab1 = new JLabel(ii);
ImageIcon icon = new ImageIcon(&
书籍借阅优化建议&), 325;馆藏书籍结构&quot.setText(&
textJLabel.getContentPane();
function4JButton, 200; 添加图片到frame第二层?
frame, 450;
JPanel jp = (JPanel)
textJLabel。import java, new Integer(Integer, 725), 50), 575;
frame.getIconWidth().setSize(750.add(lab1;
import java.drawImage( }}class ImagePanel extends JPanel { protected void paintComponent(Graphics g) {
textJLabel.setBounds(150.书籍分布规律&quot, 50).setBounds(0;
function1JButton.setText(&
textJLabel, Font.setContentPane(panel);
/public class temp extends JFrame { public static void main(String[] args) {
JFrame frame = new JFrame().
panel, 200, 50);
JButton function3JButton = new JButton();
&#47.setOpaque(false).paintComponent(g);
).setText(&).*.setVisible(true).CENTER).MIN_VALUE));
frame。还有就是去掉你的图片.setLocation(150;关于我们&), 88), 0;
panel.add(textJLabel), ii.setBounds(150, 0, null).setTitle(&
function3JB
ImageIcon ii = new ImageIcon(&quot
可以运行,能说下原理么?最后一句报错?怎么可能呢?是哪句?我这编译还是能运行啊,除了我说的哪些问题?还有就是去掉你的图片,你的按钮根本显示不出来。这是什么意思.
哦,报的错是参数不合法异常,就是你原先最后add panel的那句,我去掉了就不报错了。还有就是frame.setVisible方法我放到了最后,因为你开始放到前面,我这里运行不出来按钮,放到最后一句运行就能看到了。另外,避免背景图片遮挡按钮组件的方法,通常就是:重写Panel类的paintComponent方法,在super.paintComponent方法后,加上自己要画的东西,比如说你的背景图片,这样就能避免每次你用鼠标触发按钮显示的bug。这个方法网上很多有经验的程序员,遇到这个问题基本这么做。
提问者评价
其他类似问题
为您推荐:
其他1条回答
应该是界面没刷新的问题吧
什么意思详细些?界面怎么刷新?
您可能关注的推广回答者:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁共有 3969 人关注过本帖
标题:【求助】如何在java窗体中添加背景图片
等 级:新手上路
结帖率:100%
&&已结贴√
&&问题点数:15&&回复次数:4&&&
【求助】如何在java窗体中添加背景图片
这是我的代码,想在这个窗体中插入同文件夹下的ABC.jpg图片座位背景~~希望各位高手帮帮忙
import java.awt.*;
import java.awt.event.*;
public class ct extends Frame implements ActionListener
&&& static ct frm=new ct();
&&& static MenuBar mb=new MenuBar();
&&& static Menu menu0=new Menu(&文件&);
&&& static Menu menu1=new Menu(&编辑&);
&&& static Menu menu2=new Menu(&查看&);
&&& static Menu menu3=new Menu(&工具&);
&&& static Menu menu4=new Menu(&帮助&);
&&& static MenuItem mi0_1=new Menu(&新建&);
&&& static MenuItem mi0_2=new Menu(&删除&);
&&& static MenuItem mi0_3=new Menu(&重命名&);
&&& static MenuItem mi0_4=new Menu(&属性&);
&&& static MenuItem mi0_5=new MenuItem(&关闭&);
&&& static MenuItem mi1_1=new Menu(&撤销&);
&&& static MenuItem mi1_2=new Menu(&剪切&);
&&& static MenuItem mi1_3=new Menu(&复制&);
&&& static MenuItem mi1_4=new Menu(&粘贴&);
&&& static MenuItem mi1_5=new Menu(&全选&);
&&& static MenuItem mi2_1=new Menu(&刷新&);
&&& static MenuItem mi3_1=new Menu(&设置&);
&&& static MenuItem mi3_2=new Menu(&选项&);
&&& static MenuItem mi4_1=new Menu(&帮助主题&);
&&& static MenuItem mi4_2=new Menu(&关于&);
&&& static Button btn1=new Button(&连&&连&&看&);
&&& static Button btn2=new Button(&俄罗斯方块&);
&&& static Button btn3=new Button(&猜&&&&&&拳&);
&&& static Button btn4=new Button(&猜&&&&&&数&);
&&&public static void initGUI(){
&&&&&&&&frm.setTitle(&管理员界面&);
&&&&&&&&btn1.setBounds(400,100,100,30);
&&&&&&&&btn2.setBounds(550,100,100,30);
&&&&&&&&btn3.setBounds(700,100,100,30);
&&&&&&&&btn4.setBounds(850,100,100,30);
&&&&&&&&frm.add(btn1);
&&&&&&&&frm.add(btn2);
&&&&&&&&frm.add(btn3);
&&&&&&&&frm.add(btn4);
&&&&&&&&mb.add(menu0);
&&&&&&&&mb.add(menu1);
&&&&&&&&mb.add(menu2);
&&&&&&&&mb.add(menu3);
&&&&&&&&mb.add(menu4);
&&&&&&&&menu0.add(mi0_1);
&&&&&&&&menu0.add(mi0_2);
&&&&&&&&menu0.add(mi0_3);
&&&&&&&&menu0.add(mi0_4);
&&&&&&&&menu0.add(mi0_5);
&&&&&&&&menu1.add(mi1_1);
&&&&&&&&menu1.add(mi1_2);
&&&&&&&&menu1.add(mi1_3);
&&&&&&&&menu1.add(mi1_4);
&&&&&&&&menu1.add(mi1_5);
&&&&&&&&menu2.add(mi2_1);
&&&&&&&&menu3.add(mi3_1);
&&&&&&&&menu3.add(mi3_2);
&&&&&&&&menu4.add(mi4_1);
&&&&&&&&menu4.add(mi4_2);
&&&&&&&&mi0_5.addActionListener(frm);
&&&&&&&&mi1_1.addActionListener(frm);
&&&&&&&&mi1_2.addActionListener(frm);
&&&&&&&&mi1_3.addActionListener(frm);
&&&&&&&&mi1_4.addActionListener(frm);
&&&&&&&&mi1_5.addActionListener(frm);
&&&&&&&&mi2_1.addActionListener(frm);
&&&&&&&&mi3_1.addActionListener(frm);
&&&&&&&&mi3_2.addActionListener(frm);
&&&&&&&&mi4_1.addActionListener(frm);
&&&&&&&&mi4_2.addActionListener(frm);
&&&&&&&&frm.setSize();
&&&&&&&&frm.setBackground(Color.yellow);
&&&&&&&&frm.setMenuBar(mb);
&&&&&&&&frm.setVisible(true);
&&&&&&&&frm.addWindowListener(new WindowAdapter()
&&&&&&&&&{
&&&&&&&&&&&&public void windowClosing(WindowEvent e)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& System.exit(0);
&&&&&&&&&&&&}}) ;
&&& public static void main(String args[])
&&&&&&&&initGUI();
&&& public void actionPerformed(ActionEvent e)
&&&&&&&&MenuItem mi=(MenuItem)e.getSource();
&&&&&&&&if(mi==mi0_5)
&&&&&&&&System.exit(0);
&&&&&&&&else if(mi==mi2_1)
&&&&&&&&frm.setBackground(Color.pink);
&&& public void windowClosing(WindowEvent e)
&&&&&&&&frm.dispose();
&&&&&&&&System.exit(0);
搜索更多相关主题的帖子:
等 级:版主
威 望:54
帖 子:2508
专家分:6424
AWT要重写paint, 用Swing方便些, 同意3L版主
[ 本帖最后由 lampeter123 于
10:38 编辑 ]
你的优秀和我的人生无关!!!!
    我要过的,是属于我自己的生活~~~
等 级:贵宾
威 望:14
帖 子:279
专家分:1362
&&得分:15&
设置背景图片要重绘组件。我把你的组件全部换成swing的,代码如下:程序代码:package
import java.awt.C
import java.awt.G
import java.awt.event.ActionE
import java.awt.event.ActionL
import java.awt.event.WindowA
import java.awt.event.WindowE
import javax.swing.ImageI
import javax.swing.JB
import javax.swing.JF
import javax.swing.JL
import javax.swing.JM
import javax.swing.JMenuB
import javax.swing.JMenuI
import javax.swing.JP
public class ct extends JFrame implements ActionListener {
&&& static ct frm = new ct();
&&& static JPanel panel = new JPanel(){
&&&&&&&&public void paintComponent(Graphics g) {
&&&&&&&&&&&&ImageIcon icon = new ImageIcon(&src/lin/1.jpg&);
&&&&&&&&&&&&g.drawImage(icon.getImage(), 0, 0, this.getWidth(), this.getHeight(), this);
&&& static JMenuBar mb = new JMenuBar();
&&& static JMenu menu0 = new JMenu(&文件&);
&&& static JMenu menu1 = new JMenu(&编辑&);
&&& static JMenu menu2 = new JMenu(&查看&);
&&& static JMenu menu3 = new JMenu(&工具&);
&&& static JMenu menu4 = new JMenu(&帮助&);
&&& static JMenuItem mi0_1 = new JMenu(&新建&);
&&& static JMenuItem mi0_2 = new JMenu(&删除&);
&&& static JMenuItem mi0_3 = new JMenu(&重命名&);
&&& static JMenuItem mi0_4 = new JMenu(&属性&);
&&& static JMenuItem mi0_5 = new JMenuItem(&关闭&);
&&& static JMenuItem mi1_1 = new JMenu(&撤销&);
&&& static JMenuItem mi1_2 = new JMenu(&剪切&);
&&& static JMenuItem mi1_3 = new JMenu(&复制&);
&&& static JMenuItem mi1_4 = new JMenu(&粘贴&);
&&& static JMenuItem mi1_5 = new JMenu(&全选&);
&&& static JMenuItem mi2_1 = new JMenuItem(&变色&);
&&& static JMenuItem mi3_1 = new JMenu(&设置&);
&&& static JMenuItem mi3_2 = new JMenu(&选项&);
&&& static JMenuItem mi4_1 = new JMenu(&帮助主题&);
&&& static JMenuItem mi4_2 = new JMenu(&关于&);
&&& static JLabel lab = new JLabel(&我的窗体&, JLabel.CENTER);
&&& static JButton btn1 = new JButton(&连&&连&&看&);
&&& static JButton btn2 = new JButton(&俄罗斯方块&);
&&& static JButton btn3 = new JButton(&猜&&&&&&拳&);
&&& static JButton btn4 = new JButton(&猜&&&&&&数&);
&&& public static void initGUI() {
&&&&&&&&frm.setTitle(&管理员界面&);
&&&&&&&&btn1.setBounds(400, 100, 100, 30);
&&&&&&&&btn2.setBounds(550, 100, 100, 30);
&&&&&&&&btn3.setBounds(700, 100, 100, 30);
&&&&&&&&btn4.setBounds(850, 100, 100, 30);
&&&&&&&&frm.add(btn1);
&&&&&&&&frm.add(btn2);
&&&&&&&&frm.add(btn3);
&&&&&&&&frm.add(btn4);
&&&&&&&&mb.add(menu0);
&&&&&&&&mb.add(menu1);
&&&&&&&&mb.add(menu2);
&&&&&&&&mb.add(menu3);
&&&&&&&&mb.add(menu4);
&&&&&&&&menu0.add(mi0_1);
&&&&&&&&menu0.add(mi0_2);
&&&&&&&&menu0.add(mi0_3);
&&&&&&&&menu0.add(mi0_4);
&&&&&&&&menu0.add(mi0_5);
&&&&&&&&menu1.add(mi1_1);
&&&&&&&&menu1.add(mi1_2);
&&&&&&&&menu1.add(mi1_3);
&&&&&&&&menu1.add(mi1_4);
&&&&&&&&menu1.add(mi1_5);
&&&&&&&&menu2.add(mi2_1);
&&&&&&&&menu3.add(mi3_1);
&&&&&&&&menu3.add(mi3_2);
&&&&&&&&menu4.add(mi4_1);
&&&&&&&&menu4.add(mi4_2);
&&&&&&&&mi0_5.addActionListener(frm);
&&&&&&&&mi1_1.addActionListener(frm);
&&&&&&&&mi1_2.addActionListener(frm);
&&&&&&&&mi1_3.addActionListener(frm);
&&&&&&&&mi1_4.addActionListener(frm);
&&&&&&&&mi1_5.addActionListener(frm);
&&&&&&&&mi2_1.addActionListener(frm);
&&&&&&&&mi3_1.addActionListener(frm);
&&&&&&&&mi3_2.addActionListener(frm);
&&&&&&&&mi4_1.addActionListener(frm);
&&&&&&&&mi4_2.addActionListener(frm);
&&&&&&&&panel.add(lab);
//&&&&&&&&panel.setBackground(Color.yellow);
&&&&&&&&frm.getContentPane().add(panel);
&&&&&&&&frm.setSize();
&&&&&&&&frm.setJMenuBar(mb);
&&&&&&&&frm.setVisible(true);
&&&&&&&&frm.addWindowListener(new WindowAdapter() {
&&&&&&&&&&&&public void windowClosing(WindowEvent e) {
&&&&&&&&&&&&&&& System.exit(0);
&&&&&&&&&&&&}
&&&&&&&&});
&&& public static void main(String args[]) {
&&&&&&&&initGUI();
&&&&&&&&frm.setVisible(false);
&&&&&&&&frm.setBackground(Color.yellow);
&&&&&&&&frm.setVisible(true);
&&& public void actionPerformed(ActionEvent e) {
&&&&&&&&JMenuItem mi = (JMenuItem) e.getSource();
&&&&&&&&if (mi == mi0_5)
&&&&&&&&&&&&System.exit(0);
&&&&&&&&else if (mi == mi2_1) {
&&&&&&&&&&&&panel.setBackground(Color.pink);// 使窗体改变背景颜色
&&& public void windowClosing(WindowEvent e) {
&&&&&&&&frm.dispose();
&&&&&&&&System.exit(0);
等 级:新手上路
回复 3楼 linjx0123
~~非常感谢~~
等 级:新手上路
在这个代码中怎么添加背景图片
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class MainMenu implements ActionListener
&&& JFrame&&
&&& JMenuItem&&&add,update,select,delete,
&&& JMenu&&&option,
&&& JMenuBar&&
&&& MainMenu()
&&&&&&frame=new JFrame(&欢迎登录学生信息系统 &);
&&&&&&frame.setVisible(true);
&&&&&&frame.setLocation(300,200);
&&&&&&frame.setSize(400,300);
&&&&&&frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
&&&&&&add=new JMenuItem(&录入学生基本信息&);
&&&&&&update=new JMenuItem(&修改学生基本信息&);
&&&&&&select=new JMenuItem(&查询学生基本信息&);
&&&&&&delete=new JMenuItem(&删除学生基本信息&);
&&&&&&exit=new JMenuItem(&退出系统&);
&&&&&&add.addActionListener(this);
&&&&&&update.addActionListener(this);
&&&&&&select.addActionListener(this);
&&&&&&delete.addActionListener(this);
&&&&&&exit.addActionListener(this);
&&&&&&JMenu&&option=new JMenu(&选择&);
&&&&&&JMenu&&cancel=new JMenu(&退出&);
&&&&&&option.add(add);
&&&&&&option.add(update);
&&&&&&option.add(select);
&&&&&&option.add(delete);
&&&&&&cancel.add(exit);
&&&&&&JMenuBar&&bar=new JMenuBar();
&&&&&&bar.add(option);
&&&&&&bar.add(cancel);
&&&&&&frame.setJMenuBar(bar);
&&& public void actionPerformed(ActionEvent e)
&&&&&&&&if(e.getSource()==add)
&&&&&&&&{&&&
&&&&&&&&&&&&new&&AddWindow();
&&&&&&&&&&&&frame.setVisible(false);
&&&&&&&&if(e.getSource()==delete)
&&&&&&&&{&&&
&&&&&&&&&&&&new&&DeleteWindow();
&&&&&&&&&&&&frame.setVisible(false);
&&&&&&&&if(e.getSource()==exit)
&&&&&&&&&&&&System.exit(0);
&&&&&&&&public static void main(String args[])
&&&&&&&&&&&&new MainMenu();
版权所有,并保留所有权利。
Powered by , Processed in 0.028994 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reservedjava GUI编程怎样设置这样的背景图片?求高手指教一二_百度知道
java GUI编程怎样设置这样的背景图片?求高手指教一二
;jsO dlmOne&static&&DefaultListModel&& {&import&Two字符串;dlmT{&/zhidao/pic/item/3b292df5e0fe99250a7dbf9234a85edf8cb171new& jsOne.JL dlmTwo&nbsp.swing://g; listTwo&&nbsp!;();+&dlmO }&DefaultListModel&&&JPanel& &JScrollPane(); listOpublic&listTnew&&500); &nbsp.i).com/zhidao/wh%3D600%2C800/sign=6b88b22881cb39dbc251c/3b292df5e0fe99250a7dbf9234a85edf8cb171fb,&public&&&import&JPanel().jpg" />import&nbsp:& &new&求大牛帮忙; &new&TestC()&&& listO&&nbsp:&&nbsp.DefaultListM&&nbsp.setFixedCellHeight(20).com/zhidao/wh%3D450%2C600/sign=e42a33e4e93300cacafb/3b292df5e0fe99250a7dbf9234a85edf8cb171fb.dlmTwo.setView(listTwo); listT jsOne& for& jpl&&DefaultListModel&lt,字符串显示在背景图片上)<img class="ikqb_img" src="args)&}}&&String&one& listOne&{&two&quot.setView(listOne);One字符串;main(String[]&&JList&&=&javax.getViewport();&JTabbedPane().hiphotos.&&nbsp.JF0;import&nbsp.setFixedCellWidth(150);JTabbedPane& listO=&nbsp.JScrollP&jsTwo,&TestC();new&&=&nbsp:(我想设置如图所示地方的背景图片.setVisibleRowCount(18); new&JList(); jtabp& jsT&i&class&import&nbsp.addElement(&dlmO&nbsp.add(&quot.getViewport();&new&void& listOne.jpg" esrc="http.JTabbedPane.10.jtabp. jsTwo&nbsp://g;}&TestC&&&JList().add(&&public&&nbsp://g;=&JFrame{&JScrollPane&nbsp.import&new&nbsp.setModel(dlmOne); setDefaultCloseOperation(EXIT_ON_CLOSE);&nbsp,怎么设置; setSize(300; &nbsp.JP&&i);i++)&&&nbsp.&JScrollPane(); && setVisible(true);+& add(jpl);=&nbsp.add(jtabp);&listOne,&=&JScrollPane&nbsp.setModel(dlmTwo);=&nbsp,jsTwo);String&&nbsp,jsOne);.addElement(&quot.=& &String&=&& &nbsp.(); &new&extends&javax代码如下
提问者采纳
覆盖 public void paint(Graphics g)方法,要重写ListCellRenderer类。如果列表内容也要修改指一下方向 ,对SWING有点熟就可以,用起来不是很难空白的 整个的背景
提问者评价
来自团队:
其他类似问题
为您推荐:
您可能关注的推广
背景图片的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁求助,关于背景图片的一点小问题_java吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:272,140贴子:
求助,关于背景图片的一点小问题收藏
下面是我的源码,背景不管我怎么写都无法按照图片的分辨率大小显示,虽然我设置了,还是只显示图片的一部分,就像第一张图片那样,第二张是我拉大了框架查看的package Text2;import java.awt.event.KeyAimport java.awt.event.KeyEimport javax.swing.*;class FrameDome extends KeyAdapter{static int x = 0;static int y = 0;private JFrame jf = new JFrame();private ImageIcon image = new ImageIcon(&C:\\Users\\hjw\\Desktop\\7.png&);//分辨率500*500private ImageIcon image_0 = new ImageIcon(&C:\\Users\\hjw\\Desktop\\s.png&);//分辨率50*50private JLabel jl = new JLabel(image);private JLabel jl_0 = new JLabel(image_0);public FrameDome(){jf.setSize(500,500);jf.setVisible(true);jf.setResizable(true);jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jf.setLayout(null);jl_0.setBounds(x, y, image_0.getIconWidth(), image_0.getIconHeight());jl.setBounds(0, 0,image.getIconWidth(),image.getIconHeight());jf.addKeyListener(new KeyAdapter() {public void keyPressed(KeyEvent e){char c = e.getKeyChar();if(c==&#39;s&#39;){y+=50;jl_0.setLocation(x, y);}if(c==&#39;w&#39;){y -=50;jl_0.setLocation(x, y);}if(c==&#39;a&#39;){x-=50;jl_0.setLocation(x, y);}if(c==&#39;d&#39;){x+=50;jl_0.setLocation(x, y);}}});jl.add(jl_0);jf.add(jl);}}public class PlayerMove {public static void main(String[] args) {new FrameDome();}}
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或

我要回帖

更多关于 java jframe 背景图片 的文章

 

随机推荐