Я пытаюсь добиться того, чтобы программа рисовала линию в середине кадра, как только пользователь нажал на кнопку рисования.Но, к сожалению, ничего не происходит, кроме как "кадр 3" исчезает.Любые идеи о том, как я мог решить проблему?
Вот метод:
Windowj - это мой кадр.Frame3 - предыдущий кадр, пожалуйста, не беспокойтесь об этом.
public static void graf() {
frame3.setVisible(false);
windowj.setSize(400, 500);
windowj.setLocationRelativeTo(null);
windowj.setResizable(false);
windowj.setLayout(null);
windowj.setVisible(true);
windowj.setTitle("Graphs");
windowj.setDefaultCloseOperation(EXIT_ON_CLOSE);
xinwindow.setBounds(30,40, 90, 40);
yinwindow.setBounds(100,100,90,40);
thefunction.setBounds(200,300,90,40);
draw.setBounds(300,200,90,40 );
windowj.add(xinwindow);
windowj.add(yinwindow);
windowj.add(thefunction);
windowj.add(draw);
c.setPreferredSize(new Dimension(300,200));
draw.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
windowj.add(c);
c.revalidate();
c.repaint();
}
А вот метод рисования компонентов:
private static Component c = new JComponent() {
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.black);
g.drawLine(50, 0, 70 , 100);
}
};
Буду признателен за любую помощь, и, пожалуйста, постарайтесь быть проще, я новичок.:)