Как добавить jbutton в gridlayout?
-
26-09-2019 - |
Вопрос
Если у меня есть код так:
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();
}
}
Не связан с StackOverflow