📄 java.txt
字号:
package jtree;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.tree.DefaultMutableTreeNode;//树
import java.awt.*;
import java.awt.event.*;
// 下拉框的监听引用 , 树的监听引用
public class MyF2 extends JFrame implements ItemListener, TreeSelectionListener {
JScrollPane jscp = new JScrollPane();
// 定义一个工具栏(可以放命令按钮,下拉框。)
JToolBar jtb = new JToolBar();
JButton jb = new JButton();
JComboBox jcb1 = new JComboBox();
JComboBox jcb2 = new JComboBox();
JTable jtable;
String title[] = { "学号", "姓名", "性别", "年龄" };
Object neirong[][] = { { "042801", "张建", "男", "20" },
{ "042802", "张建1", "男", "20" }, { "042803", "张建2", "男", "20" },
{ "042804", "张建3", "男", "20" }, { "042805", "张建4", "男", "20" } };
//增加一个文本框
JTextField jtf = new JTextField(20);
//增加树的内容
DefaultMutableTreeNode root = new DefaultMutableTreeNode("学校");
DefaultMutableTreeNode root1 = new DefaultMutableTreeNode("教学部");
DefaultMutableTreeNode root2 = new DefaultMutableTreeNode("行政部");
DefaultMutableTreeNode root1a = new DefaultMutableTreeNode("0428");
DefaultMutableTreeNode root1b = new DefaultMutableTreeNode("0411");
DefaultMutableTreeNode root1a1 = new DefaultMutableTreeNode("仗剑");
DefaultMutableTreeNode root1b1 = new DefaultMutableTreeNode("同龄");
DefaultMutableTreeNode root2a = new DefaultMutableTreeNode("张三");
DefaultMutableTreeNode root2b = new DefaultMutableTreeNode("李四");
DefaultMutableTreeNode root2c = new DefaultMutableTreeNode("王五");
JTree jtree = new JTree(root);
public MyF2() {
// 定义输出时,先内容后表头;第二行是将表内容属性改为不可写状态。
jtable = new JTable(neirong, title) {
public boolean isCellEditable(int rows, int column) {
return false;
}
};
// 将表字段属性改为不可移动。
jtable.getTableHeader().setReorderingAllowed(false);
// 命令按钮JB加图片
jb.setIcon(new ImageIcon(getClass().getResource("/save.jpg")));
// 命令按按钮JB加注释
jb.setToolTipText("SAVE");
// 工具栏上加按钮
jtb.add(jb);
// 工具栏上加下拉框
jtb.add(jcb1);
// 第一个下拉框里加内容
jcb1.addItem("山西");
jcb1.addItem("河北");
root.add(root1);
root1.add(root1a);
root1a.add(root1a1);
root1.add(root1b);
root1b.add(root1b1);
root.add(root2);
root2.add(root2a);
root2.add(root2b);
root2.add(root2c);
//对第一个下拉框加监听 (具体的事件方法:142行)
jcb1.addItemListener(this);
//工具栏上加第二个下拉框
jtb.add(jcb2);
//这个窗体上加一个工具栏 以边界布局形式放北面
this.add(jtb, BorderLayout.NORTH);
//窗体上再加一个滚动面板
this.add(jscp);
//滚动面板上加2维表Jtable
jscp.setViewportView(jtable); // 滚动条加组件 //
//窗体上加一个文本框放南面
this.add(jtf, BorderLayout.SOUTH);
//窗体上加一个树 放西面
this.add(jtree, BorderLayout.WEST);
//利用鼠标适配器对JTABLE进行调用(等同于用监听的方法做)
jtable.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
int m = jtable.getSelectedRow();// 获取选取行
int n = jtable.getSelectedColumn();//获取列
int k = m + 1;// +1是因为默认方式为0行0列开始;
int l=n+1;
String tt1 = (String) jtable.getValueAt(m, n);
jtf.setText("你选择的是第" + k + "行," + l+"列"+" [ "+tt1+" ]");
}
});
//对"树"监听 (方法见下:156行)
jtree.addTreeSelectionListener(this);
setSize(400, 300);
//设置窗体的图标
this.setIconImage(Toolkit.getDefaultToolkit().getImage(
getClass().getResource("/AA.PNG")));
this.setTitle("adfafdad");
this.setVisible(true);
// Toolkit kit=new Toolkit;
}
public static void main(String[] args) {
new MyF2();
}
public void itemStateChanged(ItemEvent e) {
String dizhi = (String) jcb1.getSelectedItem();
if (dizhi.equals("山西")) {
jcb2.removeAllItems();// 清空原有
jcb2.addItem("太原");
jcb2.addItem("大同");
}
if (dizhi.equals("河北")) {
jcb2.removeAllItems();// 清空原有
jcb2.addItem("保定");
jcb2.addItem("邯郸");
}
}
public void valueChanged(TreeSelectionEvent e) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) jtree
.getLastSelectedPathComponent();
String no = node.toString();
// if(node.isLeaf()){
// if(no.equals("同龄")){
// jtf.setText("我是同龄");
// }
jtf.setText("我是" + no);
// }
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -