Java中JOptionPane.showMessageDialog()的定义和用法
时间: 2024-05-16 21:17:55 浏览: 11
JOptionPane.showMessageDialog()是Java中一个常用的对话框组件,用于在GUI应用程序中显示消息、警告或错误等信息。
它的定义如下:
```java
public static void showMessageDialog(Component parentComponent, Object message, String title, int messageType)
```
其中,各参数的含义如下:
- parentComponent:对话框的父组件,可以为null。
- message:要显示的消息,可以是字符串、图标或其他组件。
- title:对话框的标题,可以为null。
- messageType:消息的类型,包括以下四种:
- JOptionPane.PLAIN_MESSAGE:普通消息。
- JOptionPane.INFORMATION_MESSAGE:信息消息。
- JOptionPane.WARNING_MESSAGE:警告消息。
- JOptionPane.ERROR_MESSAGE:错误消息。
使用示例:
```java
JOptionPane.showMessageDialog(null, "Hello World!", "Message", JOptionPane.INFORMATION_MESSAGE);
```
这将在屏幕中央显示一个信息框,包含消息“Hello World!”,标题为“Message”,消息类型为信息消息。
相关问题
try { String query = "DELETE FROM caipu WHERE 编号=?"; PreparedStatement statement = connection.prepareStatement(query); statement.setInt(1, selectedRow); statement.executeUpdate(); JOptionPane.showMessageDialog(null, "删除成功", "提示", JOptionPane.INFORMATION_MESSAGE); } catch (SQLException e) { e.printStackTrace(); JOptionPane.showMessageDialog(null, "删除失败", "错误", JOptionPane.ERROR_MESSAGE); } }这种情况下代码正确,但选中的数据不对
根据你提供的代码,我猜测你是在使用 `JTable` 删除数据。如果你在删除数据时选中的数据不对,可能是因为你没有正确获取被选中的行数。
具体来说,你需要使用 `JTable` 的 `getSelectedRow()` 方法获取被选中的行数,然后将这个行数传递给你的 SQL 语句,以便删除正确的记录。在你的代码中,你使用的是 `selectedRow` 变量作为 SQL 语句的参数,但是你没有给出这个变量的定义和赋值,所以我无法判断它是否正确。
另外,你还需要在删除数据之后,更新你的 `JTable` 数据模型,并使用 `JTable` 的 `updateUI()` 方法刷新界面,以便正确显示删除后的数据。
综上所述,你可以尝试修改你的代码如下:
```java
try {
int selectedRow = table.getSelectedRow(); // 获取被选中的行数
String query = "DELETE FROM caipu WHERE 编号=?";
PreparedStatement statement = connection.prepareStatement(query);
statement.setInt(1, selectedRow);
statement.executeUpdate();
// 更新数据模型
DefaultTableModel model = (DefaultTableModel) table.getModel();
model.removeRow(selectedRow);
// 刷新界面
table.updateUI();
JOptionPane.showMessageDialog(null, "删除成功", "提示", JOptionPane.INFORMATION_MESSAGE);
} catch (SQLException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null, "删除失败", "错误", JOptionPane.ERROR_MESSAGE);
}
```
希望这个代码可以帮助你解决问题。
JOptionPane.showMessageDialog如何自定义对话框的按钮,请给出一个实例说明
可以使用JOptionPane.showOptionDialog方法来自定义对话框的按钮。以下是一个示例:
```java
import javax.swing.*;
public class CustomDialogExample {
public static void main(String[] args) {
String[] options = {"Yes", "No", "Cancel"};
int choice = JOptionPane.showOptionDialog(null, "Do you want to save changes?",
"Save Changes", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE,
null, options, options[0]);
switch (choice) {
case JOptionPane.YES_OPTION:
System.out.println("Save changes");
break;
case JOptionPane.NO_OPTION:
System.out.println("Don't save changes");
break;
case JOptionPane.CANCEL_OPTION:
System.out.println("Cancel");
break;
default:
System.out.println("Unknown choice");
}
}
}
```
在这个例子中,我们使用JOptionPane.showOptionDialog方法来创建一个对话框。该方法要求提供多个选项和一个默认选项。在这个例子中,我们提供了三个选项:Yes、No、Cancel,并将Yes作为默认选项。当用户点击对话框上的按钮时,showOptionDialog方法将返回一个整数值,表示用户所选的选项。我们使用switch语句根据用户的选择执行相应的操作。
通过这种方式,我们可以自定义对话框的按钮,并在用户点击按钮时进行相应的操作。