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); } } });解释这部分代码
时间: 2023-02-19 11:21:59 浏览: 56
这段代码中定义了一个新的Java Swing组件 `JButton` 并将其添加到了界面的内容面板中。然后设置了按钮的文本内容为 "搜索"。
接下来,为按钮添加了一个动作监听器,当按钮被点击时会执行监听器中的代码。在这个例子中,监听器中的代码会执行以下操作:
1. 使用 `Integer.parseInt` 方法将文本框中的文本解析为一个整数。
2. 创建一个新的 `Parkimpl` 对象 `s`。
3. 调用 `s` 的 `Query` 方法,并将解析出的整数作为参数传入,获取返回值。
4. 如果返回值为 `null` 或者返回值的长度为 0,则弹出一个提示框显示 "未找到车位信息"。否则,将返回值作为一行新的表格数据添加到表格模型中。
相关问题
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的搜索代码如何让文本中搜寻不到的提示为空,代码应该怎样写
这段代码定义了一个名为 `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);
}
```
这样,当查询不到书籍信息时,会弹出一个对话框显示“未找到书籍信息”。
package my; import javax.swing.*; import java.awt.event.*; public class ButtonClickEvent extends JFrame{ JButton btn; public static void main(String[] args) { // TODO Auto-generated method stub ButtonClickEvent frame=new ButtonClickEvent(); } public ButtonClickEvent() { super("Window Title"); btn=new JButton("Click here"); getContentPane().add("Center",btn); ButtonListener listen=new ButtonListener(); btn.addActionListener(listen); setSize(200,300); setVisible(true); } class ButtonListener implements ActionListener{ public void actionPerformed(ActionEvent e) { JButton source=(JButton)e.getSource(); source.setText("Button clicked"); } } }如何改为两个命令按钮
您可以将原来的按钮代码复制并稍作修改来创建第二个按钮,然后将它们分别添加到 JFrame 的内容面板中。修改后的代码如下:
```java
package my;
import javax.swing.*;
import java.awt.event.*;
public class ButtonClickEvent extends JFrame{
JButton btn1, btn2;
public static void main(String[] args) {
ButtonClickEvent frame=new ButtonClickEvent();
}
public ButtonClickEvent() {
super("Window Title");
btn1=new JButton("Click here");
getContentPane().add("Center",btn1);
ButtonListener listen1=new ButtonListener();
btn1.addActionListener(listen1);
btn2=new JButton("Or click here");
getContentPane().add("South",btn2); // 添加到南侧
ButtonListener listen2=new ButtonListener();
btn2.addActionListener(listen2);
setSize(200,300);
setVisible(true);
}
class ButtonListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
JButton source=(JButton)e.getSource();
source.setText("Button clicked");
}
}
}
```
这个示例代码中,我们在 JFrame 的内容面板中添加了两个按钮,分别是 `btn1` 和 `btn2`。它们分别添加在中心和南侧位置,以便能够在界面上区分它们的位置。同时,我们创建了两个相同的按钮监听器 `ButtonListener` 用于监听这两个按钮的点击事件。