为什么我的第二个JButton在Java摆动代码的JFrame上不可见?

问题描述 投票:-1回答:2

第二个按钮(b2)在JFrame上不可见。

[3个组件l1,l2和b2都在JFrame上可见,但JButton b2却不可见。

        public void Joptionpane(int a)
        {
        l1=new JLabel("Your score is :" + a);
        l2=new JLabel("Do you want to continue ?");
        b1= new JButton("Yes");
        b2= new JButton("NO");


        add(l1);
        add(l2);
        add(b1);
        add(b2);

       l1.setBounds(150,10,400,50);
       l2.setBounds(150,60,400,50);
       b1.setBounds(200,130,100,50);
       b2.setBounds(300,130,100,50);

我已将布局设置为null

        setVisible(true);
        setLayout(null);
        setTitle("Flappy Bird");
        setSize(700,300);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
java swing jbutton
2个回答
2
投票

从代码来看,似乎是应用程序。需要这样的东西:

enter image description here

这是JOptionPane,非常适合该任务,而不是JFrame,不是。

其代码如下:

String text = "<html><p>Your score is: 42."
        + "<p>Do you want to continue?";
int result = JOptionPane.showConfirmDialog(
        null, text, "Flappy Bird", JOptionPane.YES_NO_OPTION);
if (result==JOptionPane.YES_OPTION) {
    System.out.println("Continue!");
    // TODO! Start another game
} else {
    System.out.println("Exit!");
    System.exit(0);
}

-2
投票
    setVisible(true);
    setLayout(null);

也许您应该在告诉框架绘制所有内容之前将布局设置为null ...

并且正如我们在上面:在使面板可见之前也要设置大小。

对不起,但这全都不是问题。您不能在打破蛋壳之前在锅中煎鸡蛋,但这就是您正在做的。

    setLayout(null);
    setSize(700,300);
    setVisible(true);
© www.soinside.com 2019 - 2024. All rights reserved.