java jtree和jtable练习

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) {

}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
package BookTest; import java.awt.*; import java.awt.event.*; import java.util.AbstractQueue; import java.util.Vector; import javax.swing.*; import javax.swing.table.*; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeCellRenderer; import javax.swing.tree.DefaultTreeModel; import javax.swing.tree.TreeSelectionModel; import javax.swing.event.*; import javax.swing.table.TableColumnModel; //import DbHelp.OperatorJobs; import Dao.ArrayBook; public class Test extends JFrame { public JPanel jp=null; public String aa; //JTable jTable1 = new JTable(); public JTable jTable1=null; private JTree jTree1; DefaultTableModel mode; private JScrollPane scrollPane = null; DefaultMutableTreeNode node; JButton[] btn={new JButton("增加"),new JButton("删除"),new JButton("修改"),new JButton("查询"),new JButton("重置")}; public JTextField[] txt ={new JTextField(),new JTextField(),new JTextField(),new JTextField(),new JTextField(),new JTextField()}; public String[] str1={"1","summer","boy","20","",""}; public String[] str2={"2","wulei","girl","19","",""}; public String[] str3={"3","west","boy","20","",""}; public String[] str4={"4","fish","girl","18","",""}; public String[] str5={"5","youku","boy","21","",""}; public String[] str6={"6","aa","boy","21","",""}; public String[][] tempData1={str1,str2,str3,str4,str5,str6}; public String[] aa1={"1","summer","boy","20","123","123"}; public String[] aa2={"2","wulei","girl","19","123",""}; public String[] aa3={"3","west","boy","20","123",""}; public String[] aa4={"4","fish","girl","18","1",""}; public String[] aa5={"5","youku","boy","21","12",""}; public String[] aa6={"6","aa","boy","21","123",""}; public String[][] tempData4={aa1,aa2,aa3,aa4,aa5,aa6}; //设置表头数据 public String[] tempTitle={"ID","标题","内容","作者","时间","是否选中"}; //设置表格的数据集合 Vector v1=new Vector(); Vecto
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值