⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xmassalesframe.java

📁 一个出售卡片信息的源码 是我的一个作业
💻 JAVA
字号:
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.text.NumberFormat;
import java.util.StringTokenizer;

public class XmasSalesFrame extends JPanel {

	private static final long serialVersionUID = 1L;

	public XmasSalesFrame() {
		try {
			jbInit();
		} catch (Exception ex) {
			ex.printStackTrace();
		}
	}

	private static JFrame frame = new JFrame();

	private void jbInit() throws Exception {

		displayCards.setBounds(new Rectangle(5, 4, 160, 23));
		displayCards.setText("Dispaly Cards");
		displayCards
				.addActionListener(new XmasSalesFrame_displayCards_actionAdapter(
						this));
		displayBarChart.setBounds(new Rectangle(170, 4, 160, 23));
		displayBarChart.setText("Display Bar Chart");
		displayBarChart
				.addActionListener(new XmasSalesFrame_displayBarChart_actionAdapter(
						this));
		sortPrintExit.setBounds(new Rectangle(335, 4, 160, 23));
		sortPrintExit.setText("Sort,Print and Exit");
		sortPrintExit
				.addActionListener(new XmasSalesFrame_sortPrintExit_actionAdapter(
						this));
		this.setLayout(null);
		frame.addWindowListener(new XmasSalesFrame_frame_windowAdapter(this));
		processSale.setBounds(new Rectangle(65, 311, 113, 25));
		processSale.setText("Process sale");
		processSale
				.addActionListener(new XmasSalesFrame_processSale_actionAdapter(
						this));
		clear.setBounds(new Rectangle(65, 335, 113, 25));
		clear.setText("Clear");
		clear.addActionListener(new XmasSalesFrame_clear_actionAdapter(this));
		quantity.setBounds(new Rectangle(337, 340, 128, 22));
		cardCode.setBounds(new Rectangle(337, 319, 128, 22));
		staffName.setBounds(new Rectangle(337, 298, 128, 22));
		q.setText("Quantity");
		q.setBounds(new Rectangle(275, 340, 63, 21));
		cc.setText("Card Code");
		cc.setBounds(new Rectangle(274, 320, 63, 21));
		sn.setText("Staff Name");
		sn.setBounds(new Rectangle(274, 298, 63, 21));
		jScrollPane1.setBounds(new Rectangle(5, 38, 489, 243));
		err.setBounds(new Rectangle(126, 281, 323, 15));
		chart.addWindowListener(new XmasSalesFrame_f_windowAdapter(this));
		this.add(displayCards);
		this.add(displayBarChart);
		this.add(sortPrintExit);
		this.add(processSale);
		this.add(clear);
		this.add(quantity);
		this.add(staffName);
		this.add(cardCode);
		this.add(sn);
		this.add(cc);
		this.add(q);
		this.add(jScrollPane1);
		this.add(err);
		jScrollPane1.getViewport().add(salesInfo);
	}

	JButton displayCards = new JButton();

	JButton displayBarChart = new JButton();

	JButton sortPrintExit = new JButton();

	JTextArea salesInfo = new JTextArea();

	JButton processSale = new JButton();

	JButton clear = new JButton();

	JTextField quantity = new JTextField();

	JTextField cardCode = new JTextField();

	JTextField staffName = new JTextField();

	JLabel q = new JLabel();

	JLabel cc = new JLabel();

	JLabel sn = new JLabel();

	JScrollPane jScrollPane1 = new JScrollPane();

	JLabel err = new JLabel();

	private static JFrame chart = new JFrame();

	private JFrame cards = new JFrame();

	private NumberFormat f = NumberFormat.getInstance();

	public void frame_windowClosing(WindowEvent e) {
		System.out.println();
	}

	public void displayCards_actionPerformed(ActionEvent e) {
		if (cards.getContentPane().getComponentCount() != 0)
			cards.getContentPane().remove(0);
		cards.setTitle("Cards");
		cards.getContentPane().add(new CardFrame());
		cards.setBounds(580, 460, 300, 170);
		cards.repaint();
		cards.setVisible(true);
	}

	public void displayBarChart_actionPerformed(ActionEvent e) {

		chart.setTitle("Quantity of Sales Chart");
		try {
			chart.getContentPane().add(new ChartFrame());
		} catch (Exception ex) {
			err.setText(ex.getMessage());
		}
		chart.setBounds(580, 150, 300, 300);
		chart.setVisible(true);
	}

	public void sortPrintExit_actionPerformed(ActionEvent e)
			throws Exception {

		PrintWriter fileOut = null;
		try {
			fileOut = new PrintWriter(new FileWriter("Sales.txt"));
			String s = salesInfo.getText();
			Print(s, fileOut);
		} catch (IOException ex) {
			err.setText(ex.getMessage());
		}
		File f = new File("n.html");
		f.delete();
		System.exit(1);
	}

	private void Print(String s, PrintWriter fileOut) {

		StringTokenizer br = new StringTokenizer(s, "\n");
		Bargain[] bargains = new Bargain[br.countTokens()];
		int i = 0;
		int total = 0;
		while (br.hasMoreTokens()) {
			String line = br.nextToken();
			Bargain bargain = new Bargain(line);
			bargains[i] = bargain;
			i++;
		}
		Bargain.sort(bargains);
		fileOut.println("          圣诞卡销售统计");
		fileOut.println("    ==========================");
		String index, temp = "";
		for (int j = 0; j < bargains.length; j++) {
			index = bargains[j].getIndex();
			if (!temp.equals(index)) {
				if (j != 0) {
					fileOut.println("================="
							+ "=======================================");
					double fee = total * (bargains[j - 1].getPrice());
					f.setMinimumFractionDigits(2);
					f.setMaximumFractionDigits(2);
					String f1 = f.format(fee);
					fileOut.println("总销量 :  " + total + "        " + "      $ "
							+ f1);
					fileOut.println("=========================="
							+ "==============================");
					fileOut.println();
				}
				total = 0;
				temp = index;
				try {
					fileOut.println(CardList.getCard(index).toString());
				} catch (Exception ex) {
					err.setText(ex.getMessage());
				}
			}
			total += bargains[j].getQuantity();
			fileOut.println(bargains[j].toString());
		}
		if (bargains.length != 0) {
			fileOut
					.println("========================================================");
			fileOut.println("总销量 :  " + total + "              $ " + total
					* (bargains[bargains.length - 1].getPrice()));
			fileOut
					.println("========================================================");
			fileOut.println();
		}

		fileOut.close();
	}

	public void f_windowClosing(WindowEvent e) {
		chart.setVisible(false);
	}

	public void processSale_actionPerformed(ActionEvent e) {
		String sName = staffName.getText();
		String cCode = cardCode.getText();
		int cQuantity = 0;
		if (quantity.getText() != null && !"".equals(quantity.getText())) {
			err.setText("");
			try {
				cQuantity = Integer.parseInt(quantity.getText());
			} catch (NumberFormatException ex) {
				err.setText("Please insert digit at the 'Quantity'");
				return;
			}
		} else {
			err.setText("Please insert the quantity");
			return;
		}
		try {
			new Sale(sName, cCode, cQuantity);
		} catch (Exception ex1) {
			err.setText(ex1.getMessage());
			return;
		}
		salesInfo.setText(SaleList.print());
	}

	public void clear_actionPerformed(ActionEvent e) {
		staffName.setText("");
		quantity.setText("");
		cardCode.setText("");
	}

	public void setErr(String error) {
		err.setText(error);
	}
}

class XmasSalesFrame_clear_actionAdapter implements ActionListener {
	private XmasSalesFrame adaptee;

	XmasSalesFrame_clear_actionAdapter(XmasSalesFrame adaptee) {
		this.adaptee = adaptee;
	}

	public void actionPerformed(ActionEvent e) {
		adaptee.clear_actionPerformed(e);
	}
}

class XmasSalesFrame_f_windowAdapter extends WindowAdapter {
	private XmasSalesFrame adaptee;

	XmasSalesFrame_f_windowAdapter(XmasSalesFrame adaptee) {
		this.adaptee = adaptee;
	}

	public void windowClosing(WindowEvent e) {
		adaptee.f_windowClosing(e);
	}
}

class XmasSalesFrame_sortPrintExit_actionAdapter implements ActionListener {
	private XmasSalesFrame adaptee;

	XmasSalesFrame_sortPrintExit_actionAdapter(XmasSalesFrame adaptee) {
		this.adaptee = adaptee;
	}

	public void actionPerformed(ActionEvent e) {
		try {
			adaptee.sortPrintExit_actionPerformed(e);
		} catch (Exception ex) {

		}
	}
}

class XmasSalesFrame_displayBarChart_actionAdapter implements ActionListener {
	private XmasSalesFrame adaptee;

	XmasSalesFrame_displayBarChart_actionAdapter(XmasSalesFrame adaptee) {
		this.adaptee = adaptee;
	}

	public void actionPerformed(ActionEvent e) {
		adaptee.displayBarChart_actionPerformed(e);
	}
}

class XmasSalesFrame_displayCards_actionAdapter implements ActionListener {
	private XmasSalesFrame adaptee;

	XmasSalesFrame_displayCards_actionAdapter(XmasSalesFrame adaptee) {
		this.adaptee = adaptee;
	}

	public void actionPerformed(ActionEvent e) {
		adaptee.displayCards_actionPerformed(e);
	}
}

class XmasSalesFrame_processSale_actionAdapter implements ActionListener {
	private XmasSalesFrame adaptee;

	XmasSalesFrame_processSale_actionAdapter(XmasSalesFrame adaptee) {
		this.adaptee = adaptee;
	}

	public void actionPerformed(ActionEvent e) {
		adaptee.processSale_actionPerformed(e);
	}
}

class XmasSalesFrame_frame_windowAdapter extends WindowAdapter {
	private XmasSalesFrame adaptee;

	XmasSalesFrame_frame_windowAdapter(XmasSalesFrame adaptee) {
		this.adaptee = adaptee;
	}

	public void windowClosing(WindowEvent e) {
		File f = new File("n.html");
		System.out.println(f.delete());
		adaptee.frame_windowClosing(e);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -