Search code examples
javaswinguser-interfacejtextarea

JTextArea painting Java?


here is the code. don't know why the text area isn't showing the backgroud image

 import java.awt.*;


import javax.swing.*;





 public class UserInterface extends JFrame {
public static void main(String[] args){
    System.out.print("Yes the application is working!");
    drop();
}

 public static void drop(){
   javax.swing.JFrame frame = new javax.swing.JFrame( "FileDrop" );
   //javax.swing.border.TitledBorder dragBorder = new javax.swing.border.TitledBorder( "Drop 'em" );
   JTextArea text = new JTextArea(){

            {setOpaque(false);}
            public void paint (Graphics g)
            {
                     ImageIcon ii=new ImageIcon("/Users/tushar_chutani/Downloads/Play1Disabled.png");  
                    Image image= ii.getImage(); 

                    g.drawImage(image,0,0,null,this);
                    super.paintComponent(g);
            }
        };


   frame.setBounds( 50, 50, 167, 167 );
   frame.setDefaultCloseOperation( frame.EXIT_ON_CLOSE );
   frame.setVisible(true);

}
}

this is the entire code. any help would be apritiated

thanks, TC


Solution

  • The main problem is that you didn't add the text area to the frame.

    Other problems are that you should be invoking paint(), not paintComponent() from the overriden paint() method.

    Also, you should not read the image in the paint() method.