Компилятор не видит основной метод, и я не могу запустить программу, может быть, проблема в том, что я задал основной метод в последнем дочернем классе? У меня есть класс отца Nasleđivanje, дочерний класс Panel1, который расширяет Nasleđivanje, а дочерний класс Panel1 - это Panel2, который расширяет Panel1, я ставлю основной метод в Panel - это проблема? как я могу исправить код для работы.Компилятор не видит основного метода
package nasleđivanje;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Nasleđivanje{
protected JFrame okvir;
protected JPanel prviPanel;
protected JTextArea txtPolje;
protected void kreirajOkvir(){
okvir=new JFrame();
okvir.setSize(500, 400);
okvir.setLayout(new BorderLayout());
okvir.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
prviPanel=new JPanel();
prviPanel.setLayout(new BorderLayout());
txtPolje=new JTextArea();
prviPanel.add(txtPolje,BorderLayout.CENTER);
okvir.add(prviPanel,BorderLayout.CENTER);
}
}
class Panel1 extends Nasleđivanje {
protected JButton dugme1,dugme2;
public void kreirajPanel(){
dugme1=new JButton("Text 1");
dugme1.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
txtPolje.setText("Kliknuli ste na prvo dugme");
}
});
dugme2=new JButton("Text 2");
dugme2.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
txtPolje.setText("Kliknuli ste na drugo dugme");
}
});
prviPanel.add(dugme1,BorderLayout.WEST);
prviPanel.add(dugme2, BorderLayout.WEST);
}
}
class Panel2 extends Panel1{
protected JButton dugme3,dugme4;
public void kreirajPanel(){
dugme3=new JButton("Promeni boju");
dugme3.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
prviPanel.setBackground(Color.BLACK);
}
});
dugme4=new JButton("Izlaz");
dugme4.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
System.exit(0);
}
});
prviPanel.add(dugme3, BorderLayout.NORTH);
prviPanel.add(dugme4,BorderLayout.NORTH);
}
public void pokreniGUI(){
okvir.setVisible(true);
}
public Panel2(){
super.kreirajOkvir();
this.kreirajPanel();
super.kreirajPanel();
}
public static void main(String[] args) {
Panel2 start=new Panel2();
start.pokreniGUI();
}
}
(за исключением случаев, когда вы используете внутренние классы, что является другой темой;)) – MadProgrammer
@MadProgrammer Это то, что я имею в виду под «частными классами» ... той же идеей. –
Внутренние классы могут быть частными;), но я просто придирчива;) – MadProgrammer