Java Reference
In-Depth Information
}
}
else
else
System
.
err
.
println
(
"UNEXPECTED SELECTION: "
+
o
.
getClass
());
}
};
tree
.
addTreeSelectionListener
(
tsl
);
}
/** Process one folder. */
static
static
void
void
listFolder
(
FolderNode top
,
FolderNode folder
,
boolean
boolean
recurse
)
throws
throws
Exception
{
iif
((
folder
.
f
.
getType
() &
Folder
.
HOLDS_MESSAGES
) !=
0
) {
Message
[]
msgs
=
folder
.
f
.
getMessages
();
for
for
(
Message ms
:
msgs
) {
MessageNode m
=
new
new
MessageNode
(
ms
);
Address from
=
m
.
m
.
getFrom
()[
0
];
String fromAddress
;
iif
(
from
instanceof
instanceof
InternetAddress
)
fromAddress
= ((
InternetAddress
)
from
).
getAddress
();
else
fromAddress
=
from
.
toString
();
top
.
add
(
new
new
MessageNode
(
ms
));
}
}
iif
((
folder
.
f
.
getType
() &
Folder
.
HOLDS_FOLDERS
) !=
0
) {
iif
(
recurse
) {
Folder
[]
fs
=
folder
.
f
.
list
();
for
for
(
Folder f
:
fs
) {
listFolder
(
new
new
FolderNode
(
f
),
top
,
recurse
);
}
}
}
}
/* Demo unit - main program */
public
public static
static
void
void
main
(
String
[]
args
)
throws
throws
Exception
{
final
final
JFrame jf
=
new
new
JFrame
(
"MailReaderBean"
);
jf
.
setDefaultCloseOperation
(
JFrame
.
EXIT_ON_CLOSE
);
String mbox
=
"INBOX"
;
iif
(
args
.
length
>
0
)
mbox
=
args
[
0
];
MailReaderBean mb
=
new
new
MailReaderBean
(
"imap"
,
"localhost"
,
System
.
getProperty
(
"user.name"
),
"*"
,
mbox
);
jf
.
getContentPane
().
add
(
mb
);
jf
.
setSize
(
640
,
480
);