1. Jun 16

    Her kommer den første i en serie av Java-koder som kan være hjelpsomme for noen. Denne klassen gjør så og si det samme som

    JOptionPane.showMessageDialog() og JOptionPane.showInputDialog(), bare med mindre muligheter. Det er slik som man kan bygge ut selv. Det som er essensielt i denne koden er bakgrunnen. Gå nøye igjennom denne interne klassen, og den skal være ganske lettforståelig.

    Det følger også med en klasse helt i bunn som gjør at man kan bevege dialog-boksene ved å trykke hvor som helst inne i selve boksen.

    Kodene finner du på en egen side.

    MessageDialogInputDialog

  2. Jun 16

    I det siste har jeg jobbet litt med et lite prosjekt i å lage en Twitter-klient. Eneste formålet med prosjektet er læring. Ikke har jeg bruk for en twitter-klient eller bruker Twitter for den saks skyld. Men det er et ypperlig prosjekt å utføre for læringens skyld.

    For et best mulig resultat må jeg innom flere tema som er essensielle innen programmering; minnehåndtering (profilbilder, tabell-rendering, grafikk), egne utseender med Graphics2D, Synkronisering av tråder (Concurrency), JSON, OAuth-implementering og ikke minst mye GUI-programmering.

    Kanskje det som jeg har syns mest om er hvordan lagre lekre programmer for Mac OS plattformen i Java. Mac OS X har egentlig mange muligheter for Java når det gjelder utseende, så det er ingen grunn til at Java-programmer skal skille seg mye ut fra Cocoa-applikasjoner. Det kan vel tenke seg at det er noe unyttig å jobbe med Java til Mac OS, dersom det er en plattform-avhengig applikasjon, men ingen kunnskap er unyttig.

    Litt om klienten

    Navnet er Kvitter. Egentlig et helt tilfeldig navn fra min side. Planen var å ikke kalle det noe særlig, men siden Twitter krever at du registrerer programmet for å kunne få tilgang til OAuth, mått jeg komme opp med et navn.

    I klienten kan man gjøre det de fleste bruker Twitter til. Lese igjennom venners statuser, legge til nye venner, fjerne venner, søke etter folk, ord eller “tags”, legge til favoritter, se hvem som har skrevet til deg, se offentlige statuser og selvfølgelig da oppdatere statusen din.

    Klienten har bygd inn Growl-støtte som gjør at dersom det kommer nye statuser vil du få beskjed om det. Så lenge du har valgt dette selv. For å kommunisere med Growl bruker jeg AppleScript. Jeg kommer til å skrive litt mer om hvordan man kan gjøre dette via Java i en senere anledning.

    Lansering

    Trenger vi en ny Twitter-klient? Nei, egentlig ikke. Men såvidt jeg har sett er dette den første helnorske klienten som finnes. Jeg er enda ikke sikker på når lanseringen skjer, eller om det blir i det heletatt. Som nevnt har dette kun vært et lære-prosjekt fra min side, og ingenting annet. Men siden jeg har jobbet en del timer med den, så blir det sikkert muligheter for å laste ned klienten fra en mørk krok her på siden.

    Men det viktigste, etter min mening, er at i løpet av de neste ukene kommer jeg til å gi ut mye av de kodene jeg har jobbet med. Dette inkluderer HUD-vinduer med pil (som sett på bildet) (kan brukes som “popup” for visning av info), Growl for Java, tegning av finere dialog-bokser. Det var alt jeg kom på i farten.

    Håper på litt respons på hvordan designet på programmet er og om det er noen viktige funksjoner jeg har gått glipp av.

  3. Apr 01

    I det siste har det blitt en del programmering i Java på Mac-plattformen. Jeg driver for tiden med et program som skal kun kjøre på OS X. Hvorfor bruke Java? Skoleprosjekt.

    Det er et par ting jeg har lært under veis. Og jeg tenkte jeg skulle poste noen lenker her som jeg har hatt god bruk for.

    Apples egne dokumenter:

    Andre skriblerier:

    En ting som er mangel av i Apples dokumentasjon er hvordan du bruker det innebygde QuickTime biblioteket til å benytte iSight til å hente video eller bilder. Dersom det er av noen interesse kan jeg poste et eksempel på hvordan du kan bruke iSight og andre QuickTime-baserte web-kamera til å ta bilde.

    Senere er det også mulig jeg kommer med noen kode-eksempler på hvordan du kan lage din egen “divider” i en JSplitPane. Hvorfor lage egen divider? Den som er originalt i LAF-en (Look and feel) både til OS X og Windows er stygge, og noen ganger vinner man ikke JSplitPane UI-er som er fine nok, eller passer til programmet ditt. Senere kommer jeg med litt kode eksempler på hvordan du kan lage en JSplitPane noe lignende den du ser i OS X programmet µTorrent.

    • Feb 28

      Det er en stund siden første mission av MacHeist 3 startet, men nå, i skrivende stund, er det et nytt mission som starter. Det har allerede vært to nanomissions og et fult mission og MacHeist har til nå gitt ut 10 programmer som du kan få gratis, med lisens.

      Dersom du er interessert i gratis program og en oppfriskende utfordring ta turen innom MacHeist sine hjemmesider.

    • Feb 26

      Når skal jeg lære? Hver gang jeg leser en norsk IT-avis blir jeg like frustrert og forbannet over kommentarene som skrives. Når kom vi til det punktet der eneste kommentarene skal handle om er hvordan det er på andre plattformer eller hvordan en annen part ikke er noe bedre.

      Vi har tidligere hørt om diskusjoner rundt kvaliteten på norske IT artikler. Særlig for ITAvisen. Selv mener jeg at uansett hvor dårlig innholdet er så har det ingenting å stille opp i mot det uendelige med hjerneløse kommentarer som eksisterer.

      La oss håpe at neste gang vet jeg hvor langt jeg må scrolle for å unngå kommentar-titlene.