Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
import javax.swing.Icon;
import javax.swing.JTree;
import javax.swing.tree.DefaultTreeCellRenderer;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreeModel;
import javax.swing.tree.TreeNode;
public class JTreeModifier
{
private final TreeModel model;
private final JTree tree;
public JTreeModifier(TreeNode root) {
model = new DefaultTreeModel(root);
tree = new JTree(model);
tree.setCellRenderer(new DefaultTreeCellRenderer() {
@Override
public Icon getDefaultLeafIcon() {
// Hier durch dein Icon ersetzen.
// Evtl. vorher eine If-Abfrage machen,
// ob es das Icon ist, das du ändern willst.
return super.getDefaultLeafIcon();
}
@Override
public Icon getLeafIcon() {
// Hier durch dein Icon ersetzen.
// Evtl. vorher eine If-Abfrage machen,
// ob es das Icon ist, das du ändern willst.
return super.getLeafIcon();
}
});
}
}
public Icon getDefaultLeafIcon() {
// Hier durch dein Icon ersetzen.
// Evtl. vorher eine If-Abfrage machen,
// ob es das Icon ist, das du ändern willst.
java.net.URL imgURL = frmStart2.class.getResource("c:\\ordner.gif");
ImageIcon icon = new ImageIcon(imgURL);
return super.getDefaultLeafIcon();
}
public Icon getDefaultLeafIcon() {
// Hier durch dein Icon ersetzen.
// Evtl. vorher eine If-Abfrage machen,
// ob es das Icon ist, das du ändern willst.
java.net.URL imgURL = frmStart2.class.getResource("c:\\ordner.gif");
ImageIcon icon = new ImageIcon(imgURL);
return super.getDefaultLeafIcon();
}
Ja naja, zum teil würd ich sagen. Ich programmier mit Java jetzt schon seit 2 Jahren (Ausbildung) und habe daher die ein oder anderen Sachen bereits verinnerlicht.Sag bloss, Du tippst den Code einfach so frei runter? Ich muss meistens nachschauen wie ich was angestellt habe.![]()
Du kannst jetzt die Variable icon direkt zurückgeben via "return icon" (allerdings bekommen dann alle Nodes das Icon als Anzeigebild).Bei mir sieht es jetzt so aus:
Code:public Icon getDefaultLeafIcon() { // Hier durch dein Icon ersetzen. // Evtl. vorher eine If-Abfrage machen, // ob es das Icon ist, das du ändern willst. java.net.URL imgURL = frmStart2.class.getResource("c:\\ordner.gif"); ImageIcon icon = new ImageIcon(imgURL); return super.getDefaultLeafIcon(); }
Wie muss ich denn weiter verfahren?
Da die Methode überschrieben wird, bewirkt "super", dass die Methode den Wert (der in der überschriebenen Methode) zurückgibt. Also mit "super" greifst du immer auf die "Super"-Methode zu. Sprich wenn du eine Klasse einbindest (extend) dann kannst du, wenn du eine Methode überschreibst, via "super" auf die eigentliche Methode zugreifen.Also "super" kenne ich nur als erste Zeile unter dem Konstruktor. Was bewirkt er denn in der Return-Anweisung?
Freut mich, dass es dir gefallen hat.Ach, das youtube-Video (Java vs NET) habe ich mir mal angeschaut. Echt lustig.
Nein, da kann ich dir leider nicht weiterhelfen, da ich mich mit .NET zu wenig auskenne.Ich kann Dir eines sagen. Eclipse ist und bleibt die beste IDE die es gibt. Da kommt .NET mit seiner IntelliSense nicht bei weitem ran.
Das einzig gute ist der DataSet-Designer und das man die DB über .NET verändern kann.
Gibt es für Java auch sowas Ähnliches? Hast Du eine Ahnung?
Ich benutze auch Eclipse. Da Eclipse einem einfach schon unendlich viel Arbeit abnimmt.Welche IDE benutzt Du denn?
public class tree{
.......
ImageIcon icon = new ImageIcon("C:/Temp/folder.gif");
MyNode branch2 = new MyNode("MyVersion Branch2", icon);
......
}
class MyNode extends DefaultMutableTreeNode {
private JLabel label; // label which will contain Text and Icon
MyNode(String text, ImageIcon icon) {
label = new JLabel(text);
// build an Icon with the Color passed as parameter
label.setIcon(icon);
}
/** returns the label */
JLabel getLabel() {
return label;
}
}