Hallo mensen,
Ik zit met het volgende probleem. Ik ben een beetje aan het klooien met trees. Wat ik wil is dat je een tree krijgt met een allemaal landen. Ik heb er nu gewoon een aantal gekozen. Maar ik wil in de subtree allemaal eigenschappen zetten van die landen met als belangrijkste eigenschap: de tijd.
Nu had ik dus nog een klasse: "Digital Clock" staan. Ik heb deze klasse iets aangepast. Het enige wat die klasse moet doen is de juiste tijd terug geven. Dat doet ie ook want als ik Sysyem.out.println(); gebruik dan lijkt ie de juiste tijden uit te spugen. Het probleem is dat ie ze niet wil opnemen in de tree. Ik post hier mijn code, kunnen jullie mij vertellen wat ik fout doe want ben er al een tijdje mee bezig maar krijg het niet voor elkaar.
Eerst DigitalClock.java
En hier TreeDemo.java
Wie kan me hiermee helpen?
Ik zit met het volgende probleem. Ik ben een beetje aan het klooien met trees. Wat ik wil is dat je een tree krijgt met een allemaal landen. Ik heb er nu gewoon een aantal gekozen. Maar ik wil in de subtree allemaal eigenschappen zetten van die landen met als belangrijkste eigenschap: de tijd.
Nu had ik dus nog een klasse: "Digital Clock" staan. Ik heb deze klasse iets aangepast. Het enige wat die klasse moet doen is de juiste tijd terug geven. Dat doet ie ook want als ik Sysyem.out.println(); gebruik dan lijkt ie de juiste tijden uit te spugen. Het probleem is dat ie ze niet wil opnemen in de tree. Ik post hier mijn code, kunnen jullie mij vertellen wat ik fout doe want ben er al een tijdje mee bezig maar krijg het niet voor elkaar.
Eerst DigitalClock.java
Java:
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
| package Tree; import java.awt.Panel; import java.awt.Label; import java.awt.Font; import java.awt.Color; import java.util.Calendar; import java.util.Date; import java.util.Locale; import java.util.TimeZone; import java.text.DateFormat; import java.text.SimpleDateFormat; import javax.swing.SwingUtilities; class DigitalClock extends Panel implements Runnable { private Label timeToShow; private Font timeFont = new Font("Arial", Font.BOLD, 14); private Label currentDayLabel; private Label labels; private String location; private String time; private Time time; DigitalClock(String location, String time) { this.time = time; this.location = location; timeToShow = new Label(); timeToShow.setFont( timeFont ); timeToShow.setForeground(new Color(255, 255, 255)); timeToShow.setBounds(20, 0, 80, 25); add( timeToShow ); Thread thread = new Thread(this); thread.setDaemon(true); thread.start(); String now = DateFormat.getTimeInstance().format(new Date()); int minutes = Integer.parseInt( now.substring(now.length() - 5, now.length() - 3)); int hours = Integer.parseInt(now.substring( 0, now.indexOf(":"))); } public synchronized void setLocation(String location,String time) { this.location = location; } public void run() { while ( true ) { String location; synchronized(this) { if (this.location.equals("Nederland")) { location = "GMT+01:00"; } else if (this.location.equals("New York")) { location = "GMT-08:00"; } else if (this.location.equals("Israel")) { location = "GMT+02:00"; } else { location = "GMT+01:00"; } } SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss"); simpleDateFormat.setTimeZone(TimeZone.getTimeZone(location)); final String now = simpleDateFormat.format(new Date()); //boolean bool = TimeZone.inDaylightTime(now); SwingUtilities.invokeLater( new Runnable() { public void run() { time=now; //System.out.println(time); } }); try { Thread.currentThread().sleep(900); } catch(InterruptedException e) { break; } catch (Exception e) { } int seconds = Integer.parseInt( now.substring(now.length() - 2, now.length())); int minutes = Integer.parseInt( now.substring(now.length() - 5, now.length() - 3)); int hours = Integer.parseInt( now.substring(0, now.indexOf(":"))); } } } |
En hier TreeDemo.java
Java:
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
| package Tree; import java.awt.*; import javax.swing.*; import javax.swing.tree.*; import javax.swing.event.*; public class TreeDemo extends JFrame implements TreeSelectionListener { public static void main(String[] args) { new TreeDemo(); } private JTree tree; private JTextField currentSelectionField; private String[] country = {"Nederland", "New York", "Israel", "Parijs"}; private int i=0; private DigitalClock[] dg = new DigitalClock[3]; private String[] time = new String[4]; public TreeDemo() { super("Timezones"); WindowUtilities.setNativeLookAndFeel(); addWindowListener(new ExitListener()); Container content = getContentPane(); DefaultMutableTreeNode root = new DefaultMutableTreeNode("Timezones"); DefaultMutableTreeNode child; DefaultMutableTreeNode grandChild; for(int childIndex=1; childIndex<4; childIndex++) { child = new DefaultMutableTreeNode(country[childInde x-1]); root.add(child); for(int i=1; i<2; i++) { DigitalClock dg= new DigitalClock(country[childIndex-1],time[childIndex-1]); System.out.println(time[childIndex-1]); grandChild = new DefaultMutableTreeNode("Huidige tijd" + "." + country[childIndex-1]+ time); child.add(grandChild); } } tree = new JTree(root); tree.addTreeSelectionListener(this); content.add(new JScrollPane(tree), BorderLayout.CENTER); currentSelectionField = new JTextField("Current Selection: NONE"); content.add(currentSelectionField, BorderLayout.SOUTH); setSize(250, 275); setVisible(true); } public void valueChanged(TreeSelectionEvent event) { currentSelectionField.setText ("Current Selection: " + tree.getLastSelectedPathComponent().toString()); } } |
Wie kan me hiermee helpen?
[ Voor 13% gewijzigd door Jigs op 15-12-2004 08:46 ]