Swing组件Jtree,JTablePane选项卡运用
今天开始写技术博客,说实话,本没有什么技术,说是总结也好,说是分享也罢,总之是想自己有意识的做一些事情,作为一名即将毕业的大学生,总是想以最好的状态,去面向社会,今天就是我准备好了的时候,本人将技术博客发布在新浪博客以及博客园,新浪博客,不仅发布技术博客,还会写一些个人随笔和感悟。而博客园,全是技术干货。希望大家视自己的情况关注。感谢么么哒!
技术博客,每周一篇。周一发布。
至于其他,我高兴就好...0.0...
一、Swing中JTree
package com.no1; import java.awt.BorderLayout;
import java.awt.Dimension; import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTree;
import javax.swing.UIManager;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode; public class JTreeExample extends JFrame { /**
*
*/
private static final long serialVersionUID = 1L;
private JPanel Jp; public static void main(String[] args) { @SuppressWarnings("unused")
JTreeExample Je = new JTreeExample(); } // 构造函数
public JTreeExample() {
this.setTitle("JTree实例");
//
this.setSize(200, 500); // 窗口自动居中
this.setLocationRelativeTo(null); this.setLayout(new BorderLayout()); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 保持Window窗体基本风格
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception err) {
err.printStackTrace();
}
// 不能最大化
this.setResizable(false);
this.init();
this.setVisible(true); } public void init() {
// 实例化JPanel对象
Jp = new JPanel();
// 设置大小
Jp.setPreferredSize(new Dimension(200, 400));
// 为面板设置布局方式
Jp.setLayout(null);
// Jp.setBackground(Color.BLACK); // 创造默认节点
DefaultMutableTreeNode note1 = new DefaultMutableTreeNode("中国");
// 将实例化的节点加入以上节点
note1.add(new DefaultMutableTreeNode("北京"));
note1.add(new DefaultMutableTreeNode("上海"));
DefaultMutableTreeNode note2 = new DefaultMutableTreeNode("美国");
note2.add(new DefaultMutableTreeNode("华盛顿"));
note2.add(new DefaultMutableTreeNode("纽约")); DefaultMutableTreeNode top = new DefaultMutableTreeNode("国家");
// 又将以上两个节点,note1与弄=note2加入到top节点
top.add(note1);
top.add(note2);
// 实例化JTree,并将top加入到JTree中
final JTree Jtree = new JTree(top);
// 设置Jtree大小
Jtree.setBounds(0, 0, 200, 300);
// 将Jtree入到面板中
Jp.add(Jtree);
// 将面板加入JFrame
this.add(Jp, BorderLayout.WEST); // 为节点设置点击事件
Jtree.addTreeSelectionListener(new TreeSelectionListener() { @Override
public void valueChanged(TreeSelectionEvent arg0) { /*
* 返回当前选择的第一个节点中的最后一个路径组件。API原话
* 就是返回你点击的节点
*/
DefaultMutableTreeNode node = (DefaultMutableTreeNode) Jtree.getLastSelectedPathComponent(); if (node == null) {
return;
} // 判断是否是一个子节点
if (node.isLeaf()) {
if ((node.toString()).equals("北京")) { JOptionPane.showMessageDialog(null, "你点击的是北京"); } else if ((node.toString()).equals("纽约")) { JOptionPane.showMessageDialog(null, "你点击的是纽约"); }
}
//如果为父节点添加事件,直接这样
if (node.toString().equals("中国")) { JOptionPane.showMessageDialog(null, "你点击的是中国"); } }
}); } }
效果图



二、Swing组件之JTablePane选项卡
package com.no1; import java.awt.Font; import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.JTabbedPane; public class JTabbedPaneExample extends JFrame{ private JTabbedPane aa ;
private JPanel Jp01,Jp02,Jp03; private static final long serialVersionUID = 1L; public static void main(String[] args) {
@SuppressWarnings("unused")
JTabbedPaneExample a =new JTabbedPaneExample(); }
public JTabbedPaneExample(){ this.setTitle("JTablePane实例");
//
this.setSize(500, 300); // 窗口自动居中
this.setLocationRelativeTo(null); this.setLayout(null); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 保持Window窗体基本风格
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception err) {
err.printStackTrace();
}
// 不能最大化
this.setResizable(false);
this.init(); this.setVisible(true); }
private void init(){ aa =new JTabbedPane(JTabbedPane.TOP);
//给JTabbedPane设置大小
aa.setBounds(0, 0, 500, 300);
Jp01 =new JPanel();
Jp02 =new JPanel();
Jp03 =new JPanel(); Jp01.setBounds(0, 0, 500, 300);
Jp02.setBounds(0, 0, 500, 300);
Jp03.setBounds(0, 0, 500, 300);
//将三个面板加入到JTabbedPane上
aa.addTab("面板一", Jp01);
aa.addTab("面板二", Jp02);
aa.addTab("面板三", Jp03);
//设置字体为宋体,不加粗(加粗为1),字号18
aa.setFont(new Font("宋体", 0, 18));
//添加到JFrame内容面板上,也可以直接this.add(aa);
this.getContentPane().add(aa);
//初始显示面板一
aa.setSelectedIndex(0); } }
预览效果

好了,接下来看你们的了。
Swing组件Jtree,JTablePane选项卡运用的更多相关文章
- java中经常使用的Swing组件总结
1.按钮(Jbutton) Swing中的按钮是Jbutton,它是javax.swing.AbstracButton类的子类,swing中的按钮可以显示图像,并且可以将按钮设置为窗口的默认图标,而且 ...
- JAVA Swing 组件演示***
下面是Swing组件的演示: package a_swing; import java.awt.BorderLayout; import java.awt.Color; import java.awt ...
- Swing组件都采用MVC设计模式
Swing组件都采用MVC(Model-View-Controller,既模型-视图-控制器)设计模式,从而可以实现GUI组件的显示逻辑和数据逻辑的分离,允许程序员自定义Render来改变GUI组件的 ...
- 自学电脑游戏第三天(Swing组件)
Swing组件 1.按钮(Jbutton) 示例:选择用户所喜欢的城市. import java.awt.*; import java.awt.event.*; import javax.swing. ...
- Java-GUI编程之Swing组件
目录 为组件设置边框 使用JToolBar创建工具条 JColorChooser和JFileChooser JColorChooser JFileChooser JOptionPane 基本概述 四种 ...
- 详解Swing中JTree组件的功能
JTree组件是另外一个复杂组件,它不像 JTable 那样难用,但是也不像 JList 那么容易.使用 JTree 时麻烦的部分是它要求的数据模型. JTree组件的功能来自树的概念,树有分支和叶子 ...
- Java Swing 树状组件JTree的使用方法(转)
树中特定的节点可以由 TreePath(封装节点及其所有祖先的对象)标识,或由其显示行(其中显示区域中的每一行都显示一个节点)标识.展开 节点是一个非叶节点(由返回 false 的 TreeModel ...
- Swing 组件焦点设置
在Swing中,焦点默认是在第一个组件上,所以在项目中想将焦点设置在其他的组件上,如JTextField!但通过requestFocus()方法不起作用,有人提供以下解决方法: 全部初始化之后,jTe ...
- Swing组件 创建窗口应用
package com.swing; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt. ...
随机推荐
- 让你的PHP程序真正的实现多线程(PHP多线程类)(转)
通过WEB服务器来实现PHP多线程功能. 当然,对多线程有深入理解的人都知道通过WEB服务器实现的多线程只能模仿多线程的一些效果,并不是真正意义上的多线程. 但不管怎么样,它还是能满足我们的一些需要的 ...
- 玩转Bash脚本:test測试语句
总第1篇test就是測试的意思,经常使用在流程控制语句中作为条件.以下做一下介绍. 关于真值 与其它语言不同,Bash(包含其它Shell)中,是用0表示真,非0表示假的.之所以用0表示成功,而不是1 ...
- [Effective C++ --033]避免遮掩继承而来的名称
这一章一直在想怎么写,因为比较基础,很容易理解,就按照需要来写吧. 假设我们有这样一个类: class Base { private: int x; public: ; virtual void mf ...
- BloomFilter——读数学之美札记
之前接触过bitmap,读吴军先生的数学之美,看到了一个更强大的数据结构,布隆过滤器(Bloomfilter),赶紧记下来吧,忘了怪可惜的. bitmap的使用是很有局限性的,往往只能用于海量数值型数 ...
- DataBase 之 表操作
1:向表中添加字段 Alter table [表名] add [列名] 类型 2: 删除字段 Alter table [表名] drop column [列名] 3: 修改表中字段类型 (可以修改列的 ...
- Android 高级UI设计笔记08:Android开发者常用的7款Android UI组件(转载)
Android开发是目前最热门的移动开发技术之一,随着开发者的不断努力和Android社区的进步,Android开发技术已经日趋成熟,当然,在Android开源社区中也涌现了很多不错的开源UI项目,它 ...
- C#加密算法汇总(转载)http://www.cnblogs.com/zengxiangzhan/archive/2010/01/30/1659687.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 方法一: //须添加对System.Web的引用 ...
- Emacs 配置 Python 编程环境
python编程环境设置涉及到:自动完成.语法检查.虚拟环境. 为了不把系统搞乱,在python的虚拟环境中安装相关的插件. 一.安装python虚拟环境 virtualenvwrapper sudo ...
- python(2)-字符串(2)
字符串格式化: 前面说过一种字符串格式化方法,来复习一下: >>> print('His name is %s', 'jeff') His name is %s jeff 其实格式化 ...
- PHP--关于模板的原理和解析
此内容用作笔记,以备日后查看,此内容为学习李炎恢课程而来,并非自己所创,如有问题请私信~ 将PHP代码和静态HTML代码进行分离,使代码的可读性和维护性得到显著提高. 使用模板引擎: 我们所说的模板是 ...