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-06 20:12:05 浏览: 48
这段代码看起来像是在 Java 中使用了 Swing 的 GUI 库来创建一个界面,其中包含了一个名为 jButtonById 的按钮和一个名为 jTextById 的文本框。当用户单击按钮时,会执行 ActionListener 的 actionPerformed 方法。
在 actionPerformed 方法中,首先会从 jTextById 文本框中获取文本,然后使用 Integer.parseInt 将其转换为整数。接着,调用 Parkimpl 类的 Query 方法,并将转换后的整数作为参数传入。Query 方法会返回一个字符串数组。
如果 Query 方法返回的字符串数组为空或长度为 0,则会弹出一个对话框,显示 "未找到车位信息"。否则,会将返回的字符串数组作为一行添加到 tableModel 中。
希望这对你有帮助。如果你有其他问题,欢迎继续提问。
相关问题
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,则弹出一个提示框显示 "未找到车位信息"。否则,将返回值作为一行新的表格数据添加到表格模型中。
用Java.Swing写一个万年历
好的,我可以为你提供一个简单的Java.Swing万年历示例代码,如下所示:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class CalendarApp extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
JLabel lblMonth, lblYear;
JButton btnPrev, btnNext, btnExit;
JTable tblCalendar;
JComboBox<String> cmbYear;
DefaultTableModel modelCalendar;
public CalendarApp() {
setTitle("Java Calendar");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(420, 320);
lblMonth = new JLabel();
lblYear = new JLabel();
cmbYear = new JComboBox<String>();
btnPrev = new JButton("<<");
btnNext = new JButton(">>");
btnExit = new JButton("Exit");
modelCalendar = new DefaultTableModel() {
private static final long serialVersionUID = 1L;
public boolean isCellEditable(int rowIndex, int mColIndex) {
return false;
}
};
tblCalendar = new JTable(modelCalendar);
tblCalendar.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent evt) {
int row = tblCalendar.getSelectedRow();
int col = tblCalendar.getSelectedColumn();
int year = Integer.parseInt(cmbYear.getSelectedItem().toString());
int month = lblMonth.getText().equalsIgnoreCase("January") ? 0
: lblMonth.getText().equalsIgnoreCase("February") ? 1
: lblMonth.getText().equalsIgnoreCase("March") ? 2
: lblMonth.getText().equalsIgnoreCase("April") ? 3
: lblMonth.getText().equalsIgnoreCase("May") ? 4
: lblMonth.getText().equalsIgnoreCase("June") ? 5
: lblMonth.getText().equalsIgnoreCase("July") ? 6
: lblMonth.getText()
.equalsIgnoreCase("August") ? 7
: lblMonth.getText()
.equalsIgnoreCase("September")
? 8
: lblMonth.getText()
.equalsIgnoreCase("October")
? 9
: lblMonth
.getText()
.equalsIgnoreCase(
"November")
? 10
: 11;
if (evt.getClickCount() == 2) {
int day = (int) modelCalendar.getValueAt(row, col);
new DayApp(day, month, year);
}
}
});
JScrollPane paneCalendar = new JScrollPane(tblCalendar);
paneCalendar.setPreferredSize(new Dimension(300, 200));
JPanel pnlCalendar = new JPanel(null);
pnlCalendar.setBorder(BorderFactory.createTitledBorder("Calendar"));
btnPrev.addActionListener(this);
btnNext.addActionListener(this);
cmbYear.addActionListener(this);
btnExit.addActionListener(this);
pnlCalendar.add(lblMonth);
pnlCalendar.add(lblYear);
pnlCalendar.add(cmbYear);
pnlCalendar.add(btnPrev);
pnlCalendar.add(btnNext);
pnlCalendar.add(paneCalendar);
pnlCalendar.add(btnExit);
lblMonth.setBounds(160 - lblMonth.getPreferredSize().width / 2, 25, 100, 25);
lblYear.setBounds(10, 225, 80, 20);
cmbYear.setBounds(230, 225, 80, 20);
btnPrev.setBounds(10, 25, 50, 25);
btnNext.setBounds(300, 25, 50, 25);
paneCalendar.setBounds(10, 50, 380, 160);
btnExit.setBounds(160 - btnExit.getPreferredSize().width / 2, 250, 100, 25);
GregorianCalendar cal = new GregorianCalendar();
int year = cal.get(GregorianCalendar.YEAR);
int month = cal.get(GregorianCalendar.MONTH);
int day = cal.get(GregorianCalendar.DAY_OF_MONTH);
lblMonth.setText(String.format("%tB", cal));
lblYear.setText(String.format("%s", year));
for (int i = year - 100; i <= year + 100; i++) {
cmbYear.addItem(String.format("%s", i));
}
cmbYear.setSelectedItem(String.format("%s", year));
tblCalendar.getParent().setBackground(tblCalendar.getBackground());
tblCalendar.getTableHeader().setResizingAllowed(false);
tblCalendar.getTableHeader().setReorderingAllowed(false);
tblCalendar.setColumnSelectionAllowed(true);
tblCalendar.setRowSelectionAllowed(true);
tblCalendar.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
for (int i = 0; i < 7; i++) {
modelCalendar.addColumn(new String[] { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }[i]);
}
tblCalendar.setRowHeight(38);
modelCalendar.setColumnCount(7);
modelCalendar.setRowCount(6);
for (int i = year - 100; i <= year + 100; i++) {
cmbYear.addItem(String.format("%s", i));
}
refreshCalendar(month, year);
add(pnlCalendar, BorderLayout.CENTER);
setVisible(true);
}
public void refreshCalendar(int month, int year) {
String[] months = new String[] { "January", "February", "March", "April", "May", "June", "July", "August",
"September", "October", "November", "December" };
int nod, som;
btnPrev.setEnabled(true);
btnNext.setEnabled(true);
if (month == 0 && year <= Calendar.getInstance().get(Calendar.YEAR) - 100) {
btnPrev.setEnabled(false);
}
if (month == 11 && year >= Calendar.getInstance().get(Calendar.YEAR) + 100) {
btnNext.setEnabled(false);
}
lblMonth.setText(months[month]);
lblMonth.setBounds(160 - lblMonth.getPreferredSize().width / 2, 25, 100, 25);
cmbYear.setSelectedItem(String.format("%s", year));
GregorianCalendar cal = new GregorianCalendar(year, month, 1);
nod = cal.getActualMaximum(GregorianCalendar.DAY_OF_MONTH);
som = cal.get(GregorianCalendar.DAY_OF_WEEK);
for (int i = 0; i < 6; i++) {
for (int j = 0; j < 7; j++) {
modelCalendar.setValueAt(null, i, j);
}
}
for (int i = 1; i <= nod; i++) {
int row = new Integer((i + som - 2) / 7);
int column = (i + som - 2) % 7;
modelCalendar.setValueAt(i, row, column);
}
}
public static void main(String[] args) {
new CalendarApp();
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(btnPrev)) {
int year = Integer.parseInt(cmbYear.getSelectedItem().toString());
int month = lblMonth.getText().equalsIgnoreCase("January") ? 11
: lblMonth.getText().equalsIgnoreCase("February") ? 0
: lblMonth.getText().equalsIgnoreCase("March") ? 1
: lblMonth.getText().equalsIgnoreCase("April") ? 2
: lblMonth.getText().equalsIgnoreCase("May") ? 3
: lblMonth.getText().equalsIgnoreCase("June") ? 4
: lblMonth.getText().equalsIgnoreCase("July") ? 5
: lblMonth.getText()
.equalsIgnoreCase("August") ? 6
: lblMonth.getText()
.equalsIgnoreCase("September")
? 7
: lblMonth.getText()
.equalsIgnoreCase("October")
? 8
: lblMonth.getText()
.equalsIgnoreCase(
"November")
? 9
: 10;
if (month == 0) {
month = 11;
year--;
} else {
month--;
}
refreshCalendar(month, year);
} else if (e.getSource().equals(btnNext)) {
int year = Integer.parseInt(cmbYear.getSelectedItem().toString());
int month = lblMonth.getText().equalsIgnoreCase("January") ? 11
: lblMonth.getText().equalsIgnoreCase("February") ? 0
: lblMonth.getText().equalsIgnoreCase("March") ? 1
: lblMonth.getText().equalsIgnoreCase("April") ? 2
: lblMonth.getText().equalsIgnoreCase("May") ? 3
: lblMonth.getText().equalsIgnoreCase("June") ? 4
: lblMonth.getText().equalsIgnoreCase("July") ? 5
: lblMonth.getText()
.equalsIgnoreCase("August") ? 6
: lblMonth.getText()
.equalsIgnoreCase("September")
? 7
: lblMonth.getText()
.equalsIgnoreCase("October")
? 8
: lblMonth.getText()
.equalsIgnoreCase(
"November")
? 9
: 10;
if (month == 11) {
month = 0;
year++;
} else {
month++;
}
refreshCalendar(month, year);
} else if (e.getSource().equals(cmbYear)) {
int year = Integer.parseInt(cmbYear.getSelectedItem().toString());
int month = lblMonth.getText().equalsIgnoreCase("January") ? 11
: lblMonth.getText().equalsIgnoreCase("February") ? 0
: lblMonth.getText().equalsIgnoreCase("March") ? 1
: lblMonth.getText().equalsIgnoreCase("April") ? 2
: lblMonth.getText().equalsIgnoreCase("May") ? 3
: lblMonth.getText().equalsIgnoreCase("June") ? 4
: lblMonth.getText().equalsIgnoreCase("July") ? 5
: lblMonth.getText()
.equalsIgnoreCase("August") ? 6
: lblMonth.getText()
.equalsIgnoreCase("September")
? 7
: lblMonth.getText()
.equalsIgnoreCase("October")
? 8
: lblMonth.getText()
.equalsIgnoreCase(
"November")
? 9
: 10;
refreshCalendar(month, year);
} else if (e.getSource().equals(btnExit)) {
System.exit(0);
}
}
}
class DayApp extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
JLabel lblDay, lblMonth, lblYear;
JButton btnSave, btnCancel;
JTextArea txtEvent;
JPanel pnlDay;
public DayApp(int day, int month, int year) {
setTitle("Day Event");
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setSize(300, 200);
setLocationRelativeTo(null);
lblDay = new JLabel(String.format("%s", day));
lblMonth = new JLabel(String.format("%tB", new GregorianCalendar(year, month, 1)));
lblYear = new JLabel(String.format("%s", year));
txtEvent = new JTextArea();
pnlDay = new JPanel(null);
pnlDay.setBorder(BorderFactory.createTitledBorder("Event"));
btnSave = new JButton("Save");
btnCancel = new JButton("Cancel");
btnSave.addActionListener(this);
btnCancel.addActionListener(this);
lblDay.setBounds(140 - lblDay.getPreferredSize().width / 2, 25, 100, 25);
lblMonth.setBounds(10, 60, 100, 25);
lblYear.setBounds(230, 60, 50, 25);
txtEvent.setBounds(20, 90, 250, 50);
btnSave.setBounds(50, 150, 80, 25);
btnCancel.setBounds(160, 150, 80, 25);
pnlDay.add(lblDay);
pnlDay.add(lblMonth);
pnlDay.add(lblYear);
pnlDay.add(txtEvent);
pnlDay.add(btnSave);
pnlDay.add(btnCancel);
add(pnlDay);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(btnSave)) {
JOptionPane.showMessageDialog(this, "Event saved successfully!");
dispose();
} else if (e.getSource().equals(btnCancel)) {
dispose();
}
}
}
```
运行这个代码,你会看到一个简单的Java.Swing万年历。你可以选择年份和月份,然后浏览日历中的日期。你还可以双击一个日期来创建一个事件。