04. december 2001 - 19:04Der er
10 kommentarer og 1 løsning
ændring af cursor
Hej jeg sad og tænkte på om der en måde hvorved man kan ændre udseendet på cursoren. Fx. hvis man klikker på et bestemt felt så ændrer cursoren udseende til et imageicon eller noget lignende. Og så når man trykker et andet sted, går cursoren tilbage til sin oprindelige form. Jeg bruger swing.
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
hehe...jeg tror faktisk du er i den forkerte kategori :) CSS er stylesheets. Noget man bruger til html dokumenter. Det her er java...og jeg laver i swing...altså dvs. noget der overhovedet ikke har noget med hverken javascript,css,html eller nogle som helst andre editeringssprog at gøre
Jeg håber at nedenstående kan hjælpe dig igang. Eksemplet skulle være lige til at gå til. Jeg har lavet det med en Cirkel som cursor, men det skulle være muligt at tegne hvadsomhelst.
Her er et eksempel med et billede. Problemet er at når du bruger et billede der er større end standard cursoren, bliver kun den del af billedet der befinder sig i standardcursorens rectangel opdateret, derfor skal damage metoden overskrives så man opdaterer i hele billedets område.
public MyCaret(String mingif) { super(); i = (new ImageIcon(mingif)).getImage(); }
// draw the caret public void paint(Graphics g) {
if (!isVisible()) return; try { JTextComponent c = getComponent(); int dot = getDot(); Rectangle r = c.modelToView(dot); g.setColor(c.getCaretColor()); g.drawImage(i,r.x, r.y, null); } catch (BadLocationException e) { System.err.println(e); } }
// specify the size of the caret for redrawing // and do repaint() -- this is called when the // caret moves protected synchronized void damage(Rectangle r) { if (r == null) return; x = r.x; y = r.y ; width = i.getWidth(null); height = i.getHeight(null); repaint(); } }
public class Caret { public static void main(String args[]) { JFrame frame = new JFrame(\"Caret demo\"); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); JTextArea area = new JTextArea(10, 40); area.setCaret(new MyCaret(\"mygif.gif\")); JPanel panel = new JPanel(); panel.add(area); frame.getContentPane().add(\"Center\", panel); frame.pack(); frame.setVisible(true); } }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.