Я не знаком с графикой java, и я хочу нарисовать линию на 3 кнопки. Я нашел несколько способов нарисовать линию, но ни один из них не нарисовал ее поверх кнопок.Графика Java (рисование строки)
Вот мой GUI класс
public class GUI extends JFrame{
JButton[] buttons;
GUI()
{
setSize(255, 390);
setLocation(0, 0);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(null);
setVisible(true);
}
public void paint(Graphics g) {
super.paint(g);
//TODO add the line
}
void drawButtons()
{
buttons=new JButton[9];
int x=5,y=80;
for(int i=0;i<buttons.length;i++)
{
buttons[i]=new JButton("");
buttons[i].setSize(70,70);
buttons[i].setLocation(x,y);
buttons[i].setFont(new Font("Arial", Font.PLAIN, 45));
buttons[i].setBorder(BorderFactory.createBevelBorder(1,Color.black,Color.black));
y+=(i%3==2)?75:0;
x=(i%3==2)?5:x+75;
add(buttons[i]);
}
}
}
Так просто, я хочу создать функцию, которая создает линию, и получает местоположение строки в качестве параметра. И я хочу, чтобы линия была поверх кнопок. Как я могу это сделать? Заранее спасибо.
FYI: Весь рисунок в Swing должен выполняться в paintComponent. А обрезка графики обычно затрудняет пользовательскую краску по нескольким компонентам. Рекомендуем проверить JLayer. – ControlAltDel
@ControlAltDel paintComponent - это функция краски, которую у меня есть? Ну, в любом случае, я могу нарисовать слой и добавить слой в рамку, когда захочу? – Ahmed
https://docs.oracle.com/javase/tutorial/uiswing/painting/ – ControlAltDel