import javaawtEventQueue;
import javaxswingGroupLayout;
import javaxswingGroupLayoutAlignment;
import javaxswingJButton;
import javaxswingJFrame;
import javaxswingJLabel;
import javaxswingJPanel;
import javaxswingJScrollPane;
import javaxswingJTextArea;
import javaxswingJTextField;
import javaxswingLayoutStyleComponentPlacement;
import javaxswingborderEmptyBorder;
import javaxswingborderEtchedBorder;
public class Test extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel contentPane;
private JTextField textField;
private JTextField textField_1;
private JTextField textField_2;
private JTextField textField_3;
public static void main(String[] args) {
EventQueueinvokeLater(new Runnable() {
public void run() {
try {
Test frame = new Test();
framesetVisible(true);
} catch (Exception e) {
eprintStackTrace();
}
}
});
}
public Test() {
setDefaultCloseOperation(JFrameEXIT_ON_CLOSE);
setBounds(100, 100, 575, 410);
contentPane = new JPanel();
contentPanesetBorder(new EmptyBorder(5, 5, 5, 5));
contentPanesetLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
JPanel panel = new JPanel();
contentPaneadd(panel, BorderLayoutWEST);
JLabel label = new JLabel("\u54C1\u540D\uFF1A");
textField = new JTextField();
textFieldsetText("\u5927\u7C73");
textFieldsetColumns(10);
JLabel label_1 = new JLabel("\u6570\u91CF\uFF1A");
textField_1 = new JTextField();
textField_1setText("100");
textField_1setColumns(10);
JLabel label_2 = new JLabel("\u5355\u4EF7\uFF1A");
textField_2 = new JTextField();
textField_2setText("16");
textField_2setColumns(10);
JButton button = new JButton("\u6DFB\u52A0");
buttonsetBorder(new EtchedBorder(EtchedBorderLOWERED, null, null));
JButton button_1 = new JButton("\u5220\u9664");
button_1setBorder(new EtchedBorder(EtchedBorderLOWERED, null, null));
JButton button_2 = new JButton("\u5B9A\u4F4D");
button_2setBorder(new EtchedBorder(EtchedBorderLOWERED, null, null));
textField_3 = new JTextField();
textField_3setText("2");
textField_3setColumns(10);
JButton button_4 = new JButton("\u4ED8\u6B3E");
button_4setBorder(new EtchedBorder(EtchedBorderLOWERED, null, null));
JButton button_5 = new JButton("\u6E05\u5355");
button_5setBorder(new EtchedBorder(EtchedBorderLOWERED, null, null));
JButton button_6 = new JButton("\u6E05\u5C4F");
button_6setBorder(new EtchedBorder(EtchedBorderLOWERED, null, null));
JButton button_7 = new JButton("\u7B2C\u4E00\u4EF6\u5546\u54C1");
JButton button_8 = new JButton("\u6700\u540E\u4E00\u4EF6\u5546\u54C1");
JButton button_3 = new JButton("\u6E05\u7A7A");
button_3setBorder(new EtchedBorder(EtchedBorderLOWERED, null, null));
JScrollPane scrollPane = new JScrollPane();
GroupLayout gl_panel = new GroupLayout(panel);
gl_panelsetHorizontalGroup(
gl_panelcreateParallelGroup(AlignmentLEADING)
addGroup(gl_panelcreateSequentialGroup()
addContainerGap()
addGroup(gl_panelcreateParallelGroup(AlignmentLEADING)
addGroup(gl_panelcreateSequentialGroup()
addGroup(gl_panelcreateParallelGroup(AlignmentLEADING)
addGroup(gl_panelcreateSequentialGroup()
addComponent(label)
addPreferredGap(ComponentPlacementRELATED)
addComponent(textField, GroupLayoutPREFERRED_SIZE, GroupLayoutDEFAULT_SIZE, GroupLayoutPREFERRED_SIZE)
addGap(18)
addComponent(label_1)
addPreferredGap(ComponentPlacementRELATED)
addComponent(textField_1, GroupLayoutPREFERRED_SIZE, GroupLayoutDEFAULT_SIZE, GroupLayoutPREFERRED_SIZE)
addGap(18)
addComponent(label_2)
addPreferredGap(ComponentPlacementRELATED)
addComponent(textField_2, GroupLayoutPREFERRED_SIZE, GroupLayoutDEFAULT_SIZE, GroupLayoutPREFERRED_SIZE))
addGroup(gl_panelcreateSequentialGroup()
addComponent(button, GroupLayoutPREFERRED_SIZE, 52, GroupLayoutPREFERRED_SIZE)
addPreferredGap(ComponentPlacementRELATED)
addComponent(button_1, GroupLayoutPREFERRED_SIZE, 52, GroupLayoutPREFERRED_SIZE)
addPreferredGap(ComponentPlacementRELATED)
addGroup(gl_panelcreateParallelGroup(AlignmentLEADING)
addGroup(gl_panelcreateSequentialGroup()
addGap(22)
addComponent(button_7)
addGap(34)
addComponent(button_8))
addGroup(gl_panelcreateSequentialGroup()
addComponent(button_2, GroupLayoutPREFERRED_SIZE, 52, GroupLayoutPREFERRED_SIZE)
addPreferredGap(ComponentPlacementRELATED)
addComponent(textField_3, GroupLayoutPREFERRED_SIZE, GroupLayoutDEFAULT_SIZE, GroupLayoutPREFERRED_SIZE)
addPreferredGap(ComponentPlacementUNRELATED)
addComponent(button_3, GroupLayoutPREFERRED_SIZE, 52, GroupLayoutPREFERRED_SIZE)
addPreferredGap(ComponentPlacementRELATED, GroupLayoutDEFAULT_SIZE, ShortMAX_VALUE)
addComponent(button_4, GroupLayoutPREFERRED_SIZE, 52, GroupLayoutPREFERRED_SIZE)
addPreferredGap(ComponentPlacementRELATED)
addComponent(button_5, GroupLayoutPREFERRED_SIZE, 52, GroupLayoutPREFERRED_SIZE)
addPreferredGap(ComponentPlacementRELATED)
addComponent(button_6, GroupLayoutPREFERRED_SIZE, 52, GroupLayoutPREFERRED_SIZE)
addGap(5)))))
addGap(12))
addGroup(AlignmentTRAILING, gl_panelcreateSequentialGroup()
addComponent(scrollPane, GroupLayoutPREFERRED_SIZE, 495, GroupLayoutPREFERRED_SIZE)
addGap(29))))
);
gl_panelsetVerticalGroup(
gl_panelcreateParallelGroup(AlignmentLEADING)
addGroup(gl_panelcreateSequentialGroup()
addContainerGap()
addGroup(gl_panelcreateParallelGroup(AlignmentBASELINE)
addComponent(label)
addComponent(textField, GroupLayoutPREFERRED_SIZE, GroupLayoutDEFAULT_SIZE, GroupLayoutPREFERRED_SIZE)
addComponent(label_1)
addComponent(textField_1, GroupLayoutPREFERRED_SIZE, GroupLayoutDEFAULT_SIZE, GroupLayoutPREFERRED_SIZE)
addComponent(label_2)
addComponent(textField_2, GroupLayoutPREFERRED_SIZE, GroupLayoutDEFAULT_SIZE, GroupLayoutPREFERRED_SIZE))
addPreferredGap(ComponentPlacementRELATED)
addGroup(gl_panelcreateParallelGroup(AlignmentTRAILING)
addGroup(gl_panelcreateParallelGroup(AlignmentBASELINE)
addComponent(button, GroupLayoutPREFERRED_SIZE, 19, GroupLayoutPREFERRED_SIZE)
addComponent(button_1, GroupLayoutPREFERRED_SIZE, 19, GroupLayoutPREFERRED_SIZE)
addComponent(button_2, GroupLayoutPREFERRED_SIZE, 19, GroupLayoutPREFERRED_SIZE)
addComponent(textField_3, GroupLayoutPREFERRED_SIZE, GroupLayoutDEFAULT_SIZE, GroupLayoutPREFERRED_SIZE))
addComponent(button_4, GroupLayoutPREFERRED_SIZE, 19, GroupLayoutPREFERRED_SIZE)
addComponent(button_5, GroupLayoutPREFERRED_SIZE, 19, GroupLayoutPREFERRED_SIZE)
addComponent(button_6, GroupLayoutPREFERRED_SIZE, 19, GroupLayoutPREFERRED_SIZE)
addComponent(button_3, GroupLayoutPREFERRED_SIZE, 19, GroupLayoutPREFERRED_SIZE))
addPreferredGap(ComponentPlacementUNRELATED)
addGroup(gl_panelcreateParallelGroup(AlignmentBASELINE)
addComponent(button_8)
addComponent(button_7))
addGap(18)
addComponent(scrollPane, GroupLayoutPREFERRED_SIZE, 225, GroupLayoutPREFERRED_SIZE)
addGap(17))
);
JTextArea textArea = new JTextArea();
textAreasetText("\u6DFB\u52A00\u8BB0\u5F55\u82F9\u679C2\u65A4\uFF0C\u5355\u4EF725\u5143");
textAreasetRows(15);
scrollPanesetViewportView(textArea);
panelsetLayout(gl_panel);
}
}
import javaioFile;
import javaioFileOutputStream;
import javaioOutputStream;
import javautilScanner;
public class Demo02 {
public static void main(String[] args) throws Exception {
StringBuffer sb = new StringBuffer();
Scanner sc = new Scanner(Systemin);
for (int i = 0; i < 3; i++) {
Systemoutprint("请输入商品名字:\r\n");
String name = scnextLine();
Systemoutprint("请输入商品价格:\r\n");
String price = scnextLine();
sbappend("("+name+"/"+price+")\r\n");
}
File file = new File("C:\\MyDatatxt");
if(!fileexists()){
filecreateNewFile();
}
OutputStream os = new FileOutputStream(file);
byte[] bytes = sbtoString()getBytes();
oswrite(bytes, 0, byteslength);
osclose();
scclose();
}
}这需要做后台服务系统,购物系统许多都是分前台和后台的,,前台基本上是做显示物品信息,用户提交订单等,,后台做物品信息的增删改查,前台页面的显示属性等等,,,我就是做的网上购书系统,,为毕业设计,,嘻嘻:-DN种办法
1、mybatis 配置文件 写SQL 解决
2、通过JAVA service 通过父类信息查询子类并封装
3、提供一个接口,前台二级联动方式,点第一个给后台传值0 ,查询父ID为0 的 当点击第二个联动的时候 把第一个信息的ID 给你传过去,如 电子数码ID 为1 那就传1 后台还是根据父类查询,也就是 父类ID 1 这样就查出 所对应的 子类信息了。很久没用控制台输入了……所以有些问题……不过应该能运行……汗……
文件名:ShoppingListjava
package dsctesttest;
import javautilScanner;
import javautilList;
import javautilLinkedList;
public class ShoppingList {
public static void main(String[] args){
List<Goods> shoppingList = new LinkedList<Goods>();
Goods goods;
double shoppingPrice = 00;
boolean test = true;
while(test){
Systemoutprintln("输入商品名,商品价格,商品数量以回车间隔。输入完毕按两次回车键");
try
{
goods = new Goods(readString(),DoubleparseDouble(readString()),IntegerparseInt(readString()));
shoppingPrice += goodsgetAllPrice();
shoppingListadd(goods);
}catch(Exception e){
test = !test;
}
}
Systemoutprintln("总消费:"+shoppingPrice);
}
static String readString() {
Scanner scanner = new Scanner(Systemin);
return scannernextLine();
}
}
class Goods{
private String name = "";
private double price = 00;
private int num = 0;
private double allPrice = 00;
Goods(){
}
Goods(String name, double price, int num){
thisname = name;
thisprice = price;
thisnum = num;
thisallPrice = num price;
}
String getName() {
return name;
}
double getPrice() {
return price;
}
int getNum() {
return num;
}
double getAllPrice() {
return allPrice;
}
}
在前期准备过程中,先策划好自己的网站及相关的各个网页所要表达的内容,主要实现哪些功能,如用户登录,商品查找,这些功能是由什么样的jsp或
javabean实现的,在编写好这些功能后,又是怎么样在各个页面html中插入这些实现功能的代码,是用脚本呢还是用调用,这些都是我们事先要考虑的
问题,只有这样我们考虑周到了,明白了,才能顺利实现更多的功能,达到事半功倍的效果。再一个主要任务是在网上搜集有关的信息和,并参考借鉴别人的网
站布局和功能,来规划美化自己的网页页面的设置风格。在此次课程设计中,我主要负责商品信息查询部分功能的实现和商品公告栏包括商城公告,销量排行,友情
链接等功能的实现,这些功能都是有链接的,有的连接到本网站有关内容,有的是连接到以外的网站。在页面布局中,并没有遇到什么困难,主要是合理正确利用网
页制作标记,实现准确定位。遇到的困难主要集中在页面的具体在浏览器的显示上,在一个页面中,实现一小部分的动态转换,另一部分静态的要在每一个网页中都
要显示。这其中,不仅要准确利用网页的框架布置外,还要充分考虑到用代码实现另外的页面或窗口的布局和美化。在编写代码过程中,要充分考虑其他页面的有关
情况,jsp有关功能的封装和转换,页面的交换,以及有关页面包含的所能实现具体功能的jsp代码等。在编写实现功能的代码中,遇到困难是最多的了。点击
商城公告里面的内容时,能d出来一个详细信息的界面,这个界面就是需要在页面中插入jsp脚本
我自己,以前做过ERP系统,后来做过电商系统,都是使用的java开发的。
对于作者所说,如果使用java做一个小型超市的管理系统完全,完全是可以实现的。
一、系统功能分类
一个完整的超市管理系统,大的方向上分,可以有:收银系统(超市收银使用的)、后台管理系统(商品、人、财务管理系统)。
1、收银系统
银系统就是超市正在卖货和收钱的系统,涉及到商品和财务的流转。
2、后台管理系统
一个超市的后台管理系统,比较复杂,从业务上说,主要涉及到的三大块:商品、人、财务。其实很多的管理系统都是通过这三个手段开始的。其他所有功能模块都是根据这几个主要功能去实现的。
商品相关模块:商品信息录入、商品属性、商品规格、商品品类、订单模块、收货模块、发货模块、盘点模块。
人相关模块:员工信息管理、权限管理
财务信息:供应商信息、供应商合同、对账模块、发票模块。
这些模块都是后台管理模块的一些功能模块。当然,财务系统可以使用第三方的财务系统,比如金蝶或者SAP等等。
二、根据不同系统进行技术选型
1、收银系统技术选型
收银系统由于涉及到界面开发,并且是收银机界面,可以使用swing框架和restful去开发界面,数据库可以使用db2或者postgresql。
2、后端管理系统开发
后台前端:可以使用ES或者nodeJS,前后端分离,使用restful来进行访问后端服务系统。
后端服务系统:现在一般使用springMVC或者springboot作为框架,使用hibernate或者mybaits作为ORM框架,数据库一般采用mysql或者oracle,单元测试部分可以使用Junit进行,使用swagger进行接口测试。这些技术对于一般的数据量和小型系统来说已经够用了。
如果数据量比较大,可以考虑一下技术方案:缓存使用Redis、消息队列使用activeMQ或则rabbitMQ,dubbo作为RPC框架,。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)