@PlagueStarScream

Мистика и Java swing, в чем проблема?

При попытке освоить swing происходят непонятные вещи. Суть проблема в том что некоторых элементов не видно после компиляции , становятся видны только после того как свернуть-развернуть или немного растянуть окно. и всегда разные в одном случае не видно кнопки, в данном коде не видно панели(не видно пока не выполнить действия указанные способы). Но образец элементарен поэтому и встал в тупик
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;



public class GUI implements ActionListener {
    JFrame frame;

    public static void main(String args[]){
        GUI gui = new GUI();
        gui.go();

    }

    public void go() {
        frame = new JFrame("GUI");
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300,300);
        frame.setBackground(Color.BLACK);

       JButton b = new JButton("click");
       b.addActionListener(this);
       frame.getContentPane().add(BorderLayout.NORTH,b);
       JLabel l = new JLabel("label");
       frame.getContentPane().add(BorderLayout.SOUTH,l);
        JTextField f = new JTextField(10);
        f.setText(" blooo");
        draw draw = new draw();
        draw.add(f);
        frame.getContentPane().add(draw);
        
    }
    public void actionPerformed(ActionEvent ev){

        frame.repaint();
    }
    class draw extends JPanel{
        public void paint(Graphics g){

            g.fillRect(0,100,300,50);
        }
    }
}
  • Вопрос задан
  • 568 просмотров
Решения вопроса 1
Shockoway
@Shockoway
frame.setVisible(true);
Этот метод желательно вызывать в самом конце. В вашем же случае вы сначала рендерите окно, а уже потом добавляете на него элементы.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы