java吧 关注:1,293,858贴子:12,828,872
  • 10回复贴,共1
怎么在一段代码里添加背景图片?
属于一点都不懂的。


IP属地:北京1楼2012-06-03 02:28回复
    什么添加图片 描述详细点


    2楼2012-06-03 02:34
    回复
      2026-01-07 23:56:35
      广告
      不感兴趣
      开通SVIP免广告
      代码发不上来,是一个java小游戏,java窗口,想加一个背景图片,但是不知道怎么加,


      IP属地:北京3楼2012-06-03 02:41
      回复
        swing 不懂 爱莫能助了


        4楼2012-06-03 02:42
        回复
          还是谢谢。


          IP属地:北京5楼2012-06-03 02:43
          回复
            以下转自百度文库
            们在进行图形用户界面编程时,为了做出一个漂亮、个性化的界面,那么界面的背景就必须考虑了。要想灵活使用背景,就一定要对frame的基本有一些了解,因为在java编程中没有直接设置背景的有关方法,了解一些基本知识后我们就可以随意设置背景了。
            首先还是要了解框架JFrame中的层次结构。JFrame中的层次分布及相对关系是:最底层是:JRootPane;第二层是:JlayerPane;最上层就是ContentPane,也正是我们常说的内容面板。所以一般我们拖放的控件就是在ContentPane层上。
            有了这些常识后我们就可以随意设计背景了。在这里笔者提供两种方法为一个frame设置一张背景图片。
            方法一:
            原理:我们把图片放置在第二层:JlayerPane容器上,然后让最上层的:ContentPane透明,这样就实现了背景的设置。(当然把图片放置最低层,让上面两层透明也是可以的)
            具体步骤:
            // 加载背景图片
            ImageIcon bg = new ImageIcon("background.jpg");
            // 把背景图片显示在一个标签里
            JLabel label = new JLabel(bg);
            //把标签的大小位置设置为图片刚好填充整个面
            label.setBounds(0,0,bg.getIconWidth(),bg.getIconHeight());
            //添加图片到frame的第二层
            frame.getLayeredPane().add(label,newInteger(Integer.MIN_VALUE));
            //获取frame的最上层面板为了设置其背景颜色(JPanel有设置透明的方法)
            JPanel jp=(JPanel)frame.getContentPane();
            jp.setOpaque(false);//设置透明
            //测试用的JPanel
            JPanel panel=new JPanel();
            panel.setOpaque(false);//也要让他透明
            panel.setLayout(null);//为了使用按钮的定位
            JButton button=new JButton("OK");
            button.setSize(100, 20);
            button.setLocation(100, 50);
            panel.add(button);
            方法二:
            原理:我们直接在最上层容器内重写paintComponent(Graphics g)方法在容器中画一张图片。(这种方法很直观,原理很简单)
            具体步骤:
            只需要在构造JPanel时重写paintComponent(Graphics g)就ok了。
            class PanelTest extends JPanel{
            ImageIcon background = new ImageIcon("background.jpg");//加载图片
            Image im=Toolkit.getDefaultToolkit().getImage("background.jpg");
            int h,w;
            public void paintComponent(Graphics g) {
            g.drawImage(im, 0, 0, null);
            }
            }
            总结:只要了解了基本原理我们就可以更随意一点设计我们的风格了,我在这了抛砖引玉,希望对初学者有所帮助。


            IP属地:广东6楼2012-06-03 06:21
            回复
              重写底层面板的 paintComponent 方法
              或者干脆用一个 JLabel 做底层,setIcon 设个图片上去


              IP属地:江苏7楼2012-06-03 07:48
              回复


                IP属地:北京8楼2012-06-03 16:05
                回复
                  2026-01-07 23:50:35
                  广告
                  不感兴趣
                  开通SVIP免广告


                  IP属地:北京9楼2012-06-03 16:06
                  回复
                    各位遇到一个这个问题,拦截器是可以指定到对应的java 类的,但是还是报cannot found,帮忙看下,谢谢~~
                    HTTP状态 500 - 内部服务器错误
                    类型 异常报告
                    消息 Servlet[springMVC]的Servlet.init()引发异常
                    描述 服务器遇到一个意外的情况,阻止它完成请求。
                    例外情况
                    javax.servlet.ServletException: Servlet[springMVC]的Servlet.init()引发异常org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589)org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)java.lang.Thread.run(Unknown Source)
                    根本原因。
                    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.handler.MappedInterceptor#1': Cannot create inner bean 'com.bookshop.system.LoginInterceptor#0' of type [com.bookshop.system.LoginInterceptor] while setting constructor argument; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.bookshop.system.LoginInterceptor] for bean with name 'com.bookshop.system.LoginInterceptor#0' defined in ServletContext resource [/WEB-INF/conf/mvc-context.xml]; nested exception is java.lang.ClassNotFoundException: com.bookshop.system.LoginInterceptororg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:631)org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:588)org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:645)org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:508)org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:449)org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:133)javax.servlet.GenericServlet.init(GenericServlet.java:158)
                    根本原因。
                    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.handler.MappedInterceptor#1': Cannot create inner bean 'com.bookshop.system.LoginInterceptor#0' of type [com.bookshop.system.LoginInterceptor] while setting constructor argument; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.bookshop.system.LoginInterceptor] for bean with name 'com.bookshop.system.LoginInterceptor#0' defined in ServletContext resource [/WEB-INF/conf/mvc-context.xml]; nested exception is java.lang.ClassNotFoundException: com.bookshop.system.LoginInterceptororg.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:281)org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:120)org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:616)org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:148) org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:400)org.springframework.context.support.AbstractApplicationContext.getBeansOfType(AbstractApplicationContext.java:1164)org.springframework.beans.factory.BeanFactoryUtils.beansOfTypeIncludingAncestors(BeanFactoryUtils.java:275)org.springframework.web.servlet.handler.AbstractHandlerMapping.detectMappedInterceptors(AbstractHandlerMapping.java:212)org.springframework.web.servlet.handler.AbstractHandlerMapping.initApplicationContext(AbstractHandlerMapping.java:186)org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.initApplicationContext(AbstractHandlerMethodMapping.java:88)org.springframework.context.support.ApplicationObjectSupport.initApplicationContext(ApplicationObjectSupport.java:119)org.springframework.web.context.support.WebApplicationObjectSupport.initApplicationContext(WebApplicationObjectSupport.java:72)org.springframework.context.support.ApplicationObjectSupport.setApplicationContext(ApplicationObjectSupport.java:73)org.springframework.context.support.ApplicationContextAwareProcessor.invokeAwareInterfaces(ApplicationContextAwareProcessor.java:117)org.springframework.context.support.ApplicationContextAwareProcessor.postProcessBeforeInitialization(ApplicationContextAwareProcessor.java:92)org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:394)org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1448)org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
                    java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)java.lang.Thread.run(Unknown Source)
                    根本原因。
                    org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.bookshop.system.LoginInterceptor] for bean with name 'com.bookshop.system.LoginInterceptor#0' defined in ServletContext resource [/WEB-INF/conf/mvc-context.xml]; nested exception is java.lang.ClassNotFoundException: com.bookshop.system.LoginInterceptororg.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1262) org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:508) org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589)org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)java.lang.Thread.run(Unknown Source)
                    根本原因。
                    java.lang.ClassNotFoundException: com.bookshop.system.LoginInterceptororg.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1365)org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1188)org.springframework.util.ClassUtils.forName(ClassUtils.java:258)org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:417)org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1283)org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1254) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)java.lang.Thread.run(Unknown Source)
                    ):注意 主要问题的全部 stack 信息可以在 server logs 里查看
                    Apache Tomcat/9.0.37


                    10楼2020-08-26 11:22
                    收起回复