为什么以下代码构件JButton,JLabel不显示package com.experiment; import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; /** * 使用JDialog对话框显示问候语 */ @SuppressWarnings("all") public class demo14 { public static void main(String[] args) { JFrame frame = new JFrame("问候"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); frame.setSize(500, 300); frame.setLocationRelativeTo(null); JLabel label = new JLabel("请输入您的姓名:"); JTextField jTextField = new JTextField(15); JPanel panel = new JPanel(); frame.setContentPane(panel); JButton button = new JButton("确定"); panel.add(label); panel.add(jTextField); panel.add(button); } }
时间: 2023-06-09 07:03:27 浏览: 158
这是因为您没有将按钮和标签添加到 JFrame 窗口中。需要使用 frame.add() 方法将它们添加到窗口中。同时,需要将 setVisible() 方法放在最后,因为只有在添加了所有组件后,才应该将窗口显示出来。以下是修改后的代码:
package com.experiment;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
* 使用JDialog对话框显示问候语
*/
@SuppressWarnings("all")
public class demo14 {
public static void main(String[] args) {
JFrame frame = new JFrame("问候");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 300);
frame.setLocationRelativeTo(null);
JLabel label = new JLabel("请输入您的姓名:");
JTextField jTextField = new JTextField(15);
JPanel panel = new JPanel();
JButton button = new JButton("确定");
panel.add(label);
panel.add(jTextField);
panel.add(button);
frame.add(panel);
frame.setVisible(true);
}
}
阅读全文