如果没有指定父组件,希望对话框可以独立存在,在JLabel中显示一个九九表,要求用两重for循环得到99表 提示:swing中普通换行符无效,必须使用html格式
时间: 2024-12-24 07:21:58 浏览: 31
在Java Swing中,如果你想要创建一个独立存在的对话框,并在其中显示一个九九乘法表,你可以使用`JDialog`作为对话框容器,然后在其中嵌套一个`JTable`来呈现表格内容。由于HTML支持在Swing组件上直接渲染,我们可以利用这一点来添加换行。下面是一个简单的示例:
```java
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
public class NineNineTable extends JFrame {
public static void main(String[] args) {
// 创建一个新的对话框
JDialog dialog = new JDialog(JFrame.getFrame(), "九九乘法表", true);
dialog.setSize(400, 500);
// 创建数据模型
String[][] data = new String[10][10];
for (int i = 0; i <= 9; i++) {
for (int j = 0; j <= 9; j++) {
data[i][j] = "<html>" + i + "x" + j + "=" + (i * j) + "</html>";
}
}
// 创建表格模型并设置数据
DefaultTableModel tableModel = new DefaultTableModel(data, {"乘数"});
JTable table = new JTable(tableModel);
table.setRowHeight(40); // 设置行高,方便展示
// 添加表格到对话框
JScrollPane scrollPane = new JScrollPane(table);
dialog.add(scrollPane);
// 显示对话框
dialog.setVisible(true);
}
}
```
在这个例子中,我们首先创建了一个`JDialog`,设置了其大小和标题。然后,我们使用两层`for`循环生成了九九乘法表的数据,并将其转换为HTML格式以便在`JTable`中渲染。最后,我们将表格添加到了对话框,并显示出来。
阅读全文