Так что я стараюсь, чтобы кнопки проходили через каждую из моих панелей вкладок, и все работает отлично. Теперь я должен заставить их повторять ход через вкладки каждый раз, когда одна из вкладок достигает конца. Я сделал «предыдущую» кнопку, и она работает, но я не могу получить правильное числовое выражение, чтобы заставить «следующую» кнопку работать. Я пробовал много различных числовых выражений, но это то, что я до сих пор:Почему я не могу заставить setSelectedIndex работать?
next = new JButton("next");
next.addActionListener(
new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
tabs.setSelectedIndex(tabs.getSelectedIndex()+1);
tabs.setSelectedIndex(tabs.getSelectedIndex()-7);
}
});
previous = new JButton("previous");
previous.addActionListener(
new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
tabs.setSelectedIndex(tabs.getSelectedIndex()-1);
tabs.setSelectedIndex(tabs.getSelectedIndex()+6);
}
});
и это исключение, которое дает мне каждый раз, когда я пытаюсь следующую кнопку:
Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: -6, Tab count: 6
Когда я, наконец, заставить его работать, он пропускает последнюю вкладку, поэтому я действительно не знаю, что я делаю неправильно, но у меня есть чувство из-за числового выражения.
(нит выбор) Я бы, наверное, один вызов 'tabs.setSelectedIndex' и изменить значение индекса в соответствии с требованиями ... но это только мне;) – MadProgrammer
@nachokk Спасибо, что на самом деле это сделал , Таким образом, цикл if устанавливает текущую позицию индекса, а также возвращает позицию индекса. Правильно? – Mandygir
@MadProgrammer, вот что я пытался сделать, но он продолжал пропускать последнюю вкладку, и я не знаю почему. – Mandygir