How to remove line around label image

Discussion in 'Java' started by clusardi2k@aol.com, Aug 20, 2012.

  1. Guest

    How do I remove a line around a label image. I set the background and foreground color to the panel color and put a check in the property opaque checkbox.

    Thank you,
    , Aug 20, 2012
    #1
    1. Advertising

  2. On 8/20/2012 10:18 AM, wrote:
    > How do I remove a line around a label image. I set the background and
    > foreground color to the panel color and put a check in the property
    > opaque checkbox.
    >
    > Thank you,
    >


    We need to see some code. I don't see the problem you describe in the
    code below. Are you using AWT?

    import java.awt.*;
    import java.awt.event.*;
    import java.awt.image.*;
    import java.net.*;
    import javax.swing.*;

    public class test2 extends JPanel {
    private JLabel l;

    public test2() {
    super(new GridBagLayout());

    GridBagConstraints c = new GridBagConstraints();

    setPreferredSize(new Dimension(240,180));
    try {
    // use blue.png if you want to see the image
    URL url = new URL("http://knutejohnson.com/white.png");
    ImageIcon icon = new ImageIcon(url);
    l = new JLabel(icon);
    } catch (MalformedURLException murle) {
    murle.printStackTrace();
    }

    add(l,c);
    }

    public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
    public void run() {
    JFrame f = new JFrame("test2");
    f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    test2 t2 = new test2();
    f.add(t2,BorderLayout.CENTER);
    f.pack();
    f.setVisible(true);
    }
    });
    }
    }



    --

    Knute Johnson
    Knute Johnson, Aug 20, 2012
    #2
    1. Advertising

  3. Eric Sosman Guest

    On 8/20/2012 1:18 PM, wrote:
    > How do I remove a line around a label image. I set the background and foreground color to the panel color and put a check in the property opaque checkbox.
    >
    > Thank you,
    >


    If you're sure the line is not part of the image itself (a border,
    perhaps), please post an SSSCE. This works fine for me:


    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.SwingUtilities;
    public class Foo {
    public static void main(String[] unused) {
    SwingUtilities.invokeLater(new Runnable(){
    @Override
    public void run() {
    JFrame frame = new JFrame("Foo");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    ImageIcon icon = new ImageIcon("icon.jpg");
    frame.add(new JLabel(icon));
    frame.pack();
    frame.setVisible(true);
    }
    });
    }
    }

    --
    Eric Sosman
    d
    Eric Sosman, Aug 20, 2012
    #3
  4. Guest

    > On Monday, August 20, 2012 2:09:26 PM UTC-4, Knute Johnson wrote:
    > We need to see some code. I don't see the problem you describe in the code
    > below. Are you using AWT?


    Here is code that yields a tiny line around the image.

    public class Line extends javax.swing.JFrame
    {
    public Line()
    {
    initComponents();
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

    jLabel1 = new javax.swing.JLabel();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    setBackground(new java.awt.Color(51, 0, 153));
    setForeground(java.awt.Color.orange);

    jLabel1.setText("Remove Tiny Line");

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addGap(149, 149, 149)
    .addComponent(jLabel1)
    .addContainerGap(150, Short.MAX_VALUE))
    );
    layout.setVerticalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addGap(116, 116, 116)
    .addComponent(jLabel1)
    .addContainerGap(168, Short.MAX_VALUE))
    );

    pack();
    }// </editor-fold>


    public static void main(String args[])
    {
    try
    {
    for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels())
    {
    if ("Nimbus".equals(info.getName()))
    {
    javax.swing.UIManager.setLookAndFeel(info.getClassName());

    break;
    }
    }
    } catch (ClassNotFoundException ex) {
    java.util.logging.Logger.getLogger(Line.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (InstantiationException ex) {
    java.util.logging.Logger.getLogger(Line.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (IllegalAccessException ex) {
    java.util.logging.Logger.getLogger(Line.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (javax.swing.UnsupportedLookAndFeelException ex) {
    java.util.logging.Logger.getLogger(Line.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    }
    //</editor-fold>

    java.awt.EventQueue.invokeLater(new Runnable()
    {

    public void run()
    {
    new Line().setVisible(true);
    }
    });
    }
    // Variables declaration - do not modify
    private javax.swing.JLabel jLabel1;
    // End of variables declaration

    }
    , Aug 20, 2012
    #4
  5. On 8/20/2012 12:11 PM, wrote:
    >> On Monday, August 20, 2012 2:09:26 PM UTC-4, Knute Johnson wrote:
    >> We need to see some code. I don't see the problem you describe in the code
    >> below. Are you using AWT?

    >
    > Here is code that yields a tiny line around the image.
    >
    > public class Line extends javax.swing.JFrame
    > {
    > public Line()
    > {
    > initComponents();
    > }
    >
    > @SuppressWarnings("unchecked")
    > // <editor-fold defaultstate="collapsed" desc="Generated Code">
    > private void initComponents() {
    >
    > jLabel1 = new javax.swing.JLabel();
    >
    > setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    > setBackground(new java.awt.Color(51, 0, 153));
    > setForeground(java.awt.Color.orange);
    >
    > jLabel1.setText("Remove Tiny Line");
    >
    > javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    > getContentPane().setLayout(layout);
    > layout.setHorizontalGroup(
    > layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    > .addGroup(layout.createSequentialGroup()
    > .addGap(149, 149, 149)
    > .addComponent(jLabel1)
    > .addContainerGap(150, Short.MAX_VALUE))
    > );
    > layout.setVerticalGroup(
    > layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    > .addGroup(layout.createSequentialGroup()
    > .addGap(116, 116, 116)
    > .addComponent(jLabel1)
    > .addContainerGap(168, Short.MAX_VALUE))
    > );
    >
    > pack();
    > }// </editor-fold>
    >
    >
    > public static void main(String args[])
    > {
    > try
    > {
    > for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels())
    > {
    > if ("Nimbus".equals(info.getName()))
    > {
    > javax.swing.UIManager.setLookAndFeel(info.getClassName());
    >
    > break;
    > }
    > }
    > } catch (ClassNotFoundException ex) {
    > java.util.logging.Logger.getLogger(Line.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    > } catch (InstantiationException ex) {
    > java.util.logging.Logger.getLogger(Line.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    > } catch (IllegalAccessException ex) {
    > java.util.logging.Logger.getLogger(Line.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    > } catch (javax.swing.UnsupportedLookAndFeelException ex) {
    > java.util.logging.Logger.getLogger(Line.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    > }
    > //</editor-fold>
    >
    > java.awt.EventQueue.invokeLater(new Runnable()
    > {
    >
    > public void run()
    > {
    > new Line().setVisible(true);
    > }
    > });
    > }
    > // Variables declaration - do not modify
    > private javax.swing.JLabel jLabel1;
    > // End of variables declaration
    >
    > }
    >


    I'm not seeing any line around the image or the JLabel. A screen shot
    from my Windows XP with Java 7 computer here:
    http://http://knutejohnson.com/line.png. What is your configuration?

    Your code would be a boat load more readable with some imports.

    --

    Knute Johnson
    Knute Johnson, Aug 20, 2012
    #5
  6. On 8/20/2012 12:11 PM, wrote:
    >> On Monday, August 20, 2012 2:09:26 PM UTC-4, Knute Johnson wrote:
    >> We need to see some code. I don't see the problem you describe in the code
    >> below. Are you using AWT?

    >
    > Here is code that yields a tiny line around the image.
    >
    > public class Line extends javax.swing.JFrame
    > {
    > public Line()
    > {
    > initComponents();
    > }
    >
    > @SuppressWarnings("unchecked")
    > // <editor-fold defaultstate="collapsed" desc="Generated Code">
    > private void initComponents() {
    >
    > jLabel1 = new javax.swing.JLabel();
    >
    > setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    > setBackground(new java.awt.Color(51, 0, 153));
    > setForeground(java.awt.Color.orange);
    >
    > jLabel1.setText("Remove Tiny Line");
    >
    > javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    > getContentPane().setLayout(layout);
    > layout.setHorizontalGroup(
    > layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    > .addGroup(layout.createSequentialGroup()
    > .addGap(149, 149, 149)
    > .addComponent(jLabel1)
    > .addContainerGap(150, Short.MAX_VALUE))
    > );
    > layout.setVerticalGroup(
    > layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    > .addGroup(layout.createSequentialGroup()
    > .addGap(116, 116, 116)
    > .addComponent(jLabel1)
    > .addContainerGap(168, Short.MAX_VALUE))
    > );
    >
    > pack();
    > }// </editor-fold>
    >
    >
    > public static void main(String args[])
    > {
    > try
    > {
    > for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels())
    > {
    > if ("Nimbus".equals(info.getName()))
    > {
    > javax.swing.UIManager.setLookAndFeel(info.getClassName());
    >
    > break;
    > }
    > }
    > } catch (ClassNotFoundException ex) {
    > java.util.logging.Logger.getLogger(Line.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    > } catch (InstantiationException ex) {
    > java.util.logging.Logger.getLogger(Line.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    > } catch (IllegalAccessException ex) {
    > java.util.logging.Logger.getLogger(Line.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    > } catch (javax.swing.UnsupportedLookAndFeelException ex) {
    > java.util.logging.Logger.getLogger(Line.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    > }
    > //</editor-fold>
    >
    > java.awt.EventQueue.invokeLater(new Runnable()
    > {
    >
    > public void run()
    > {
    > new Line().setVisible(true);
    > }
    > });
    > }
    > // Variables declaration - do not modify
    > private javax.swing.JLabel jLabel1;
    > // End of variables declaration
    >
    > }
    >


    One other thing to consider is that look and feel must be changed from
    the EDT although I don't think that would cause this problem.

    --

    Knute Johnson
    Knute Johnson, Aug 20, 2012
    #6
  7. Guest

    > On Monday, August 20, 2012 4:14:41 PM UTC-4, Knute Johnson wrote:
    > I'm not seeing any line around the image or the JLabel. A screen shot from my
    > Windows XP with Java 7 computer here:


    Sorry, here is code that has a rock.gif icon attached to a label.

    public class Line extends javax.swing.JFrame
    {
    public Line()
    {
    initComponents();
    }


    //FYI: I use a NetBeans form so the below code is grayed out. I.E.: I can't
    //modify it.
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

    jLabel1 = new javax.swing.JLabel();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    setBackground(new java.awt.Color(51, 0, 153));
    setForeground(java.awt.Color.orange);

    jLabel1.setIcon(new javax.swing.ImageIcon("C:\\Temp\\rock.gif")); // NOI18N
    jLabel1.setText("Remove Tiny Line");

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addGap(149, 149, 149)
    .addComponent(jLabel1)
    .addContainerGap(91, Short.MAX_VALUE))
    );
    layout.setVerticalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addGap(116, 116, 116)
    .addComponent(jLabel1)
    .addContainerGap(136, Short.MAX_VALUE))
    );

    pack();
    }// </editor-fold>


    public static void main(String args[])
    {
    try
    {
    for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels())
    {
    if ("Nimbus".equals(info.getName()))
    {
    javax.swing.UIManager.setLookAndFeel(info.getClassName());

    break;
    }
    }
    } catch (ClassNotFoundException ex) {
    java.util.logging.Logger.getLogger(Line.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (InstantiationException ex) {
    java.util.logging.Logger.getLogger(Line.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (IllegalAccessException ex) {
    java.util.logging.Logger.getLogger(Line.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (javax.swing.UnsupportedLookAndFeelException ex) {
    java.util.logging.Logger.getLogger(Line.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    }
    //</editor-fold>

    java.awt.EventQueue.invokeLater(new Runnable()
    {

    public void run()
    {
    new Line().setVisible(true);
    }
    });
    }
    // Variables declaration - do not modify
    private javax.swing.JLabel jLabel1;
    // End of variables declaration

    }
    , Aug 21, 2012
    #7
  8. Eric Sosman Guest

    On 8/21/2012 8:28 AM, wrote:
    >> On Monday, August 20, 2012 4:14:41 PM UTC-4, Knute Johnson wrote:
    >> I'm not seeing any line around the image or the JLabel. A screen shot from my
    >> Windows XP with Java 7 computer here:

    >
    > Sorry, here is code that has a rock.gif icon attached to a label.
    > [...]


    Ran your code on my system: No tiny line. I'll repeat an
    earlier question: Are you sure this mysterious line isn't part
    of the image you're displaying?

    --
    Eric Sosman
    d
    Eric Sosman, Aug 21, 2012
    #8
  9. On 8/21/2012 5:28 AM, wrote:
    >> On Monday, August 20, 2012 4:14:41 PM UTC-4, Knute Johnson wrote:
    >> I'm not seeing any line around the image or the JLabel. A screen shot from my
    >> Windows XP with Java 7 computer here:

    >
    > Sorry, here is code that has a rock.gif icon attached to a label.
    >
    > public class Line extends javax.swing.JFrame
    > {
    > public Line()
    > {
    > initComponents();
    > }
    >
    >
    > //FYI: I use a NetBeans form so the below code is grayed out. I.E.: I can't
    > //modify it.
    > @SuppressWarnings("unchecked")
    > // <editor-fold defaultstate="collapsed" desc="Generated Code">
    > private void initComponents() {
    >
    > jLabel1 = new javax.swing.JLabel();
    >
    > setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    > setBackground(new java.awt.Color(51, 0, 153));
    > setForeground(java.awt.Color.orange);
    >
    > jLabel1.setIcon(new javax.swing.ImageIcon("C:\\Temp\\rock.gif")); // NOI18N
    > jLabel1.setText("Remove Tiny Line");
    >
    > javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    > getContentPane().setLayout(layout);
    > layout.setHorizontalGroup(
    > layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    > .addGroup(layout.createSequentialGroup()
    > .addGap(149, 149, 149)
    > .addComponent(jLabel1)
    > .addContainerGap(91, Short.MAX_VALUE))
    > );
    > layout.setVerticalGroup(
    > layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    > .addGroup(layout.createSequentialGroup()
    > .addGap(116, 116, 116)
    > .addComponent(jLabel1)
    > .addContainerGap(136, Short.MAX_VALUE))
    > );
    >
    > pack();
    > }// </editor-fold>
    >
    >
    > public static void main(String args[])
    > {
    > try
    > {
    > for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels())
    > {
    > if ("Nimbus".equals(info.getName()))
    > {
    > javax.swing.UIManager.setLookAndFeel(info.getClassName());
    >
    > break;
    > }
    > }
    > } catch (ClassNotFoundException ex) {
    > java.util.logging.Logger.getLogger(Line.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    > } catch (InstantiationException ex) {
    > java.util.logging.Logger.getLogger(Line.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    > } catch (IllegalAccessException ex) {
    > java.util.logging.Logger.getLogger(Line.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    > } catch (javax.swing.UnsupportedLookAndFeelException ex) {
    > java.util.logging.Logger.getLogger(Line.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    > }
    > //</editor-fold>
    >
    > java.awt.EventQueue.invokeLater(new Runnable()
    > {
    >
    > public void run()
    > {
    > new Line().setVisible(true);
    > }
    > });
    > }
    > // Variables declaration - do not modify
    > private javax.swing.JLabel jLabel1;
    > // End of variables declaration
    >
    > }
    >


    Again I'm not seeing any lines but I don't have the image. Post the
    image some place.

    What OS are you using? What Java version?

    Also, the code to set the look and feel must be run on the EDT. Just
    put that code inside the EventQueue.invokeLater run method.

    --

    Knute Johnson
    Knute Johnson, Aug 21, 2012
    #9
  10. Guest

    > On Tuesday, August 21, 2012 9:16:20 AM UTC-4, Eric Sosman wrote:
    > Are you sure this mysterious line isn't part of the image you're displaying? --


    I think the line is indeed part of the image! It's an image just like the dancing baby image.

    Thanks,
    , Aug 21, 2012
    #10
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Piet
    Replies:
    0
    Views:
    508
  2. kaushikshome
    Replies:
    4
    Views:
    753
    kaushikshome
    Sep 10, 2006
  3. Network/Software Buyer
    Replies:
    0
    Views:
    405
    Network/Software Buyer
    May 23, 2010
  4. clusardi2k
    Replies:
    2
    Views:
    361
    Eric Sosman
    Aug 20, 2012
  5. Knut Krueger
    Replies:
    8
    Views:
    254
    Knut Krueger
    Aug 20, 2013
Loading...

Share This Page