🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.jbuilder.java.swing
Article #1350

Re: jpanel and borders stange behauviour

#1350
From: Sven Goetgeluck
Date: Fri, 16 Jan 2004 22:17
496 lines
18468 bytes
thanks for answer ,
whet exactly is my problem

when i add a button to my panel
the button is displayed just perfect , the top of button is equal to the top
of the pannel added to
but when is add this panel to another panel there is a border around the
panel  with my button on it
this problem comes when running application in jdk 1.4 but i dont have this
when running on 1.2

hereby the code of the videocontrolpanel , this pannel has 9 buttons on it
to control an video

the panel is added to another panel (lets call menubuttonpanel) wich i use
as a buttonpanel on my mainframe just below the menubar
where there is also a jlabel on it and in the future a jcombobox the reason
for grouping the other buttons is because i reuse the panel somewhere else

package video;

import java.util.*;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
import vrex4.*;

public class VideoControllPanel
    extends JPanel {
  JButton menubarplayButton = new JButton();
  JButton menubarmuteButton = new JButton();
  JButton menubarloopButton = new JButton();
  JButton menubarstopButton = new JButton();
  JButton menubarreverseButton = new JButton();
  JButton menubarfotoButton = new JButton();
  JButton menubarforwardButton = new JButton();
  JButton menubarendButton = new JButton();
  JButton menubarbackwardButton = new JButton();
  private ResourceBundle recources;
  private ResourceBundle images;
  VideoWindow videopanel = null;
  boolean mute = false;
  boolean loopmode = false;
  private ImageIcon loopinimage = null;
  private ImageIcon loopimage = null;
  Frame1 parent = null;
  GridLayout gridLayout = new GridLayout(1,9);
  JToolBar toolbar = new JToolBar();
  Color bcolor = new Color(76,90,109);
  public VideoControllPanel(Frame1 p, ResourceBundle r, ResourceBundle i) {
    try {
      parent = p;
      images = i;
      recources = r;

      jbInit();
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }
  }

  public void setVideoWindow(VideoWindow video) {
    videopanel = video;
  }

  private void jbInit() throws Exception {
    loopinimage = new ImageIcon(images.getString("LOOPIN"));
    loopimage = new ImageIcon(images.getString("LOOP"));
    toolbar.setLayout(gridLayout);
    toolbar.setFloatable(false);

    setBackground(bcolor);
    setForeground(bcolor);
    toolbar.setBackground(bcolor);
    toolbar.setForeground(bcolor);

    this.setBorder(new EmptyBorder(0,0,0,0));
    toolbar.setBorder(new EmptyBorder(0,0,0,0));

    menubarplayButton.setBackground(bcolor);
    menubarplayButton.setMaximumSize(new Dimension(50, 20));
    menubarplayButton.setMinimumSize(new Dimension(50, 20));
    menubarplayButton.setPreferredSize(new Dimension(50, 20));
    menubarplayButton.setMargin(new Insets(0, 0, 0, 0));
    menubarplayButton.setIcon(new ImageIcon(images.getString("PLAY")));
    menubarplayButton.setPressedIcon(new
ImageIcon(images.getString("PLAY_IN")));
    menubarplayButton.setRolloverIcon(new
ImageIcon(images.getString("PLAY_OUT")));
    menubarplayButton.setBorderPainted(false);
    menubarplayButton.setContentAreaFilled(false);

    menubarplayButton.setFocusPainted(false);
    menubarplayButton.setToolTipText(recources.getString("PLAY_TOOLTIP"));
    menubarplayButton.addActionListener(new java.awt.event.ActionListener()
{

      public void actionPerformed(ActionEvent e) {
        menubarplayButton_actionPerformed(e);
      }
    });

    menubarmuteButton.setBackground(bcolor);
    menubarmuteButton.setMaximumSize(new Dimension(50, 20));
    menubarmuteButton.setMinimumSize(new Dimension(50, 20));
    menubarmuteButton.setPreferredSize(new Dimension(50, 20));
    menubarmuteButton.setMargin(new Insets(0, 0, 0, 0));
    menubarmuteButton.setIcon(new ImageIcon(images.getString("MUTE")));
    menubarmuteButton.setPressedIcon(new
ImageIcon(images.getString("MUTE_IN")));
    menubarmuteButton.setRolloverIcon(new
ImageIcon(images.getString("MUTE_OUT")));
    menubarmuteButton.setBorderPainted(false);
    menubarmuteButton.setFocusPainted(false);
    menubarmuteButton.setToolTipText(recources.getString("PLAY_TOOLTIP"));

    menubarmuteButton.addActionListener(new java.awt.event.ActionListener()
{

      public void actionPerformed(ActionEvent e) {
        menubarmuteButton_actionPerformed(e);
      }
    });
    menubarloopButton.setBackground(bcolor);
    menubarloopButton.setMaximumSize(new Dimension(50, 20));
    menubarloopButton.setMinimumSize(new Dimension(50, 20));
    menubarloopButton.setPreferredSize(new Dimension(50, 20));
    menubarloopButton.setMargin(new Insets(0, 0, 0, 0));
    menubarloopButton.setIcon(new ImageIcon(images.getString("LOOP")));
    menubarloopButton.setPressedIcon(new
ImageIcon(images.getString("LOOP_IN")));
    menubarloopButton.setRolloverIcon(new
ImageIcon(images.getString("LOOP_OUT")));
    menubarloopButton.setBorderPainted(false);
    menubarloopButton.setFocusPainted(false);
    menubarloopButton.setToolTipText(recources.getString("LOOP_TOOLTIP"));
    menubarloopButton.addActionListener(new java.awt.event.ActionListener()
{

      public void actionPerformed(ActionEvent e) {
        menubarloopButton_actionPerformed(e);
      }
    });

    menubarstopButton.setBackground(bcolor);
    menubarstopButton.setMaximumSize(new Dimension(50, 20));
    menubarstopButton.setMinimumSize(new Dimension(50, 20));
    menubarstopButton.setPreferredSize(new Dimension(50, 20));
    menubarstopButton.setMargin(new Insets(0, 0, 0, 0));
    menubarstopButton.setIcon(new ImageIcon(images.getString("STOP")));
    menubarstopButton.setPressedIcon(new
ImageIcon(images.getString("STOP_IN")));
    menubarstopButton.setRolloverIcon(new
ImageIcon(images.getString("STOP_OUT")));
    menubarstopButton.setBorderPainted(false);
    menubarstopButton.setFocusPainted(false);
    menubarstopButton.setToolTipText(recources.getString("STOP_TOOLTIP"));
    menubarstopButton.addActionListener(new java.awt.event.ActionListener()
{

      public void actionPerformed(ActionEvent e) {
        menubarstopButton_actionPerformed(e);
      }
    });

    menubarreverseButton.setBackground(bcolor);
    menubarreverseButton.setMaximumSize(new Dimension(50, 20));
    menubarreverseButton.setMinimumSize(new Dimension(50, 20));
    menubarreverseButton.setPreferredSize(new Dimension(50, 20));
    menubarreverseButton.setMargin(new Insets(0, 0, 0, 0));
    menubarreverseButton.setIcon(new
ImageIcon(images.getString("REVERSE")));
    menubarreverseButton.setPressedIcon(new ImageIcon(images.getString(
        "REVERSE_IN")));
    menubarreverseButton.setRolloverIcon(new ImageIcon(images.getString(
        "REVERSE_OUT")));
    menubarreverseButton.setBorderPainted(false);
    menubarreverseButton.setFocusPainted(false);

menubarreverseButton.setToolTipText(recources.getString("REVERSE_TOOLTIP"));
    menubarreverseButton.addActionListener(new
java.awt.event.ActionListener() {

      public void actionPerformed(ActionEvent e) {
        menubarreverseButton_actionPerformed(e);
      }
    });
    menubarreverseButton.addMouseListener(new java.awt.event.MouseAdapter()
{

      public void mousePressed(MouseEvent e) {
        videopanel.doSomething("FastBackwardBegin");

      }

      public void mouseReleased(MouseEvent e) {
        videopanel.doSomething("FastBackwardEnd");
      }
    });

    menubarfotoButton.setBackground(bcolor);
    menubarfotoButton.setBorder(null);
    menubarfotoButton.setMaximumSize(new Dimension(50, 20));
    menubarfotoButton.setMinimumSize(new Dimension(50, 20));
    menubarfotoButton.setPreferredSize(new Dimension(50, 20));
    menubarfotoButton.setMargin(new Insets(0, 0, 0, 0));
    menubarfotoButton.setIcon(new ImageIcon(images.getString("PHOTO")));
    menubarfotoButton.setPressedIcon(new
ImageIcon(images.getString("PHOTO_IN")));
    menubarfotoButton.setRolloverIcon(new ImageIcon(images.getString(
        "PHOTO_OUT")));
    menubarfotoButton.setBorderPainted(false);
    menubarfotoButton.setFocusPainted(false);

menubarfotoButton.setToolTipText(recources.getString("SNAPSHOT_TOOLTIP"));
    menubarfotoButton.addActionListener(new java.awt.event.ActionListener()
{

      public void actionPerformed(ActionEvent e) {
        menubarfotoButton_actionPerformed(e);
      }
    });

    menubarforwardButton.setBackground(bcolor);
    menubarforwardButton.setMaximumSize(new Dimension(50, 20));
    menubarforwardButton.setMinimumSize(new Dimension(50, 20));
    menubarforwardButton.setPreferredSize(new Dimension(50, 20));
    menubarforwardButton.setMargin(new Insets(0, 0, 0, 0));
    menubarforwardButton.setIcon(new
ImageIcon(images.getString("FORWARD")));
    menubarforwardButton.setPressedIcon(new ImageIcon(images.getString(
        "FORWARD_IN")));
    menubarforwardButton.setRolloverIcon(new ImageIcon(images.getString(
        "FORWARD_OUT")));
    menubarforwardButton.setBorderPainted(false);
    menubarforwardButton.setFocusPainted(false);

menubarforwardButton.setToolTipText(recources.getString("FORWARD_TOOLTIP"));
    menubarforwardButton.addActionListener(new
java.awt.event.ActionListener() {

      public void actionPerformed(ActionEvent e) {
        menubarforwardButton_actionPerformed(e);
      }
    });
    menubarforwardButton.addMouseListener(new java.awt.event.MouseAdapter()
{

      public void mousePressed(MouseEvent e) {
        videopanel.doSomething("FastForwardBegin");

      }

      public void mouseReleased(MouseEvent e) {
        videopanel.doSomething("FastForwardEnd");
      }
    });
    menubarbackwardButton.setBackground(bcolor);
    menubarbackwardButton.setMaximumSize(new Dimension(50, 20));
    menubarbackwardButton.setMinimumSize(new Dimension(50, 20));
    menubarbackwardButton.setPreferredSize(new Dimension(50, 20));
    menubarbackwardButton.setMargin(new Insets(0, 0, 0, 0));
    menubarbackwardButton.setIcon(new
ImageIcon(images.getString("BACKWARD")));
    menubarbackwardButton.setPressedIcon(new ImageIcon(images.getString(
        "BACKWARD_IN")));
    menubarbackwardButton.setRolloverIcon(new ImageIcon(images.getString(
        "BACKWARD_OUT")));
    menubarbackwardButton.setBorderPainted(false);
    menubarbackwardButton.setFocusPainted(false);

menubarbackwardButton.setToolTipText(recources.getString("BACKWARD_TOOLTIP")
);
    menubarbackwardButton.addActionListener(new
java.awt.event.ActionListener() {

      public void actionPerformed(ActionEvent e) {
        menubarbackwardButton_actionPerformed(e);
      }
    });

    menubarendButton.setBackground(bcolor);
    menubarendButton.setMaximumSize(new Dimension(50, 20));
    menubarendButton.setMinimumSize(new Dimension(50, 20));
    menubarendButton.setPreferredSize(new Dimension(50, 20));
    menubarendButton.setMargin(new Insets(0, 0, 0, 0));
    menubarendButton.setIcon(new ImageIcon(images.getString("END")));
    menubarendButton.setPressedIcon(new
ImageIcon(images.getString("END_IN")));
    menubarendButton.setRolloverIcon(new
ImageIcon(images.getString("END_OUT")));
    menubarendButton.setBorderPainted(false);
    menubarendButton.setFocusPainted(false);
    menubarendButton.setToolTipText(recources.getString("END_TOOLTIP"));
    menubarendButton.addActionListener(new java.awt.event.ActionListener() {

      public void actionPerformed(ActionEvent e) {
        menubarendButton_actionPerformed(e);
      }
    });

    toolbar.add(menubarloopButton, null);
    toolbar.add(menubarreverseButton, null);
    toolbar.add(menubarbackwardButton, null);
    toolbar.add(menubarstopButton, null);
    toolbar.add(menubarplayButton, null);

    toolbar.add(menubarendButton, null);
    toolbar.add(menubarforwardButton, null);
    toolbar.add(menubarfotoButton, null);
    toolbar.add(menubarmuteButton, null);
    this.add(toolbar);
  }

  void menubarbackwardButton_actionPerformed(ActionEvent e) {
    videopanel.doSomething("Backward");

  }

  void menubarendButton_actionPerformed(ActionEvent e) {
    videopanel.doSomething("Forward");
  }

  void menubarforwardButton_actionPerformed(ActionEvent e) {

  }

  void menubarfotoButton_actionPerformed(ActionEvent e) {
    videopanel.doSomething("SnapShot");
  }

  void menubarreverseButton_actionPerformed(ActionEvent e) {

  }

  void menubarstopButton_actionPerformed(ActionEvent e) {
    videopanel.doSomething("Stop");
  }

  void menubarloopButton_actionPerformed(ActionEvent e) {
    loopmode = !loopmode;
    parent.loopmode = loopmode;

    if (loopmode == true) {
      menubarloopButton.setIcon(loopinimage);
    }
    else {
      menubarloopButton.setIcon(loopimage);
    }
    videopanel.setLoop(loopmode);
  }

  void menubarmuteButton_actionPerformed(ActionEvent e) {
    mute = !mute;
    parent.mute = mute;
    videopanel.setMuteMode(mute);
    if (mute == false) {
      menubarmuteButton.setIcon(new ImageIcon(images.getString("MUTE_IN")));
    }
    else {
      menubarmuteButton.setIcon(new ImageIcon(images.getString("MUTE")));
    }
    videopanel.doSomething("Mute");

  }

  void menubarplayButton_actionPerformed(ActionEvent e) {
    videopanel.doSomething("Play");

  }

  public void hideMovieButtons() {
    menubarplayButton.setVisible(false);
    menubarmuteButton.setVisible(false);
    menubarloopButton.setVisible(false);
    menubarstopButton.setVisible(false);
    menubarreverseButton.setVisible(false);
    menubarfotoButton.setVisible(false);
    menubarforwardButton.setVisible(false);
    menubarendButton.setVisible(false);
    menubarbackwardButton.setVisible(false);
  }



}


this is my mainframe where i add this panel to
// the panel with all my buttons on it

  videocontrol = new VideoControllPanel(this, this.recources, this.images);
  videocontrol.setBorder(null);

// a jtoolbar where there a ljabel is on it and the videocontrol
    JLabel betaButton = new JLabel("testlabel");

    JToolBar movieToolBar = new JToolBar();
    movieToolBar.add(betaButton);
    // separator
    movieToolBar.add(sp, null);
   //the videocontrol
    movieToolBar.add(videocontrol, null);
    movieToolBar.setBackground(new java.awt.Color(76, 90, 109));
    movieToolBar.setForeground(new java.awt.Color(76, 90, 109));
    movieToolBar.setAlignmentX( (float) 0.0);
    movieToolBar.setBorder(null);
    movieToolBar.setBorderPainted(false);
    movieToolBar.setMargin(new Insets(0, 0, 0, 0));
    movieToolBar.setFloatable(false);

this is what we have
||   <JLABEL>     <-   space ->
[button1][button2][button3][button4]   ||

second jtoolbar is general toolbar
[buttonA][buttonB][buttonC][buttonD][buttonE]


//now i add the panel to the frame on this panel i have 2 jtoolbars
   this.getContentPane().add(buttonpanel, BorderLayout.NORTH);
   buttonpanel.add(toolbar,   new PaneConstraints("toolbar", "toolbar",
PaneConstraints.ROOT, 0.6f));
  buttonpanel.add(movieToolBar,    new PaneConstraints("jToolBar1",
"toolbar",    PaneConstraints.BOTTOM, 0.3f));

so this must be the total look of my buttonpanels

<menu>
||   [buttonA][buttonB][buttonC][buttonD][buttonE]
||
||   <JLABEL>     <-   space ->
[button1][button2][button3][button4]   ||

hope this is better expained

greetings Sven


"Paul Furbacher" <pfurbacher@mac.com> schreef in bericht
news:40084176$2@newsgroups.borland.com...
> Sven Goetgeluck wrote:
>
> > I have a jpanel where i add a jpanel component to
> > but ther is a border around the last panel
> > short explanation what i want to do
> >
> > a have a buttonpanel where i have put some buttons on it
> > this pannel is added to another panel where there is also a jlabel on it
so
> > i can display tips to the label when i pass the buttons but the anoyong
> > thing is that adding a panel to the other panel there is a border around
and
> > so the buttons arent alignt top to the upper paneltop
> >
> > hope this is clear what i mean
>
> Sort of, but not exactly.
>
> > did started when using jdk 1.4 didn't never had it in 1.2
> >
> > hereby some code that may help
>
> Actually, it would be more help if the
> code were complete, and the barest example
> possible.  You presented code which depended
> on a lot of things that a reader would have
> to guess at.  The code should be such
> that a reader could snip it, paste
> it into a few files in a new project,
> compile and run ... without extensive
> editing or imagining.
>
> Try to post the barebones example of
> what is going on, if you can.  By working
> up such an example, you may discover
> what is causing the problem.
>
>
> -- 
>
>
> Paul Furbacher (TeamB)
>
>    Save time, search the archives:
>         http://www.borland.com/newsgroups/ngsearch.html
>
>    Is it in Joi Ellis's Faq-O-Matic?
>         http://www.visi.com/~gyles19/fom-serve/cache/1.html
>
>    Finally, please send responses to the newsgroup only.
>    That means, do not send email directly to me.
>    Thank you.
Technical Details
Message-ID: <4008630b@newsgroups.borland.com>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!newsfeed2.dallas1.level3.net!news.level3.com!zeus.visi.com!priapus.visi.com!orange.octanews.net!news.octanews.net!news-out.visi.com!petbe.visi.com!newsfeeds.sol.net!news-hog.berkeley.edu!ucberkeley!203.109.252.33.MISMATCH!newsfeeds.ihug.co.nz!ihug.co.nz!newsgroups.borland.com!not-for-mail
References: <40072ea6$1@newsgroups.borland.com> <40084176$2@newsgroups.borland.com>

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 111d45,bdf82a54cfa1b9fa
X-Google-Attributes: gid111d45,public
X-Google-ArrivalTime: 2004-01-16 14:35:36 PST
From: "Sven Goetgeluck" <sven.goetgeluck@pandora.be>
Newsgroups: borland.public.jbuilder.java.swing
References: <40072ea6$1@newsgroups.borland.com> <40084176$2@newsgroups.borland.com>
Subject: Re: jpanel and borders stange behauviour
Date: Fri, 16 Jan 2004 23:17:48 +0100
Lines: 498
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
NNTP-Posting-Host: 213.224.11.244
Message-ID: <4008630b@newsgroups.borland.com>
X-Trace: newsgroups.borland.com 1074291467 213.224.11.244 (16 Jan 2004 14:17:47 -0700)
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!newsfeed2.dallas1.level3.net!news.level3.com!zeus.visi.com!priapus.visi.com!orange.octanews.net!news.octanews.net!news-out.visi.com!petbe.visi.com!newsfeeds.sol.net!news-hog.berkeley.edu!ucberkeley!203.109.252.33.MISMATCH!newsfeeds.ihug.co.nz!ihug.co.nz!newsgroups.borland.com!not-for-mail