У меня есть класс, который расширяет JFrame с десятью переключателями на нем, и я использовал множество JPanels и GridLayouts, чтобы помочь мне правильно разместить их. Я пытаюсь сделать так, чтобы при выборе комбинации переключателей программа нарисовала линию между каждой из переключателей в том порядке, в котором вы их выбрали. Однако я не могу заставить ничего появиться. Я не уверен, что если я не переопределяю правильный метод, если я должен использовать Graphics2D, если панели скрывают все, что я рисую ... желательно, я бы хотел, чтобы решение, которое меня не меняло JPanel или что-то в этом роде.Картина на JFrame
public void paintComponent(Graphics g)
{
super.update(g);
if(buttonsSelected>1)
{
g.setColor(new Color(0xE3, 0xC9, 0x39));
for(int k=0;k>4&&lastButton[k+1]!=-1;k++)
{
g.drawLine(buttonTest[lastButton[k]].getX(), buttonTest[lastButton[k]].getY(), buttonTest[lastButton[k+1]].getX(), buttonTest[lastButton[k]].getY());
System.out.println("Ole!");
}
}
}
Кроме того, здесь является частью кода, я использую для рисования панелей
int j=0;
for(int k=0;k<10;k++)
{
buttonTest[k]=new JRadioButton();
buttonTest[k].setActionCommand(Integer.toString(k));
buttonTest[k].setToolTipText(powersDin[k]);
buttonTest[k].addActionListener(new GoddessListener());
buttonTest[k].setEnabled(false);
}
buttonTest[0].setEnabled(true);
buttonTest[6].setEnabled(true);
buttonTest[9].setEnabled(true);
paneGrids[0]=new JPanel();
paneGrids[0].setLayout(new GridLayout(1,7));
paneGrids[0].add(new JLabel()); //adding a blank JLabel lets me pad out the empty cells I don't want to fill
paneGrids[0].add(new JLabel());
paneGrids[0].add(new JLabel());
paneGrids[0].add(buttonTest[j++]);
paneGrids[0].add(new JLabel());
paneGrids[0].add(new JLabel());
paneGrids[0].add(new JLabel());
вы должны переопределить метод рисования каждого отдельного флажка! в противном случае они будут обновлять и удалять то, что вы нарисовали. –
Я пытаюсь нарисовать линию между кнопками, а не на них точно. А также, когда я запускаю код, я должен получать «Оле!». на консоли, чего не происходит. –
что «Оле!» показан не меня удивляет! Но флажок имеет прямоугольную область вокруг него! –