package com.test; import javax.swing.JFrame; import javax.swing.JOptionPane; public class TestLove extends JFrame{ public static void main(String[] args) { new TestLove(); } int a=-1; public TestLove() { this.setTitle("love"); this.setSize(100,100); this.setDefaultCloseOperation(3); this.setLocationRelativeTo(null); while(true) { //确认弹窗 a=JOptionPane.showConfirmDialog(null, "你爱不爱我?"); if(a==0) { JOptionPane.showMessageDialog(null, "我就知道你是爱我的!!!"); break; } } this.setVisible(false); } }
时间: 2024-04-01 14:37:44 浏览: 15
这是一个Java程序,使用了Java的Swing库。它创建了一个名为TestLove的类,继承自JFrame类,并包含一个main方法。在TestLove类的构造函数中,它设置了窗口的标题、大小、关闭操作和位置。然后它进入了一个无限循环,每次循环都会弹出一个确认弹窗,询问用户是否爱他。如果用户点击了确认按钮,弹出一个消息提示框,显示“我就知道你是爱我的!!!”并退出循环,否则继续循环直到用户确认爱他为止。最后,它将窗口设为不可见状态。
相关问题
import static javax.swing.JFrame.*;的作用
`import static javax.swing.JFrame.*` 的作用是静态导入 `javax.swing.JFrame` 类中所有静态成员。这样可以方便地在代码中直接使用 JFrame 类的静态成员,而不需要每次都写出类名 `JFrame`。
例如,如果没有静态导入,使用 JFrame 类中的静态成员需要这样写:
```java
JFrame frame = new JFrame("My Frame");
frame.setSize(400, 300);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
```
而有了静态导入,就可以直接使用 JFrame 类中的静态成员,如下所示:
```java
frame = new JFrame("My Frame");
frame.setSize(400, 300);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
frame.setVisible(true);
```
这样可以使代码更加简洁易读。但是需要注意,静态导入可能会导致命名空间污染,应该谨慎使用。
import java.awt.event.ActionListener; import javax.swing.JFrame; public class MyFrame extends JFrame implements ActionListener{ JButton b; JTextArea ar;报错
根据您提供的代码,报错可能是由于没有正确导入`JButton`和`JTextArea`类所致。请确保在文件的顶部添加以下导入语句:
```java
import javax.swing.JButton;
import javax.swing.JTextArea;
```
此外,您还需要实现`ActionListener`接口,因为您的类声明中指定了`implements ActionListener`。这意味着您的类需要提供一个实现`ActionListener`接口的方法。请确保在您的类中添加以下方法:
```java
@Override
public void actionPerformed(ActionEvent e) {
// 处理按钮点击事件的代码
}
```
请注意,这只是解释了您提供的代码中可能导致报错的问题。如果问题仍然存在,请提供更多的代码和错误信息,以便我能够更好地帮助您解决问题。