Я пытаюсь научиться делать вещи с графическим интерфейсом в Java в стиле кодирования, и вот что я написал:
import java.awt.Container;
import java.awt.Panel;
import javax.swing.*;
public class Class1 extends JFrame {
public void createGUI()
{
JpanelMock jm = new JpanelMock();
setTitle("Frame1");
setSize(320,200);
this.add(jm.drawGUI());
}
public static void main(String [] arg)
{
Class1 cls = new Class1();
cls.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
cls.setVisible(true);
cls.createGUI();
}
}
//----------------------------JpanelMock.java
import javax.swing.*;
import java.awt.*;
public class JpanelMock extends JPanel {
public JpanelMock() {
}
public Component drawGUI()
{
super.setBackground(Color.YELLOW);
JButton b = new JButton("button 1");
JLabel l = new JLabel("label 1");
JTextField tf = new JTextField("text 1");
this.add(b);
this.add(l);
this.add(tf);
return this;
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
//drawGUI();
}
}
но когда я запускаю программу, если я не делаючто-либо связанное с перерисовкой события Я не вижу свою желтую jpanel с кнопкой + +.почему это происходит?