Вопрос

Если у меня есть код так:

class X extends JFrame
{
X()
{
setLayout(new GridLayout(3,3));
JButton b = new JButton("A-ha");
/*I would like to add this button in the center of this grid (2,2)*/
//How can I do it?
}
};
Это было полезно?

Решение

Как я знаю, вы должны заполнить все предыдущие клетки раньше. Таким образом, вам нужно добавить 4 компонента, прежде чем вы сможете добавить центральный компонент. Хм, это может быть лучший маякманагером.

Что ты пытаешься сделать? Может быть Borderlayout. это то, что вы ищете?

Другие советы

Возможно, вы захотите взглянуть на Макет Greatbag

Этот центры вертикально и горизонтально

import java.awt.BorderLayout;
import java.awt.Component;

import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;


public class centerbutton extends JFrame{
   public centerbutton(){
      setLayout(new BorderLayout());

      JPanel panel = new JPanel();
      JButton button = new JButton("A-ha!");
      button.setAlignmentX(
      Component.CENTER_ALIGNMENT);
      panel.setLayout(new BoxLayout(panel, BoxLayout.PAGE_AXIS));
      panel.add(Box.createVerticalGlue());
      panel.add(button);
      panel.add(Box.createVerticalGlue());

      getContentPane().add(panel);

      setVisible(true);
   }

   public static void main(String[] args) {
      new centerbutton();
   }

}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top