11. august 2002 - 15:26Der er
1 kommentar og 1 løsning
DragAndDrop af JLabel under java 1.3
Hej Alle!
Jeg skal til at lave et program, hvor det skal være muligt for brugeren at placere nogle komponenter på skærmen ved hjælp af DragAndDrop. Det eneste eksempel jeg har kunne finde har kun håndteret tekst. Jeg vil derfor høre om der er nogle af jer der har noget kode hvor det i stedet for tekst er grafik (Jlabel eller lignende).
Koden skal være kompatibel med jdk1.3, idet jeg arbejder på en mac og mangler jdk version 1.4 (håber snart den kommer).
Har lige prøvet at søge efter 'drag and drop java' på Google.com; der ser ud til at være en del, men jeg har desværre ikke tid til at se efter lige nu ;-)
import java.awt.*; import javax.swing.*; import java.awt.event.*; public class Drag extends JFrame{ JPanel lp = new JPanel(); JPanel rp = new JPanel(); JLabel j1 = new JLabel(new ImageIcon("ikon.gif")); JLabel j2 = new JLabel(new ImageIcon("ikon.gif")); public Drag() { addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent ev) { dispose(); System.exit(0);}}); setBounds(10,10,712,528); getContentPane().setLayout(null); lp.setBackground(Color.red); lp.setBounds(1,1,200,500); rp.setLayout(null); rp.setBackground(Color.orange); rp.setBounds(203,1,500,500); getContentPane().add(lp); getContentPane().add(rp); j1.setLocation(70,70); j1.setSize(40,40); add_c(j1); j2.setLocation(100,200); j2.setSize(70,70); add_c(j2); setVisible(true); }private void add_c(final Component c) { c.addMouseMotionListener(new MouseMotionAdapter() { public void mouseDragged(MouseEvent m) { c.setLocation(c.getX()+m.getX(),c.getY()+m.getY()); }}); rp.add(c); } public static void main (String[] args) { new Drag(); }}
Jeg er igang med at lave et backgammon spil der bygger på ovenover kode....husk at smide ikoner ind hvis du skal se koden i action..
Synes godt om
Ny brugerNybegynder
Din løsning...
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.