gpt4 book ai didi

java - JFrame 为空

转载 作者:行者123 更新时间:2023-12-02 05:55:24 28 4
gpt4 key购买 nike

我正在开发 Java 硬件并遇到了这个问题。尽管一切似乎都编码正确,但我最终得到的是空白帧。我猜这与驱动程序中的这部分有关:

frame.getContentPane().add(new RandomPanel());

这是我的主程序:

import java.awt.*;
import java.awt.event.*;
import java.util.Random;

import javax.swing.*;

public class RandomPanel extends JPanel
{
private JButton randButton;
private JLabel label;

public void NamePanel()
{
JPanel primary = new JPanel();

randButton = new JButton("Whats my name?");

ButtonListener listener = new ButtonListener();
randButton.addActionListener(listener);

label = new JLabel("Displaying random number");


setBackground(Color.pink);
add(label);
add(randButton);
}

class ButtonListener implements ActionListener
{

public void actionPerformed(ActionEvent event)
{

label.setText( new Integer(new Random().nextInt(100) + 1).toString() );
}

}

}

以及驱动程序:

import javax.swing.JFrame;

public class RandomPick
{

public static void main (String[] args)
{
JFrame frame = new JFrame("RandomPick");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.getContentPane().add(new RandomPanel());

frame.pack();
frame.setVisible(true);
}
}

最佳答案

您需要调用namePanel将组件添加到框架中。

RandomPanel randomPanel = new RandomPanel();
randomPanel.namePanel();
frame.add(randomPanel);

但您可能打算将该方法用作构造函数

public RandomPanel() {

这意味着方法调用不是必需的

关于java - JFrame 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23141008/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com