首页>代码>分享一个java的UI程序,awt+swing,一个桌球计费系统,按时间计费>/MyBilliardsCostSystem/src/com/weep/mbcs/app/ConfigDesk.java
package com.weep.mbcs.app;

import java.awt.Color;
import java.awt.Font;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.SwingConstants;
import javax.swing.table.DefaultTableCellRenderer;

import com.weep.mbcs.conf.Constants;
import com.weep.mbcs.conf.DaoXml;

/**
 * 设置程序参数.
 * @author weep
 * 
 */
public class ConfigDesk {
	private JFrame jf1;
	private JTable confTable;
	private JButton isOK;
	private JButton isNo;
	private Double timeUnit;
	private Double oneUnitExpense;
	private Integer isAdd;

	public ConfigDesk(final JFrame jFrame) {
		jf1 = new JFrame("收费参数配置");

		Object[] header = new Object[] { "key", "value" };
		Object[][] myTable = new Object[][] { new Object[] { "键", "值" },
				new Object[] { "收费单位时间", Constants.TIME_UNIT + "" },
				new Object[] { "单位时间收费", Constants.ONE_UNIT_EXPENSE + "" },
				new Object[] { "计费最小时间", Constants.IS_ADD + "" } };
		confTable = new JTable(myTable, header) {
			public boolean isCellEditable(int row, int col) {
				if (row == 0 || col == 0) {
					return false;
				}
				return true;
			}
		};

		confTable.setSelectionMode(0);
		confTable.isEditing();
		confTable.setLayout(null);
		confTable.setRowHeight(25);
		confTable.setFont(new Font("宋体 ", Font.CENTER_BASELINE, 16)); // 设置表字体

		confTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

		confTable.getColumnModel().getColumn(1).setPreferredWidth(100);

		DefaultTableCellRenderer render = new DefaultTableCellRenderer();

		render.setHorizontalAlignment(SwingConstants.CENTER);

		confTable.getColumn("key").setCellRenderer(render);
		confTable.getColumn("value").setCellRenderer(render);

		isOK = new JButton("确定");
		isNo = new JButton("取消");

		isOK.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent e) {
				try {
					System.out.println(confTable.getValueAt(1, 1) + " "
							+ confTable.getValueAt(2, 1) + " "
							+ confTable.getValueAt(3, 1));
					timeUnit = Double.parseDouble((String) confTable
							.getValueAt(1, 1));
					oneUnitExpense = Double.parseDouble((String) confTable
							.getValueAt(2, 1));
					isAdd = Integer.parseInt((String) confTable
							.getValueAt(3, 1));

				} catch (NumberFormatException e1) {
					timeUnit = null;
					oneUnitExpense = null;
					isAdd = null;
					JOptionPane.showMessageDialog(jf1, "请输入正确的数值参数!");
					return;
				} catch (Exception e3) {
					JOptionPane.showMessageDialog(jf1, "未知错误,请记录发生情况,联系作者!");
					return;
				}

				boolean b = DaoXml.setConf(timeUnit, oneUnitExpense, isAdd,
						jFrame);
				if (b) {
					JOptionPane.showMessageDialog(jf1, "设置完成,新设置将在重新启动本软件后生效!");
				} else {
					JOptionPane
							.showMessageDialog(jf1, "设置失败,请尝试以管理员身份重新运行此程序!");
				}
				jf1.setVisible(false);
				jFrame.setVisible(true);
				MyMenu.confDesk = null;
			}
		});

		isNo.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent e) {
				jf1.setVisible(false);
				jFrame.setVisible(true);
			}
		});

		Panel panel = new Panel();
		panel.setBounds(0, 0, 200, 30);
		panel.setBackground(Color.white);
		panel.add(isOK);
		panel.add(isNo);

		jf1.add(panel, "South");

		jf1.add(confTable);
		// 设置窗体大小
		jf1.setSize(400, 200);
		jf1.setLocationRelativeTo(null);
		jf1.setAlwaysOnTop(true);
		// 屏蔽默认关闭事件
		jf1.setDefaultCloseOperation(JFrame.NORMAL);
		// 设置窗体可见
		jf1.setVisible(true);
	}

}
最近下载更多
ann000  LV2 2023年7月3日
肖鹏程  LV1 2023年3月17日
zhos0212  LV19 2022年2月10日
1746397072  LV1 2020年10月16日
qyqzuidaima  LV1 2020年7月3日
R23456  LV1 2020年6月13日
们都怕坑恐怕  LV1 2020年6月3日
七七仔仔兒兒  LV1 2020年5月18日
ZYZAGXH  LV1 2019年12月18日
1372652034  LV2 2019年11月26日
最近浏览更多
vitos5n  LV9 5月3日
DuZhiTong  LV1 2月29日
ezra77934  LV2 2023年9月16日
ann000  LV2 2023年7月2日
1143011510  LV15 2023年5月18日
肖鹏程  LV1 2023年3月17日
13133117021  LV4 2022年12月24日
666ing  LV2 2022年12月16日
zdmxjxj  LV9 2022年12月12日
绝对零度  LV2 2022年8月2日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友