怎么用图片做背景啊~~~~~~~  还有怎么用代码画渐变色?

解决方案 »

  1.   

    用图片做背景
    自己用drawImage画吧用代码画渐变色,给你个示例,其实在JDK的DEMO中也有的
    Graphics2D graphics = (Graphics2D) image.getGraphics();
    GradientPaint gradient = new GradientPaint(transitionStart, 0, leftColor, transitionEnd, 0, rightColor);
    graphics.setPaint(gradient);
    graphics.fillRect(transitionStart, 0, transitionEnd - transitionStart, height);
      

  2.   

    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;public class Test
    {    private JFrame frame = new JFrame("背景图片测试");
        
        private JPanel imagePanel ;
        
        private ImageIcon background;
        
        public static void main(String[] args)
        {
            new Test();
        }
        
        public Test()
        {
            background = new ImageIcon("1.jpg");//背景图片
            JLabel label = new JLabel(background);//把背景图片显示在一个标签里面
     //     把标签的大小位置设置为图片刚好填充整个面板
            label.setBounds(0,0,background.getIconWidth(),background.getIconHeight());
     //     把内容窗格转化为JPanel,否则不能用方法setOpaque()来使内容窗格透明       
            imagePanel = (JPanel)frame.getContentPane();
            imagePanel.setOpaque(false);
     //     内容窗格默认的布局管理器为BorderLayout
            imagePanel.setLayout(new FlowLayout());
            imagePanel.add(new JButton("测试按钮"));
            
            frame.getLayeredPane().setLayout(null);
     //     把背景图片添加到分层窗格的最底层作为背景       
            frame.getLayeredPane().add(label,new Integer(Integer.MIN_VALUE));    
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setSize(background.getIconWidth(),background.getIconHeight());
            frame.setVisible(true);
        }
    }