状态栏的设置,代码如下:
package net.mf.student.gui;
import net.mf.student.app.Application;
import net.mf.student.bean.Status;
import net.mf.student.service.StatusService;
import net.mf.student.service.impl.StatusServiceImpl;
import javax.swing.;
import java.awt.;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
/**
-
功能:设置状态栏信息
-
作者:马飞
-
日期:2019年6月25日
/
public class SetStatusBarFrame extends JFrame {
/*- 面板
/
private JPanel panel;
private JPanel panel1;
private JPanel panel2;
private JPanel panel3;
private JPanel panel4;
private JPanel panel5;
/* - 标签
/
private JLabel lblCollege;
private JLabel lblVersion;
private JLabel lblAuthor;
private JLabel lblTelephone;
private JLabel lblAddress;
private JLabel lblEmail;
/* - 文本框
/
private JTextField txtCollege;
private JTextField txtVersion;
private JTextField txtAuthor;
private JTextField txtTelephone;
private JTextField txtAddress;
private JTextField txtEmail;
/* - 按钮
/
private JButton btnSave;
private JButton btnExit;
/* - 状态服务对象
*/
private StatusService statusService;
/**
- 构造方法
- @param title
*/
public SetStatusBarFrame(String title) {
super(title);
initGUI();
}
/**
-
初始化用户界面
*/
private void initGUI() {
// 创建组件
panel = (JPanel) getContentPane();
panel1 = new JPanel();
panel2 = new JPanel();
panel3 = new JPanel();
panel4 = new JPanel();
panel5 = new JPanel();lblCollege = new JLabel(“校名:”);
lblVersion = new JLabel(“版本:”);
lblAuthor = new JLabel(“作者:”);
lblTelephone = new JLabel(“电话:”);
lblAddress = new JLabel(“地址:”);
lblEmail = new JLabel(“邮件:”);txtCollege = new JTextField(12);
txtVersion = new JTextField(12);
txtAuthor = new JTextField(12);
txtTelephone = new JTextField(12);
txtAddress = new JTextField(29);
txtEmail = new JTextField(29);btnSave = new JButton(“保存[S]”);
btnSave.setMnemonic(KeyEvent.VK_S);
btnExit = new JButton(“退出[X]”);
btnExit.setMnemonic(KeyEvent.VK_X);// 添加组件
panel.setLayout(new GridLayout(5, 1));
panel.add(panel1);
panel.add(panel2);
panel.add(panel3);
panel.add(panel4);
panel.add(panel5);panel1.add(lblCollege);
panel1.add(txtCollege);
panel1.add(lblVersion);
panel1.add(txtVersion);panel2.add(lblAuthor);
panel2.add(txtAuthor);
panel2.add(lblTelephone);
panel2.add(txtTelephone);panel3.add(lblAddress);
panel3.add(txtAddress);
panel4.add(lblEmail);
panel4.add(txtEmail);panel5.add(btnSave);
panel5.add(btnExit);// 创建状态服务对象
statusService = new StatusServiceImpl();
// 按标识符获取状态对象
Status status = statusService.findStatusById(1);
if (status != null) {
txtCollege.setText(status.getCollege());
txtVersion.setText(status.getVersion());
txtAuthor.setText(status.getAuthor());
txtAddress.setText(status.getAuthor());
txtTelephone.setText(status.getTelephone());
txtAddress.setText(status.getAddress());
txtEmail.setText(status.getEmail());
}// 设置窗口属性
setResizable(false);
pack();
setLocationRelativeTo(null);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 【关闭】按钮事件处理
btnExit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
dispose();
}
});// 【保存】按钮事件处理
btnSave.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 获取状态信息对象
Status status = statusService.findStatusById(1);
// 修改属性值
status.setCollege(txtCollege.getText());
status.setVersion(txtVersion.getText());
status.setAuthor(txtAuthor.getText());
status.setTelephone(txtTelephone.getText());
status.setAddress(txtAddress.getText());
status.setEmail(txtEmail.getText());
// 更新状态记录
int count = statusService.updateStatus(status);
// 判断是否更新成功
if (count > 0) {
Application.mainFrame.setStatusBar();
Application.mainFrame.setTitle(“学生信息管理系统” + status.getVersion());
}
}
});
}
}
然后在主界面里添加方法,在运行:
最后运行登录窗口,结果如下:
- 面板