想要用树上节点的点击控制表中的数据
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.table.*;
import javax.swing.tree.*;
import javax.swing.border.*;
public class RaumbAnz extends JPanel{
JPanel jPanel1 = new JPanel();
JPanel jPanel2 = new JPanel();
JTextArea jTextArea = new JTextArea();
// 创建一些表格数据
String[] headings =
new String[] {"","Montag","Dienstag","Mittwoch","Donnerstag","Freitag"};
Object[][] data = new Object[][] {
{ "08:00-19:00","","","","",""},
{ "08:15-09:45","","","","",""},
{ "10:00-11:30","","","","",""},
{ "11:45-13:15","","","","",""},
{ "13:15-14:15","","","","",""},
{ "14:15-15:45","","","","",""},
{ "16:00-17:30","","","","",""},
{ "17:45-19:15","","","","",""},
{ "19:30-21:00","","","","",""},
};
Object[][] data1 = new Object[][] {
{ "08:00-19:00","Uebung","Vorlesung","","",""},
{ "08:15-09:45","","","","",""},
{ "10:00-11:30","","","","",""},
{ "11:45-13:15","","","","",""},
{ "13:15-14:15","","","","",""},
{ "14:15-15:45","","","","",""},
{ "16:00-17:30","","","","",""},
{ "17:45-19:15","","","","",""},
{ "19:30-21:00","","","","",""},
};
Object[][] data2 = new Object[][] {
{ "08:00-19:00","","","","",""},
{ "08:15-09:45","","Uebung","","",""},
{ "10:00-11:30","","","","",""},
{ "11:45-13:15","","","","",""},
{ "13:15-14:15","","","","",""},
{ "14:15-15:45","","","","",""},
{ "16:00-17:30","","","","",""},
{ "17:45-19:15","","","","",""},
{ "19:30-21:00","","","","",""},
};
Object[][] data3 = new Object[][] {
{ "08:00-19:00","","","","",""},
{ "08:15-09:45","","","","",""},
{ "10:00-11:30","","","Uebung","",""},
{ "11:45-13:15","","","","",""},
{ "13:15-14:15","","","","",""},
{ "14:15-15:45","","","","",""},
{ "16:00-17:30","","","","",""},
{ "17:45-19:15","","","","",""},
{ "19:30-21:00","","","","",""},
};
//创建数据模型和JTable
JTable table = new JTable( data , headings );
JTableHeader header = table.getTableHeader();
public static void main(String[] args) {
}
public RaumbAnz() {
// 创建节点的层次结构
MutableTreeNode root = new DefaultMutableTreeNode("Raum");
MutableTreeNode ws1 = new DefaultMutableTreeNode("Wolframstr.32");
MutableTreeNode ws2 = new DefaultMutableTreeNode("Wolframstr.34");
root.insert(ws1, 0);
root.insert(ws2, 1);
ws1.insert(new DefaultMutableTreeNode("W011"), 0);
ws1.insert(new DefaultMutableTreeNode("W114"), 1);
ws2.insert(new DefaultMutableTreeNode("N417"), 0);
// 创建 JTree
final DefaultTreeModel model = new DefaultTreeModel (root);
final JTree tree = new JTree(model);
jPanel1.add(tree);
tree.setBounds(new Rectangle(20, 20, 160, 520));
//tree.setSelectionModel(TreeSelectionModel.SINGLE_TREE_SELECTION);
//这一句不知道该怎么加进去
/*tree.addMouseListener(new MouseListener(){
public void mouseClicked(MouseEvent e){
int i=tree.getSelectionCount();
switch(i)
{
case 0:
table.getColumn(data1);
break;
case 1:
table.getColumn(data2);
break;
case 2:
table.getColumn(data3);
break;
}
}
public void mousePressed(java.awt.event.MouseEvent e) {}
public void mouseReleased(java.awt.event.MouseEvent e) {}
public void mouseEntered(java.awt.event.MouseEvent e) {}
public void mouseExited(java.awt.event.MouseEvent e) {}
});*/
//具体控制也达不到效果
try {
init();
}
catch(Exception e) {
e.printStackTrace();
}
}
private void init() throws Exception {
this.setLayout(null);
jPanel1.setBorder(BorderFactory.createTitledBorder(null,
"Auswahl des Raums:",
TitledBorder.DEFAULT_JUSTIFICATION,
TitledBorder.DEFAULT_POSITION,
new Font("Dialog", Font.PLAIN, 12),
Color.black));
jPanel1.setBounds(new Rectangle(10, 10, 200, 550));
jPanel1.setLayout(null);
jPanel2.setBorder(BorderFactory.createTitledBorder(null,
"Hier koennen Sie sich die Belegung aller Raeume anzeigen lassen:",
TitledBorder.DEFAULT_JUSTIFICATION,
TitledBorder.DEFAULT_POSITION,
new Font("Dialog", Font.PLAIN, 12),
Color.black));
jPanel2.setBounds(new Rectangle(250, 10, 650, 550));
jPanel2.setLayout(null);
header.setBounds(new Rectangle(20, 20, 610, 30));
table.setBounds(new Rectangle(20, 50, 610, 350));
table.setEnabled(false);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
jTextArea.setBounds(new Rectangle(20,410,610,130));
this.add(jPanel1);
this.add(jPanel2);
jPanel2.add(header);
jPanel2.add(table);
jPanel2.add(jTextArea);
}
} |