Я пытаюсь установить три кнопки в середине этого JPanel
, который установлен над другой панелью.Позиционирование кнопки на JPanel
Все работает нормально, но три кнопки остаются в одном и том же положении, несмотря ни на что.
Как перенести три кнопки в центр panel2
? Прямо сейчас три кнопки находятся в центре слева от panel2
.
Код для моей панели здесь:
public AbcGeniusPanel()
{
//this.setVisible(false);
ImageIcon[] alphabets = new ImageIcon[26];
ImageIcon[] images = new ImageIcon[26];
setBackground(Color.yellow);
//Load the images for alphabet images into the alphabets array using a for loop
for(int i = 0; i < alphabets.length; i++)
{
alphabets[i] = new ImageIcon("C:\\Users\\Dip\\Desktop\\Java Projects\\AbcGeniusApp\\src\\Alphabets\\"+(i+1)+".png");
}
//Load the images images in the IMageIcon array
for(int i = 0; i < images.length; i++)
{
images[i] = new ImageIcon("C:\\Users\\Dip\\Desktop\\Java Projects\\AbcGeniusApp\\src\\Images\\"+(i+1)+".png");
}
//Create two JPanel objects
JPanel panel = new JPanel();
JPanel panel2 = new JPanel();
//Set a layoutManager on the panel
panel.setLayout(new GridLayout(2, 13, 5, 5)); //This is good for now
//Create an array for holdoing the buttons
buttons = new JButton[26];
/
//Try passing Images inside the JButton parameter later.
for(int i = 0; i < 26; i++)
{
buttons[i] = new JButton(alphabets[i]);
}
setLayout(new BorderLayout(2,0));
panel2.setLayout(new BoxLayout(panel2, BoxLayout.X_AXIS));
//add the panel to the Border layout
add(panel,BorderLayout.SOUTH);
add(panel2);
//Add evenHandling mechanism to all the buttons
for(int k = 0; k<26; k++)
{
buttons[k].addActionListener(this);
}
for(int count1 = 0; count1<26; count1++)
{
panel.add(buttons[count1]);
}
JButton button1 = new JButton();
JButton button2 = new JButton();
JButton button3 = new JButton();
panel2.add(button1);
panel2.add(button2);
panel2.add(button3);
}
1) Одна пустая строка белого пространства в исходном коде все, что требуется * когда-либо *. Пустые строки после '{' или before '}' также типично избыточны. 2) Чтобы получить более эффективную помощь, отправьте сообщение [MCVE] (http://stackoverflow.com/help/mcve) (минимальный полный проверяемый пример) или [SSCCE] (http://www.sscce.org/) (Short, Самостоятельный, правильный пример). –
Я озадачен тем, что означает «Центр слева». Это центр или он оставлен? Во всяком случае, использование простой FlowLayout с соответствующим выравниванием должно дать вам ожидаемый макет –
Вот ссылка для выхода http://tinypic.com/r/1z4ki2b/8, кнопки на левой стороне, которые нельзя переместить , Но в любом случае спасибо, я попробую Flowlayout с различными выравниваниями. – loftywaif002