правильный способ создания нескольких похожих кнопок / панелей - PullRequest
0 голосов
/ 25 ноября 2011

У меня есть код ниже, который я пытался сделать, но он показывает только (кнопка минус / плюс) на последнем GridLayout (Статистика интеллекта):

JButton plusButton = new JButton("+");
JButton minusButton = new JButton("-");

statStrengthGridPanel = new JPanel(new GridLayout(1,3));
statStrengthGridPanel.add(minusButton);
statStrengthGridPanel.add(new JLabel("10"));
statStrengthGridPanel.add(plusButton);

statConstitutionGridPanel = new JPanel(new GridLayout(1,3));
statConstitutionGridPanel.add(minusButton);
statConstitutionGridPanel.add(new JLabel("10"));
statConstitutionGridPanel.add(plusButton);

statDexterityGridPanel = new JPanel(new GridLayout(1,3));
statDexterityGridPanel.add(minusButton);
statDexterityGridPanel.add(new JLabel("10"));
statDexterityGridPanel.add(plusButton);

statIntelligenceGridPanel = new JPanel(new GridLayout(1,3));
statIntelligenceGridPanel.add(minusButton);
statIntelligenceGridPanel.add(new JLabel("10"));
statIntelligenceGridPanel.add(plusButton);

Я знаю, что могу сделатьчто-то вроде того, что я сделал для имен Panel (есть несколько), но я не хочу делать это в первую очередь для Panel.Я пытаюсь использовать лучшие практики и не хочу, чтобы мой код был повторяющимся.Любые предложения ??

Цель состоит в том, чтобы иметь 4 статистики, назначать очки, с кнопками уменьшения и увеличения (я решил против ползунков).В конце концов у меня будут верхний и нижний пределы, я уберу «неиспользуемый» ярлык и все такое, но я просто не хочу повторяться.

1 Ответ

1 голос
/ 25 ноября 2011

Причина, по которой он не работает, заключается в том, что вы добавляете одинаковые кнопки к разным панелям сетки. Я думаю, что вам нужно создавать новые для каждого места, где вы хотите их увидеть. Попробуйте что-то вроде

statStrengthGridPanel = new JPanel(new GridLayout(1,3));
statStrengthGridPanel.add(new JButton("-"));
statStrengthGridPanel.add(new JLabel("10"));
statStrengthGridPanel.add(new JButton("+"));
...