Janus wrote:
> Søren Berg Glasius wrote:
>
>> Hej Janus
>>
>> Du kan selv tilføje en mouse-listener til dit label og så vente på
>> klik/dobbeltklik.
>>
>> Til fremviseren kan du lave et udekoreret vindue vha JWindow. Samtidig
>> kan du lave noget "always on top" kode (kan ikke lige huske hvordan) -
>> og så kan du lave en mouse-listener som fjerner JWindow'et når der
>> klikkes i det. Hvis du tilføjer et JTextArea til dit JWindow, kan du
>> disable edit, så har du noget, som kan formatere teksten for dig.
>>
>> Alt i alt tror jeg det kan gøres rimelig let - har dog ikke selv
>> prøvet
>>
>> Håber det kan give inspiration til dit projekt.
>>
>> MVN og god weekend,
>> Søren
>>
>
> Selv god weekend :)
>
> Ja, man kan ikke se skoven for bare træer...
>
>
> Jeg laver en inner class:
>
> public class ClickableLabel extends JLabel implements MouseListener {
>
> public ClickableLabel(IconImage im) {
> super(im);
> }
> public void MouseClicked(Event ev0) {
> System.out.println("test, for pokker!");
> }
> [alle andre metoder fra interfacet er tomme]
> }
>
> -men det virker ikke. Komplierer fint, men mon ikke jeg på en eller
> anden måde mangler at registrere et sted, at der skal lyttes efter klik?
>
> Hvis jeg lader min "outer"-class implementere MouseListener, virker det
> fint nok, men det giver jo lidt rodet kode.
> Kan jeg ikke bare lave een komponent der holder på mit ImageIcon OG
> lytter efter MouseClicks?
>
> Vh Janus
Og svaret kommer jeg så selv med:
class MyListener2 extends JLabel implements MouseListener {
private String text;
public MyListener2(ImageIcon icon, String text) {
super(icon);
this.text = text;
HER -> addMouseListener(this);
}
public void mouseClicked(MouseEvent arg0) {
System.out.println(text);
}
....
}
Måske man liiige skulle lave lidt fiddelithut med ImageIcon'et, når man
trykker på det... Uh, det eskalerer, det her.
Nu er det vist tid til at rode med JWindow. Jeg vidste godt, at der var
en Container til den slags, men kunne simpelthen ikke huske, hvad det
var for een. 5 sekunders glanen på API'et for Swing og jeg gad ikke mere *G*
Go' weekend til alle!
/janus