Java DnD(Drag and Drop)

java-aloittelija-plz

Olen kiinnostunut oppimaan lisää tiedostojen ohjelmaan vetämisestä mutta netistä löytämien ohjeiden perusteella en ole hirveästi saanut aikaiseksi, siksipä toivonkin täältä apua.
Haluaisin tehdä sovelman johon voidaan vetää kuva jonka se sitten näyttää, onnistun siinä sen kautta että teen JTextAreasta(tai mistä vain) drop targetin jossa on dropTargetListener mikä käyttää hyväkseen lähdessä josta se on tullut, mutta tuo kuulostaa ihme häsläykseltä! Tahtoisin suoraan vedettyä kuvan ohjelman sisään.
miten siis hoidan pudotusten käsittelyn? tässä käyttämäni tapa.
public void drop(DropTargetDropEvent e) {
Transferable t = e.getTransferable();
DataFlavor[] df = t.getTransferDataFlavors();
for(int x = 0; x < df.length; x ){
if(df[x].isFlavorJavaFileListType()){
e.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
try {
System.out.println(t.getTransferData(df[x]));
} catch (UnsupportedFlavorException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}

}

2

256

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • keksa1

      minusta se on jo uskomattoman helppoa, että voit vaan sanoa että tämä kyseinen alue voi ottaa vastaan darg&drop kamaa ja että aina kun näin tapahtuu, niin drop() hoitaa homman.

      Haluaisin minäkin tehdä world of warcraftin tapaisen pelin vain main() function tekemällä, mutta se on vaikeaa.

      http://www.rockhoppertech.com/java-drag-and-drop-faq.html

      • OP534463643

        Eikös tuo ollut nyt jo vähän liioittelua? Tahtoisin vain apua drop()in tapahtuman käsittelyssä, en voi millään ymmärtää miksen saa siitä järkevää kokonaisuutta ettei siihen tulee mitään ihmeen kikkailua, se siis ottaa vastaan aina listan vedetyistä "itemeistä", miten käsitellä niitä? En saa tuosta sivusta mitään irti muutakuin sen mitä tiedän jo. Clipboardin käyttö oli niin yksinkertaista mutta nyt on tullut suuria ognelmia ohjelman yksinkertaistamisessa.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Mies, mitä minun pitäisi tehdä

      Niin, mitä naisen siis pitäisi tehdä, että lähestyisit ja tekisit aloitteen? Mikä on riittävä kiinnostuksen osoitus juur
      Ikävä
      180
      2200
    2. Miksi teillä meni...

      ...välit poikki kaivattusi kanssa?
      Ikävä
      175
      1821
    3. Toivottavasti et mussukka elättele toiveita meikäläisen suhteen

      Tiedän mitä olet touhunnut joten aivan turha haaveilla mistään enää 👍
      Ikävä
      170
      1692
    4. Sofia Virralla ja Minja Koskelalla ei mitään käsitystä terveyskeskusmaksuista!

      Vasemmistopimut Sofia ja Minja täysin ulkona sote asioista, ei minkäänlaista käsitystä edes mittaluokasta, missä terveys
      Maailman menoa
      109
      1503
    5. Summit-tippuja Nicola sai Carolalta yllättävän viestin - Some älähtää rajusti: "Älä viitsi..."

      The Summit Suomi -kisa käy kuumana kylmässä Norjan vuoristossa. Nicola tiputettiin kisasta juuri ennen finaalia. Likaise
      Tv-sarjat
      25
      1479
    6. Nainen näytät mummolta. :D

      Siks sua ei huoli kukaan.
      Ikävä
      109
      1210
    7. Juusolle sataa vihaisia viestejä hoitajilta ja loput nauravat hänelle

      Ei löydy montaakaan, joka kehuisi Juuson toimintaa ministerinä: "Selvä enemmistö Juuson päivitykseen reagoineista on su
      Perussuomalaiset
      162
      1085
    8. Persuehdokas uhkasi tappaa "jätkän" ja ravintolayrittäjän

      Kuuntele tästä kuinka meuhkaa. https://www.iltalehti.fi/politiikka/a/4eb3034d-48c5-4f31-b53c-42be3dc9607c
      Perussuomalaiset
      77
      1073
    9. Kompostointitarkastaja tuli tarkastukselle!

      En ole ikinä kompostoinnut ja eilen kävi kompostointitarkastaja kylässä. Tosi hianoa byrokratiaa taas: "Laki edellyttää,
      57
      930
    10. Rokotevastaiset aiheuttaneet lasten kuolemat USA:ssa, eivätkä pyydä anteeksi

      Jo kaksi lasta kuollut tuhkarokkoon Texasissa, koska rokotevastaiset ovat toimillaan tuhonneet suojaavan rokotekattavuud
      Maailman menoa
      238
      925
    Aihe