繁体   English   中英

一致地使按钮在JFrame上可见

[英]Consistently make a button visible on JFrame

我的程序符合并显示一个空白框。 我已经尝试了多种方法,但是我认为这应该起作用,但我不明白为什么它不起作用?
该代码很简单,仅显示一个空白框和一个按钮,通知用户监听器正在执行的操作。

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Udemy {

  public Udemy() {
    JFrame f = new JFrame();
    f.setTitle("La's Frame");
    f.setSize(400,400);
    f.setVisible(true);
    f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);

    JPanel panel = new JPanel();
    f.getContentPane().add(panel);

    JButton b1 = new JButton("Click me");
    panel.add(b1);
    b1.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent e){
        System.out.println("Action Listener is working");
      }
    });
  }

  public static void main(String[] args){
    Udemy ud = new Udemy();
  }
}

在这里,我移动了f.setVisible(true); 到底部,一切正常

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Udemy {

public Udemy(){
JFrame f = new JFrame();
f.setTitle("La's Frame");
f.setSize(400,400);
f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);


JPanel panel = new JPanel();
f.getContentPane().add(panel);

JButton b1 = new JButton("Click me");
panel.add(b1);
f.setVisible(true);

b1.addActionListener(new ActionListener(){
  public void actionPerformed(ActionEvent e){
     System.out.println("Action Listener is working");
     }
   });
 }

 public static void main(String[] args){
     Udemy ud = new Udemy();

      }
   }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM