Добрый вечер! Подскажите как определить класс от первого (PaintPanel). Задача стоит так: Разработать два класса первый должен наследоватся от JPanel второй от первого. В каждом из них должен быть переопределен метод paint. И каждый должен иметь несколько конструкторов. Пока я не определяю class PaintPanelExt прога копилится а после добавления ошибка (см. ниже) Правильное ли направление я взял для решения такой задачи ?
| Код | import javax.swing.*; import java.awt.event.*; import java.awt.*; import java.awt.Graphics; import java.applet.*; import java.util.*;
class Start { Start(){ JFrame jfrm = new JFrame("TEST"); jfrm.setSize(1200, 600); jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); PaintPanel jpnl = new PaintPanel(1200, 600); //PaintPanelExt jpnlExt = new PaintPanelExt(600, 220, 6);
JTabbedPane jtp = new JTabbedPane(); jtp.addTab("test № 1",jpnl); jfrm.getContentPane().add(jtp); jfrm.setVisible(true); }
public static void main(String[] args){ SwingUtilities.invokeLater(new Runnable() { public void run() { new Start(); } }); } }
class PaintPanelExt extends PaintPanel{ int step; protected void paintComponent(Graphics g) { for (int i=0; i<getWidth(); i+=step){ g.drawLine(20, 20, 20+step, 100+step); } } }
class PaintPanel extends JPanel { PaintPanel(int w, int h) { setOpaque(true); setBorder(BorderFactory.createLineBorder(Color.GREEN, 3)); setPreferredSize(new Dimension(w, h)); JLabel lbl0 = new JLabel("Ввести строку:"); add(lbl0); } protected void paintComponent(Graphics g) { for (int i=0; i<getWidth(); i+=4){ g.drawLine(20, 20, 20, 120); } } }
C:\Program Files\Java\jdk1.6.0_03\bin>javac.exe Start.java Start.java:32: cannot find symbol symbol : constructor PaintPanel() location: class PaintPanel class PaintPanelExt extends PaintPanel{ ^ 1 error
|
|