java jtree和jtable练习

xiaoxiao2021-02-28  61

public class goods extends JFrame implements ActionListener{ private JPanel contentPane; private JScrollPane scrollPane; private JTree tree; private JTable table; private JButton btnNewButton; private JTextField textField; private JTextField textField_1; private JTextField textField_2; private JButton button_4; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { goods frame = new goods(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public goods() { Vector vc = new Vector();  //设置vector 来添加表单 vc.add(1001); vc.add("烟"); vc.add("中华"); vc.add(50); vc.add(1); Vector vc1 = new Vector(); vc1.add(2164); vc1.add("酒"); vc1.add("青岛"); vc1.add(4);//单价 vc1.add(1);//数量 Vector vc2 = new Vector(); vc2.add(378412); vc2.add("茶"); vc2.add("龙井"); vc2.add(900); vc2.add(1); Vector vc3 = new Vector(); vc3.add(14512); vc3.add("酒"); vc3.add("茅台"); vc3.add(500); vc3.add(1); Vector vc4 = new Vector(); vc4.add(45454); vc4.add("酒"); vc4.add("哈啤"); vc4.add(5); vc4.add(1); Vector vc5 = new Vector(); vc5.add(42454); vc5.add("酒"); vc5.add("西凤"); vc5.add(260); vc5.add(1); Vector vc6 = new Vector(); vc6.add(445794); vc6.add("烟"); vc6.add("芙蓉王"); vc6.add(24); vc6.add(1); Vector vc7 = new Vector(); vc7.add(84248); vc7.add("烟"); vc7.add("兰州"); vc7.add(7); vc7.add(1); Vector vc8 = new Vector(); vc8.add(74248); vc8.add("烟"); vc8.add("好猫"); vc8.add(20); vc8.add(1); Vector vc9 = new Vector(); vc9.add(2474248); vc9.add("茶"); vc9.add("铁观音"); vc9.add(120); vc9.add(1); Vector vc10 = new Vector(); vc10.add(2474248); vc10.add("茶"); vc10.add("大红袍"); vc10.add(250); vc10.add(1); Vector vc11 = new Vector(); vc11.add(2474248); vc11.add("茶"); vc11.add("毛峰"); vc11.add(360); vc11.add(1); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 817, 600); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); setVisible(true); setTitle("库存管理"); scrollPane = new JScrollPane(); table = new JTable(); table.setModel(new DefaultTableModel( new Object[][] { {"\u5546\u54C1\u7F16\u53F7", "\u54C1\u7C7B", "\u54C1\u540D", "\u5355\u4EF7", "\u6570\u91CF"}, }, new String[] { "New column", "New column", "New column", "New column", "New column" } )); DefaultTableModel dtm =  (DefaultTableModel)table.getModel(); String[] str = {"序号","品类","品名","单价","数量"}; dtm.setColumnIdentifiers(str); //创建表头,表头的类型可以是vector 或者Object[] btnNewButton = new JButton("增加"); //点击增加按钮,增加全部菜单项 btnNewButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { dtm.addRow(vc); dtm.addRow(vc1); dtm.addRow(vc2); dtm.addRow(vc3); dtm.addRow(vc4); dtm.addRow(vc5); dtm.addRow(vc6); dtm.addRow(vc7); dtm.addRow(vc8); dtm.addRow(vc9); dtm.addRow(vc10); dtm.addRow(vc11); } }); JButton button_1 = new JButton("\u5220\u9664"); button_1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { dtm.removeRow(1); } }); JTextArea textArea = new JTextArea(); JLabel lblNewLabel = new JLabel("\u5E94\u6536\uFF1A"); textField = new JTextField(); textField.setColumns(10); JLabel label = new JLabel("\u5B9E\u6536\uFF1A"); textField_1 = new JTextField(); textField_1.setColumns(10); JLabel label_1 = new JLabel("\u627E\u96F6\uFF1A"); textField_2 = new JTextField(); textField_2.setColumns(10); JButton btnNewButton_1 = new JButton("\u7ED3\u7B97"); btnNewButton_1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { int hang = table.getRowCount()-1;//返回行数,减去一行标题 int total = 0; //定义一个总数   for(int i=1;i<=hang;i++){     total += (int) table.getValueAt(i,3); //找到第i行,第3列的table,相加     }    textField.setText(String.valueOf(total));     } }); JButton button_3 = new JButton("\u6E05\u7A7A"); button_3.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { textField.setText(null); textField_1.setText(null); textField_2.setText(null); } }); button_4 = new JButton("\u627E\u96F6"); button_4.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { int i = Integer.parseInt(textField_1.getText())-Integer.parseInt(textField.getText()); textField_2.setText(String.valueOf(i)); } }); JRadioButton rdbtnNewRadioButton = new JRadioButton("打印小票"); rdbtnNewRadioButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { } }); GroupLayout gl_contentPane = new GroupLayout(contentPane); gl_contentPane.setHorizontalGroup( gl_contentPane.createParallelGroup(Alignment.LEADING) .addGroup(gl_contentPane.createSequentialGroup() .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING) .addGroup(gl_contentPane.createSequentialGroup() .addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, 170, GroupLayout.PREFERRED_SIZE) .addGap(18) .addComponent(table, GroupLayout.PREFERRED_SIZE, 419, GroupLayout.PREFERRED_SIZE)) .addGroup(gl_contentPane.createSequentialGroup() .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING, false) .addGroup(gl_contentPane.createSequentialGroup() .addComponent(textArea, GroupLayout.PREFERRED_SIZE, 592, GroupLayout.PREFERRED_SIZE) .addGap(18)) .addGroup(gl_contentPane.createSequentialGroup() .addComponent(rdbtnNewRadioButton) .addGap(53))) .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING, false) .addGroup(gl_contentPane.createSequentialGroup() .addComponent(label_1, GroupLayout.PREFERRED_SIZE, 36, GroupLayout.PREFERRED_SIZE) .addPreferredGap(ComponentPlacement.RELATED) .addComponent(textField_2)) .addGroup(gl_contentPane.createSequentialGroup() .addComponent(lblNewLabel) .addPreferredGap(ComponentPlacement.RELATED) .addComponent(textField, GroupLayout.PREFERRED_SIZE, 114, GroupLayout.PREFERRED_SIZE)) .addGroup(gl_contentPane.createSequentialGroup() .addComponent(label, GroupLayout.PREFERRED_SIZE, 36, GroupLayout.PREFERRED_SIZE) .addPreferredGap(ComponentPlacement.RELATED) .addComponent(textField_1, GroupLayout.PREFERRED_SIZE, 114, GroupLayout.PREFERRED_SIZE)) .addGroup(gl_contentPane.createSequentialGroup() .addComponent(btnNewButton_1) .addPreferredGap(ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(button_3, GroupLayout.PREFERRED_SIZE, 57, GroupLayout.PREFERRED_SIZE))))) .addContainerGap(100, Short.MAX_VALUE)) .addGroup(gl_contentPane.createSequentialGroup() .addGap(70) .addComponent(btnNewButton) .addPreferredGap(ComponentPlacement.RELATED, 365, Short.MAX_VALUE) .addComponent(button_1, GroupLayout.PREFERRED_SIZE, 57, GroupLayout.PREFERRED_SIZE) .addGap(325)) .addGroup(Alignment.TRAILING, gl_contentPane.createSequentialGroup() .addContainerGap(752, Short.MAX_VALUE) .addComponent(button_4, GroupLayout.PREFERRED_SIZE, 57, GroupLayout.PREFERRED_SIZE) .addGap(65)) ); gl_contentPane.setVerticalGroup( gl_contentPane.createParallelGroup(Alignment.LEADING) .addGroup(gl_contentPane.createSequentialGroup() .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE) .addComponent(scrollPane, GroupLayout.DEFAULT_SIZE, 175, Short.MAX_VALUE) .addComponent(table, GroupLayout.PREFERRED_SIZE, 173, GroupLayout.PREFERRED_SIZE)) .addGap(18) .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE) .addComponent(btnNewButton) .addComponent(button_1)) .addGap(48) .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE) .addComponent(textArea, GroupLayout.PREFERRED_SIZE, 152, GroupLayout.PREFERRED_SIZE) .addGroup(gl_contentPane.createSequentialGroup() .addComponent(lblNewLabel) .addGap(39) .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE) .addComponent(label) .addComponent(textField_1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) .addGap(39) .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE) .addComponent(label_1) .addComponent(textField_2, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))) .addComponent(textField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) .addGap(15) .addComponent(button_4) .addGap(18) .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE) .addComponent(btnNewButton_1) .addComponent(button_3) .addComponent(rdbtnNewRadioButton)) .addGap(57)) ); tree = new JTree(); scrollPane.setViewportView(tree); tree.addTreeSelectionListener(new TreeSelectionListener() { @Override public void valueChanged(TreeSelectionEvent e) { Object st = e.getPath().getLastPathComponent(); if(st.toString().equals("中华")){ dtm.addRow(vc); }else if(st.toString().equals("茅台")){ dtm.addRow(vc3); }else if(st.toString().equals("青岛")){ dtm.addRow(vc1); }else if(st.toString().equals("龙井")){ dtm.addRow(vc2); }else if(st.toString().equals("芙蓉王")){ dtm.addRow(vc6); }else if(st.toString().equals("好猫")){ dtm.addRow(vc8); }else if(st.toString().equals("兰州")){ dtm.addRow(vc7); }else if(st.toString().equals("哈啤")){ dtm.addRow(vc4); }else if(st.toString().equals("西凤")){ dtm.addRow(vc5); }else if(st.toString().equals("铁观音")){ dtm.addRow(vc9); }else if(st.toString().equals("大红袍")){ dtm.addRow(vc10); }else if(st.toString().equals("毛峰")){ dtm.addRow(vc11); } } }); tree.setModel(new DefaultTreeModel( new DefaultMutableTreeNode("商品类目") { { DefaultMutableTreeNode node1; node1 = new DefaultMutableTreeNode("烟"); node1.add(new DefaultMutableTreeNode("中华")); node1.add(new DefaultMutableTreeNode("芙蓉王")); node1.add(new DefaultMutableTreeNode("好猫")); node1.add(new DefaultMutableTreeNode("兰州"));     add(node1);        DefaultMutableTreeNode node2;        node2 = new DefaultMutableTreeNode("酒");        node2.add(new DefaultMutableTreeNode("青岛"));        node2.add(new DefaultMutableTreeNode("哈啤"));        node2.add(new DefaultMutableTreeNode("茅台"));        node2.add(new DefaultMutableTreeNode("西凤"));     add(node2);    DefaultMutableTreeNode node3;    node3 = new DefaultMutableTreeNode("茶");    node3.add(new DefaultMutableTreeNode("龙井"));    node3.add(new DefaultMutableTreeNode("铁观音"));    node3.add(new DefaultMutableTreeNode("大红袍"));    node3.add(new DefaultMutableTreeNode("毛峰"));    add(node3); } } )); contentPane.setLayout(gl_contentPane); } @Override public void actionPerformed(ActionEvent arg0) { } }
转载请注明原文地址: https://www.6miu.com/read-79478.html

最新回复(0)