jButtonById = new JButton(); getContentPane().add(jButtonById); jButtonById.setText("搜索"); jButtonById.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { int bookId = Integer.parseInt(jTextById.getText().trim()); s = new Parkimpl(); String[] newCell = s.Query(bookId); tableModel.addRow(newCell); } });这段java的搜索代码如何让文本中搜寻不到的提示为空,代码应该怎样写
时间: 2023-02-06 11:37:11 浏览: 261
这段代码定义了一个名为 `jButtonById` 的 `JButton` 对象,并添加了一个事件监听器,当用户点击按钮时会触发事件。在事件处理函数 `actionPerformed` 中,它会从一个名为 `jTextById` 的文本框中获取输入的书籍 ID,然后调用 `Parkimpl` 类的 `Query` 方法查询书籍信息,并将查询结果添加到表格中。
如果你想让搜索不到的提示为空,可以在调用 `Query` 方法后判断返回的数组是否为空,如果为空就显示一条提示信息,否则就添加到表格中。
例如,你可以在 `actionPerformed` 函数中添加如下代码:
```
String[] newCell = s.Query(bookId);
if (newCell == null || newCell.length == 0) {
JOptionPane.showMessageDialog(null, "未找到书籍信息");
} else {
tableModel.addRow(newCell);
}
```
这样,当查询不到书籍信息时,会弹出一个对话框显示“未找到书籍信息”。
相关问题
jButtonById = new JButton(); getContentPane().add(jButtonById); jButtonById.setText("搜索"); jButtonById.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { int spaceNumber = Integer.parseInt(jTextById.getText().trim()); s = new Parkimpl(); String[] newCell = s.Query(spaceNumber); if (newCell == null || newCell.length == 0) { JOptionPane.showMessageDialog(null, "未找到车位信息"); } else { tableModel.addRow(newCell); } } });解释这部分代码
这段代码中定义了一个新的Java Swing组件 `JButton` 并将其添加到了界面的内容面板中。然后设置了按钮的文本内容为 "搜索"。
接下来,为按钮添加了一个动作监听器,当按钮被点击时会执行监听器中的代码。在这个例子中,监听器中的代码会执行以下操作:
1. 使用 `Integer.parseInt` 方法将文本框中的文本解析为一个整数。
2. 创建一个新的 `Parkimpl` 对象 `s`。
3. 调用 `s` 的 `Query` 方法,并将解析出的整数作为参数传入,获取返回值。
4. 如果返回值为 `null` 或者返回值的长度为 0,则弹出一个提示框显示 "未找到车位信息"。否则,将返回值作为一行新的表格数据添加到表格模型中。
换种写法:import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class test2 extends JFrame implements ActionListener { private JLabel titleLabel, usernameLabel, passwordLabel, infoLabel; private JTextField usernameField; private JPasswordField passwordField; private JButton loginButton, cancelButton; public test2(String title) { super(title); Container contentPane = this.getContentPane(); contentPane.setLayout(new BorderLayout()); JPanel panel = new JPanel(); panel.setLayout(new GridLayout(4, 2, 10, 10)); titleLabel = new JLabel("用户登录"); titleLabel.setFont(new Font("仿宋", Font.BOLD, 20)); titleLabel.setHorizontalAlignment(JLabel.CENTER); usernameLabel = new JLabel("用户名:"); passwordLabel = new JLabel("密码:"); usernameField = new JTextField(10); passwordField = new JPasswordField(10); loginButton = new JButton("登录"); cancelButton = new JButton("取消"); loginButton.addActionListener(this); cancelButton.addActionListener(this); infoLabel = new JLabel(); panel.add(usernameLabel); panel.add(usernameField); panel.add(passwordLabel); panel.add(passwordField); panel.add(loginButton); panel.add(cancelButton); panel.add(new JLabel()); panel.add(infoLabel); contentPane.add(titleLabel, BorderLayout.NORTH); contentPane.add(panel, BorderLayout.CENTER); this.setSize(300, 200); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } @Override public void actionPerformed(ActionEvent e) { if (e.getSource() == loginButton) { String username = usernameField.getText().trim(); String password = new String(passwordField.getPassword()).trim(); if (username.isEmpty() || password.isEmpty()) { infoLabel.setText("请输入用户名和密码"); } else { infoLabel.setText("用户名: " + username + " 密码: " + password); } } else if (e.getSource() == cancelButton) { usernameField.setText(""); passwordField.setText(""); infoLabel.setText("用户登录"); } } public static void main(String[] args) { SwingUtilities.invokeLater(() -> { new test2("登录界面"); }); } }
这段代码是一个简单的Java GUI程序,实现了一个用户登录界面。程序继承了JFrame类,并实现了ActionListener接口,用于监听登录按钮和取消按钮的事件。程序使用了Swing组件库,包括JLabel、JTextField、JPasswordField、JButton等组件,用于显示和输入用户名和密码。当用户点击登录按钮时,程序会获取输入框中的用户名和密码,并判断是否为空,如果为空则提示用户输入,否则显示输入的用户名和密码。当用户点击取消按钮时,程序会清空输入框,并将提示信息恢复为默认值。程序的入口方法为main方法,通过SwingUtilities类的invokeLater方法在事件分发线程中启动程序。
阅读全文