На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Следующие правила действуют в данном разделе в дополнение к общим Правилам Форума
1. Здесь обсуждается Java, а не JavaScript! Огромная просьба, по вопросам, связанным с JavaScript, SSI и им подобным обращаться в раздел WWW Masters или, на крайний случай, в Многошум.
2. В случае, если у вас возникают сомнения, в каком разделе следует задать свой вопрос, помещайте его в корневую ветку форума Java. В случае необходимости, он будет перемещен модераторами (с сохранением ссылки в корневом разделе).

3. Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.
4. Не рекомендуется создавать несколько несвязанных вопросов в одной теме. Пожалуйста, создавайте по одной теме на вопрос.
Модераторы: dark_barker, wind
  
> поднять компонент наверх в контейнере
    есть три кнопи которые добавляются методом setBounds в контейнер. кнопка b1 частично накладывается на b2, но b1 видна целиком т.к. её добавили первой. Вопрос в том как по отработке какого либо события (например нажание на b3) кнопка b2 "накрывала" (поднималась наверх в контейнере) b1.

    ExpandedWrap disabled
      import java.awt.Container;
      import java.awt.Insets;
      import java.awt.Dimension;
      import javax.swing.JButton;
      import javax.swing.JFrame;
       
      public class AbsoluteLayoutDemo {
          public static void addComponentsToPane(Container pane) {
              pane.setLayout(null);
       
              JButton b1 = new JButton("one");
              JButton b2 = new JButton("two");
              JButton b3 = new JButton("three");
       
              pane.add(b1);
              pane.add(b2);
              pane.add(b3);
       
              Insets insets = pane.getInsets();
              Dimension size = b1.getPreferredSize();
              b1.setBounds(25 + insets.left, 5 + insets.top,
                           size.width, size.height);
              size = b2.getPreferredSize();
              b2.setBounds(35 + insets.left, 5 + insets.top,
                           size.width, size.height);
              size = b3.getPreferredSize();
              b3.setBounds(150 + insets.left, 15 + insets.top,
                           size.width + 50, size.height + 20);
          }
       
          /**
           * Create the GUI and show it.  For thread safety,
           * this method should be invoked from the
           * event-dispatching thread.
           */
          private static void createAndShowGUI() {
              //Create and set up the window.
              JFrame frame = new JFrame("AbsoluteLayoutDemo");
              frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       
              //Set up the content pane.
              addComponentsToPane(frame.getContentPane());
       
              //Size and display the window.
              Insets insets = frame.getInsets();
              frame.setSize(300 + insets.left + insets.right,
                            125 + insets.top + insets.bottom);
              frame.setVisible(true);
          }
       
          public static void main(String[] args) {
              //Schedule a job for the event-dispatching thread:
              //creating and showing this application's GUI.
              javax.swing.SwingUtilities.invokeLater(new Runnable() {
                  public void run() {
                      createAndShowGUI();
                  }
              });
          }
      }
      repaint() у b2 не пробовали?
      или удалить b1 и добавить обратно
        repaint() помог, спасибо:)
        1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0168 ]   [ 14 queries used ]   [ Generated: 17.05.24, 11:31 GMT ]