📄 stock.java
字号:
package avanti;
//import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.*;
import javax.swing.*;
import java.awt.Container;
public class Stock extends JFrame implements ActionListener {
JLabel sxf, yhs, ghf, wtf, bsxf, byhs, bghf, bwtf, fyzc, bfyzc, zjkz, cbjg,
bbjg, sxf1, yhs1, ghf1, mrjg, mrsl, mcjg, mcsl;
JLabel zjsr, dtyl, mgyl;
JTextField tb_mrjg, tb_mrsl, tb_sxf, tb_yhs, tb_ghf, tb_wtf, tb_fyzc,
tb_zjkz, tb_cbjg, tb_bbjg;// buy
JTextField ts_mcjg, ts_mcsl, ts_sxf, ts_yhs, ts_ghf, ts_wtf, ts_fyzc,
ts_zjsr, ts_dtyl, ts_mgyl;// sell
JComboBox c_sxf1, c_yhs1, c_ghf1;
JRadioButton sh, sz, fj;
int flag = 0;
double temp, tmpsxf, tmpyhs, tmpghf, tmpzjkz, tmpzjsr, tmpcbjg, tmpdtyl,
tmpmgyl, tmpbbjg, tt, tt1, tt2, tt3, tt4, tt5, tt6, tt7;
double kz = 0,// 总计开支
bb = 0;// 保本
ButtonGroup choice;
JButton btnbuy, btnsell;
JPanel panelset, panel2, panel3, panel4, panel5, panel6, panel7;
Container con;
String[] a = new String[] { "3", "2.9", "2.8", "2.7", "2.6", "2.5", "2.4",
"2.3", "2.2", "2.1", "2.0", "1.9", "1.8", "1.7", "1.6", "1.5",
"1.4", "1.3", "1.2", "1.1", "1.0", "0.9", "0.8", "0.7", "0.6",
"0.5", "0.4", "0.3", "0.2", "0.1", "0.0" };
String[] b = new String[] { "3", "2", "1" };;
String[] c = new String[] { "1" };
Stock() {
super("股票权证成本计算器 by 项铭侃 2007.10.30");
try {
sxf = new JLabel("手续费");
yhs = new JLabel("印花税");
ghf = new JLabel("过户费");
wtf = new JLabel("委托费");
bsxf = new JLabel("手续费");
byhs = new JLabel("印花税");
bghf = new JLabel("过户费");
bwtf = new JLabel("委托费");
sxf1 = new JLabel("手续费‰");
yhs1 = new JLabel("印花税‰");
ghf1 = new JLabel("过户费‰");
choice = new ButtonGroup();
sh = new JRadioButton("上海A股");
sz = new JRadioButton("深圳A股");
fj = new JRadioButton("封基,权证");
btnbuy = new JButton("OK");
btnbuy.addActionListener(this);
btnsell = new JButton("OK");
btnsell.addActionListener(this);
choice.add(sh);
choice.add(sz);
choice.add(fj);
c_sxf1 = new JComboBox(a);
c_sxf1.setSelectedIndex(9);
c_yhs1 = new JComboBox(b);
c_ghf1 = new JComboBox(c);
Box boxLayout = Box.createVerticalBox();// 创建一个垂直排列的Box
boxLayout.setBorder(BorderFactory.createEmptyBorder(10, 20, 5, 5)); // 设置边界
con = getContentPane();
con.setLayout(new FlowLayout());
panelset = new JPanel();
panelset.add(sh);
panelset.add(sz);
panelset.add(fj);
panelset.add(sxf1);
panelset.add(c_sxf1);
panelset.add(yhs1);
panelset.add(c_yhs1);
panelset.add(ghf1);
panelset.add(c_ghf1);
con.add(panelset);
panel2 = new JPanel();
panel2.setLayout(new GridLayout());
panel3 = new JPanel();
panel3.setLayout(new GridLayout());
panel4 = new JPanel();
panel4.setLayout(new GridLayout());
panel5 = new JPanel();
panel5.setLayout(new GridLayout());
panel6 = new JPanel();
panel6.setLayout(new GridLayout());
panel7 = new JPanel();
panel7.setLayout(new GridLayout());
mrjg = new JLabel("买入价格");
mrsl = new JLabel("买入数量");
mcjg = new JLabel("卖出价格");
mcsl = new JLabel("卖出数量");
fyzc = new JLabel("费用支出");
bfyzc = new JLabel("费用支出");
zjkz = new JLabel("总计开支");
cbjg = new JLabel("成本价格");
bbjg = new JLabel("保本价格");
zjsr = new JLabel("总计收入");
dtyl = new JLabel("动态盈利");
mgyl = new JLabel("每股盈利");
tb_mrjg = new JTextField();
tb_mrsl = new JTextField();
tb_sxf = new JTextField(7);
tb_sxf.setEditable(false);
tb_yhs = new JTextField(7);
tb_yhs.setEditable(false);
tb_ghf = new JTextField(7);
tb_ghf.setEditable(false);
tb_wtf = new JTextField(7);
tb_wtf.setEditable(false);
tb_fyzc = new JTextField(7);
tb_fyzc.setEditable(false);
tb_zjkz = new JTextField(7);
tb_zjkz.setEditable(false);
tb_cbjg = new JTextField(7);
tb_cbjg.setEditable(false);
tb_bbjg = new JTextField(7);
tb_bbjg.setEditable(false);
panel2.add(mrjg);
panel2.add(tb_mrjg);
panel2.add(mrsl);
panel2.add(tb_mrsl);
panel2.add(btnbuy);
panel3.add(bsxf);
panel3.add(tb_sxf);
panel3.add(byhs);
panel3.add(tb_yhs);
panel3.add(bghf);
panel3.add(tb_ghf);
panel3.add(bwtf);
panel3.add(tb_wtf);
panel4.add(bfyzc);
panel4.add(tb_fyzc);
panel4.add(zjkz);
panel4.add(tb_zjkz);
panel4.add(cbjg);
panel4.add(tb_cbjg);
panel4.add(bbjg);
panel4.add(tb_bbjg);
con.add(panel2);
con.add(panel3);
con.add(panel4);
ts_mcjg = new JTextField();
ts_mcsl = new JTextField();
ts_sxf = new JTextField(7);
ts_sxf.setEditable(false);
ts_yhs = new JTextField(7);
ts_yhs.setEditable(false);
ts_ghf = new JTextField(7);
ts_ghf.setEditable(false);
ts_wtf = new JTextField(7);
ts_wtf.setEditable(false);
ts_fyzc = new JTextField(7);
ts_fyzc.setEditable(false);
ts_zjsr = new JTextField(7);
ts_zjsr.setEditable(false);
ts_dtyl = new JTextField(7);
ts_dtyl.setEditable(false);
ts_mgyl = new JTextField(7);
ts_mgyl.setEditable(false);
panel5.add(mcjg);
panel5.add(ts_mcjg);
panel5.add(mcsl);
panel5.add(ts_mcsl);
panel5.add(btnsell);
panel6.add(sxf);
panel6.add(ts_sxf);
panel6.add(yhs);
panel6.add(ts_yhs);
panel6.add(ghf);
panel6.add(ts_ghf);
panel6.add(wtf);
panel6.add(ts_wtf);
panel7.add(fyzc);
panel7.add(ts_fyzc);
panel7.add(zjsr);
panel7.add(ts_zjsr);
panel7.add(dtyl);
panel7.add(ts_dtyl);
panel7.add(mgyl);
panel7.add(ts_mgyl);
con.add(panel5);
con.add(panel6);
con.add(panel7);
setBounds(200, 200, 670, 250);
setVisible(true);
validate();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} catch (Exception ex) {
ex.printStackTrace();
}
}
static double convert(double value) {
long l1 = Math.round(value * 100); // 四舍五入
double ret = l1 / 100.0; // 注意:使用 100.0 而不是 100
return ret;
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btnbuy) {
if (!sh.isSelected() && !sz.isSelected() && !fj.isSelected()) {
JOptionPane.showMessageDialog(this, "请选择上海A股,深圳A股,封基", "警告对话框",
JOptionPane.WARNING_MESSAGE);
} else {
if (sh.isSelected()) {// 上海
try {
double price = Double.parseDouble(tb_mrjg.getText());
int sum = Integer.parseInt(tb_mrsl.getText());
temp = Double.parseDouble((String) c_sxf1
.getSelectedItem());
// System.out.println(c_sxf1.getSelectedItem());
tmpsxf = price * sum * temp * 0.001;
double tt = convert(tmpsxf);
if (tt < 5) {
tt = 5;
}
String tmp = Double.toString(tt);
tb_sxf.setText(tmp);
temp = Double.parseDouble((String) c_yhs1
.getSelectedItem());
tmpyhs = price * sum * temp * 0.001;
tt1 = convert(tmpyhs);
tmp = Double.toString(tt1);
tb_yhs.setText(tmp);
temp = Double.parseDouble((String) c_ghf1
.getSelectedItem());
tmpghf = sum * temp * 0.001;
tt2 = convert(tmpghf);
if (tt2 < 1) {
tt2 = 1;
}
tmp = Double.toString(tt2);
tb_ghf.setText(tmp);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -