X
Xyz1
Gast
Java:
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.GridLayout;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTable;
import javax.swing.JTree;
import javax.swing.WindowConstants;
import javax.swing.table.DefaultTableModel;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreeCellRenderer;
public class Main {
JRadioButton b1 = new JRadioButton("Inbox");
JRadioButton b2 = new JRadioButton("Alle");
JRadioButton b3 = new JRadioButton("Spam");
ButtonGroup bg1 = new ButtonGroup();
JRadioButton b4 = new JRadioButton("Alle");
JRadioButton b5 = new JRadioButton("Ungelesen");
JRadioButton b6 = new JRadioButton("Anhang");
ButtonGroup bg2 = new ButtonGroup();
static class EMail {
String f, t, s, d;
EMail(String f, String t, String s, String d) {
this.f = f;
this.t = t;
this.s = s;
this.d = d;
}
}
static class TreeTableCellRenderer extends JTable implements TreeCellRenderer {
private static final long serialVersionUID = 1L;
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded,
boolean leaf, int row, boolean hasFocus) {
EMail v = (EMail) ((DefaultMutableTreeNode) value).getUserObject();
this.setModel(new DefaultTableModel(new Object[][] { { v.f, v.t, v.s, v.d } },
new Object[] { "f", "t", "s", "d" }));
invalidate();
return this;
}
}
DefaultMutableTreeNode root = new DefaultMutableTreeNode(new EMail("a.b@c", "d.e@f", "s", "01"));
DefaultTreeModel dtm = new DefaultTreeModel(root);
JTree tt = new JTree(dtm);
public Main() {
b1.setSelected(true);
b4.setSelected(true);
bg1.add(b1);
bg1.add(b2);
bg1.add(b3);
bg2.add(b4);
bg2.add(b5);
bg2.add(b6);
root.add(new DefaultMutableTreeNode(new EMail("a.b@c", "d.e@f", "s", "02")));
tt.setCellRenderer(new TreeTableCellRenderer());
JFrame jf = new JFrame();
jf.setLayout(new BorderLayout());
JPanel p1 = new JPanel();
p1.setLayout(new GridLayout(3, 2));
p1.add(b1);
p1.add(b4);
p1.add(b2);
p1.add(b5);
p1.add(b3);
p1.add(b6);
jf.add(p1, BorderLayout.NORTH);
jf.add(tt, BorderLayout.CENTER);
jf.setSize(600, 400);
jf.setVisible(true);
}
public static void main(String[] args) {
new Main();
}
}

Hat jemand eine Idee wie man die Zellen vergrößern kann?