2017-07-11(Jtree和table的应用)

package gui;

import java.awt.BorderLayout;

public class Spml extends JFrame {

private JPanel contentPane;
private JTable table;
private JTextField textField;
private JTextField textField_1;
private JTextField textField_2;
private JButton btnNewButton_2;
private JButton btnNewButton_3;

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Spml frame = new Spml();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public Spml() {
final Vector vc=new Vector();
vc.add("烟");
vc.add("芙蓉王");
vc.add(20);
vc.add(1);

final Vector vc1=new Vector();
vc1.add("烟");
vc1.add("中华");
vc1.add(60);
vc1.add(1);

final Vector vc2=new Vector();
vc2.add("烟");
vc2.add("猴王");
vc2.add(10);
vc2.add(1);

final Vector vc3=new Vector();
vc3.add("酒");
vc3.add("青岛");
vc3.add(8);
vc3.add(1);

final Vector vc4=new Vector();
vc4.add("酒");
vc4.add("崂山");
vc4.add(6);
vc4.add(1);

final Vector vc5=new Vector();
vc5.add("酒");
vc5.add("伏特加");
vc5.add(200);
vc5.add(1);

final Vector vc6=new Vector();
vc6.add("日用品");
vc6.add("毛巾");
vc6.add(25);
vc6.add(1);

final Vector vc7=new Vector();
vc7.add("日用品");
vc7.add("肥皂");
vc7.add(20);
vc7.add(1);

final Vector vc8=new Vector();
vc8.add("日用品");
vc8.add("餐巾纸");
vc8.add(2);
vc8.add(1);
//vc.add(arg0)
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 832, 517);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);

table = new JTable();
table.setModel(new DefaultTableModel(
new Object[][] {
{"\u79CD\u7C7B", "\u7C7B\u540D", "\u4EF7\u683C", "\u6570\u91CF "},
},
new String[] {
"New column", "New column", "New column", "New column"
}
));
final DefaultTableModel dtm = (DefaultTableModel)table.getModel();
String[] str = {"种类","类名","价格","数量"};
dtm.setColumnIdentifiers(str);
table.setBackground(Color.GREEN);
table.setBorder(new BevelBorder(BevelBorder.LOWERED, null, null, null, null));

JTree tree = new JTree();
tree.setBackground(Color.CYAN);
tree.setBorder(new CompoundBorder());
tree.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent arg0) {
Object st = arg0.getPath().getLastPathComponent();

if(st.toString().equals("芙蓉王")){
dtm.addRow(vc);;
}else if(st.toString().equals("中华")){
dtm.addRow(vc1);
}else if(st.toString().equals("猴王")){
dtm.addRow(vc2);
}else if(st.toString().equals("青岛")){
dtm.addRow(vc3);
}else if(st.toString().equals("崂山")){
dtm.addRow(vc4);
}else if(st.toString().equals("伏特加")){
dtm.addRow(vc5);
}else if(st.toString().equals("毛巾")){
dtm.addRow(vc6);
}else if(st.toString().equals("肥皂")){
dtm.addRow(vc7);
}else if(st.toString().equals("餐巾纸")){
dtm.addRow(vc8);
}}
});
tree.setModel(new DefaultTreeModel(
new DefaultMutableTreeNode("商品目录") {
{
DefaultMutableTreeNode node_1;
node_1 = new DefaultMutableTreeNode("烟");
node_1.add(new DefaultMutableTreeNode("芙蓉王"));
node_1.add(new DefaultMutableTreeNode("中华"));
node_1.add(new DefaultMutableTreeNode("猴王"));
add(node_1);
node_1 = new DefaultMutableTreeNode("酒");
node_1.add(new DefaultMutableTreeNode("青岛"));
node_1.add(new DefaultMutableTreeNode("崂山"));
node_1.add(new DefaultMutableTreeNode("伏特加"));
add(node_1);
node_1 = new DefaultMutableTreeNode("日用品");
node_1.add(new DefaultMutableTreeNode("毛巾"));
node_1.add(new DefaultMutableTreeNode("肥皂"));
node_1.add(new DefaultMutableTreeNode("餐巾纸"));
add(node_1);
}
}
));

JButton btnNewButton = new JButton("\u5E94\u6536");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
int L=table.getRowCount()-1;
int total=0;
for(int i=1;i<=L;i++){
total +=(int)table.getValueAt(i, 2);
}textField.setText(String.valueOf(total));
}
});

JLabel label = new JLabel("");

textField = new JTextField();
textField.setColumns(10);

JLabel label_1 = new JLabel("\u5B9E\u6536\uFF1A");

textField_1 = new JTextField();
textField_1.setColumns(10);

JButton btnNewButton_1 = new JButton("\u627E\u96F6");
btnNewButton_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int a=Integer.parseInt(textField_1.getText())-Integer.parseInt(textField.getText());
textField_2.setText(String.valueOf(a));
}
});

textField_2 = new JTextField();
textField_2.setColumns(10);

btnNewButton_2 = new JButton("\u589E\u52A0");
btnNewButton_2.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);;
}
});

btnNewButton_3 = new JButton("\u5220\u9664");
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()
.addContainerGap(25, Short.MAX_VALUE)
.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING, false)
.addGroup(gl_contentPane.createSequentialGroup()
.addComponent(btnNewButton_2)
.addGap(65)
.addComponent(btnNewButton))
.addGroup(gl_contentPane.createSequentialGroup()
.addComponent(btnNewButton_3)
.addPreferredGap(ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(label_1)
.addGap(9)))
.addGap(32))
.addGroup(gl_contentPane.createSequentialGroup()
.addGap(73)
.addComponent(tree, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(ComponentPlacement.RELATED)))
.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
.addGroup(gl_contentPane.createSequentialGroup()
.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
.addComponent(textField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addGroup(gl_contentPane.createSequentialGroup()
.addGap(141)
.addComponent(btnNewButton_1)))
.addGap(42)
.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
.addGroup(gl_contentPane.createSequentialGroup()
.addComponent(table, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(label))
.addComponent(textField_2, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)))
.addComponent(textField_1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
.addContainerGap(26, Short.MAX_VALUE))
);
gl_contentPane.setVerticalGroup(
gl_contentPane.createParallelGroup(Alignment.LEADING)
.addGroup(gl_contentPane.createSequentialGroup()
.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
.addGroup(gl_contentPane.createSequentialGroup()
.addGap(16)
.addComponent(label))
.addGroup(gl_contentPane.createSequentialGroup()
.addContainerGap()
.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
.addComponent(table, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(tree, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))))
.addPreferredGap(ComponentPlacement.RELATED, 332, Short.MAX_VALUE)
.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
.addComponent(btnNewButton_2)
.addComponent(btnNewButton)
.addComponent(textField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
.addGap(30)
.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
.addComponent(btnNewButton_3)
.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
.addComponent(label_1)
.addComponent(textField_1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)))
.addGap(34))
.addGroup(Alignment.TRAILING, gl_contentPane.createSequentialGroup()
.addContainerGap(386, Short.MAX_VALUE)
.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
.addComponent(btnNewButton_1)
.addComponent(textField_2, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
.addGap(60))
);
contentPane.setLayout(gl_contentPane);

}
}

时间: 2024-10-10 18:12:08

2017-07-11(Jtree和table的应用)的相关文章

2017.07.11【NOIP提高组】模拟赛B组

Summary 今天的比赛打得还不错,第一题被同桌灌输的贪心,纯模拟洗脑了,然后steal的看了一下,发现怎么也对不了,一直在检查.最后10分钟才找出反例,推出动态规划方程,没有想到怎么转移,比赛就结束了.第二题题意理解错误了,但是还是拿到了充满希望的10分,第三题看到题目就直接上了线段树,我想没几个人能像我一样5分钟想完并打完这道题了.贪心一定要看到反例,不能盲目去做,否则浪费了时间,更让心情愈来愈不甘. Problem T1 解题 题目大意 奶牛有P (P≤300) 道题目要做.他们的月薪是

日本IT行业劳动力缺口达22万 在日中国留学生迎来就业好时机 2017/07/18 11:25:09

作者:倪亚敏 来源:日本新华侨报 发布时间:2017/07/18 11:25:09   据日本政府提供的数据,日本2018年应届毕业生的"求人倍率"已经达到了1.78倍.换言之,就是100名大学生里有178个就业岗位可选择,即使所有大学毕业生都进入劳动力市场,也还有78个岗位空缺.劳动力现状是寒冷冬天,而学生们确实迎来了就业春天. 在众多岗位当中,日本的信息技术(IT)领域采用的外国人留学生最多.去年,已经在日本企业就职的留学生当中(除去制造行业),27.3%的毕业生进入了IT行业.根

第一期周二航拍视频分享 2017/07/10

2017/07/10 分享方式:1.讲解航拍镜头语言 2.以一个经典视频为例讲解其中所用到的航拍语言  3.最后再看一个视频,同时大脑应思考视频中出现的镜头语言 1.讲解航拍镜头语言 航拍基本动作 直飞 1.直线向前飞,镜头向前: 这是最常用的手法之一,一般拍摄海岸线.沙漠.山脊.笔直的道路等等也多用这种手法. 画面中镜头向前移动,也可从地面慢慢抬头望向远处,镜头一气呵成. 2.直线向前飞,镜头俯瞰: 正俯的镜头常用于拍摄城市.森林,特别是一条笔直的路.一排整齐的车辆,树,房子等等. 直线向前飞

【谜客帝国】第110届云月(庄若云&amp;月思)合擂谜会(2017.07.30)

 [谜客帝国]第110届云月(庄若云&月思)合擂谜会(2017.07.30) 主持:瓷    计分:手手 1.“接天帆影入残云”(10笔字)蚕/月思 [注:面出陈德永<客居月余归后寄友人>.残云,别解提音.] 2.“西风长笛水边楼”(9笔字)洙/月思 [注:面出张养浩<黄州道中>:长笛,象形“一”.] 3. 河间元琛最豪首(2字铁道线路名)玉昌/月思 [注:典据<洛阳伽蓝记>,“而河间王(元)琛最为豪首”:青海玉树州至西藏昌都市的铁路线称为“玉昌线”.] 4. 

新到软件MineSight 3D v9.20-02 STAAD.Pro SS6 V8i 20.07.11.82 FINE/Turbo 11.1

Leica Mintec MineSight 3D v9.20-02综合建模和采矿规划软件平台 Leica Mintec MineSight 3D v9.20-02是一个综合的建模和采矿规划软件平台.为解释.建模.设计 .规划和生产提供集成的解决方案. MineSight3D设置基准可视化和处理所有类型的地质和采矿数据.工作流程继续在MineSight 3D v9.20-02的发展上作为一个重要考虑因素.Leica Mintec MineSight 3D v9.20-02在界面美化和功能方面 都

《计算机问题求解》总结——2014年CCF计算机课程改革导教班(2014.07.11)

一:引言 "心想事成",这是自己获得导教班学习机会的最佳概括.2013年年末学习李晓明老师的<人群与网络>课程:随后网络认识烟台大学贺利坚老师,了解到2013年导教班的学习内容:注册成为CCF会员,进而提交申请书并被录取为学员. 二:一周学习总结 一周学习时间很短,收获良多.除了课堂教学,优良的培训环境(北京怀柔区红螺园饭店,离市区坐公交车需要2个小时),让学员与老师能够专注交流,早中晚的餐桌交流成为了保留节目.有一半以上的时间都尽可能与陈老师.李老师等同桌.罗斯福总统有&

2017.6.11 校内模拟赛

题面及数据及std(有本人的也有原来的) :2017.6.11 校内模拟赛 T1 自己在纸上模拟一下后就会发现 可以用栈来搞一搞事情 受了上次zsq 讲的双栈排序的启发.. 具体就是将原盘子大小copy一下排个序 用两个指针维护两个数组(原数据 和 排序后的数据), 即分为1数据和2数组 将小于1指针指向的数据的2数组中的数据全部压入栈中 后进行消除, 将栈栈顶元素与当前1数组中的1指针指向的元素进行比较 相同则消除 后重复过程 直至指针超过N 后判断一下是否两个指针都超过了N... #incl

2017年11月11日软考网络工程师案例分析真题及答案解析

[徐朋出品,必属精品]软考徐朋老师全网最先发布2017年11月11日软考网络工程师案例分析真题及答案解析,是全网最清新版本.详细讲解了2017年11月11日最新开考的软考网络工程师案例分析真题及答案.课件中对每一道真题都进行了详细的解析讲解,考后几周是学员记忆答案的最关键时间点,第一时间发布真题及答案帮助广大考生准确评估自己的考试结果及对未来参加考试的学员展示最新的考试趋势等.下载地址:http://down.51cto.com/data/2340424

2017年11月11日软考网络规划设计师案例分析真题及答案解析

[徐朋出品,必属精品]软考徐朋老师全网最先发布2017年11月11日软考网络规划设计师案例分析真题及答案解析,是全网最清新版本.详细讲解了2017年11月11日最新开考的软考网络规划设计师案例分析真题及答案.课件中对每一道真题都进行了详细的解析讲解,考后几周是学员记忆答案的最关键时间点,第一时间发布真题及答案帮助广大考生准确评估自己的考试结果及对未来参加考试的学员展示最新的考试趋势等.下载地址:http://down.51cto.com/data/2340406

2017年11月GitHub上最热门的Java项目出炉

2017年11月GitHub上最热门的Java项目出炉~ 一起来看看这些项目你使用过哪些呢? 1分布式 RPC 服务框架 dubbohttps://github.com/alibaba/dubbo Star 13970 本月上涨1666 ?wx_fmt=jpeg&wxfrom=5&wx_lazy=1 Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring 框架无缝集成.主要核心部件:Remoting: 网络通