Veröffentlicht 10. August 200520 j gibt es eine Möglichkeit ein Objekt aus dem Hintergrund in den Vordergrund zu setzen ? setForeground macht nur die Farbe O.o
10. August 200520 j meinst du deine controls auf dem panel oder willst du deine linien in den vordergrund bringen? bigredeyes
10. August 200520 j Autor ne... ich hatte eine Positions anzeige neben dem Mauszeiger gemacht Die hatte ich aber aufs Frame und nicht aufs Panel gebunden, somit wurde die immer verdeckt. Hab das aber jetzt hingekriegt Trotzdem danke fürs Interesse *g*
10. August 200520 j Autor wie gesagt, ich hab es einfach umgebunden... der vorherige Code: import javax.swing.*; import javax.swing.border.*; import java.awt.*; import java.awt.event.*; public class Mauszeichner extends JPanel implements MouseListener, MouseMotionListener { JFrame f = new JFrame("Mauszeichner"); Container c = f.getContentPane(); int mausX; int mausY; int maus_start_x; int maus_start_y; int maus_end_x; int maus_end_y; JPanel pan_Mausdraw = new JPanel(); JLabel lblpos = new JLabel(); public Mauszeichner() { f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setSize(500,600); f.setLocation(600,400); f.setLayout(null); pan_Mausdraw.setBounds(50,50,400,500); pan_Mausdraw.addMouseListener(this); pan_Mausdraw.addMouseMotionListener(this); c.add(pan_Mausdraw); f.setVisible(true); } public static void main(String[] args) { new Mauszeichner(); } public void mouseClicked (MouseEvent e) { } public void mouseReleased (MouseEvent e) { if(e.getButton() == e.BUTTON1) { maus_end_x = e.getX(); maus_end_y = e.getY(); pan_Mausdraw.getGraphics().drawLine( maus_start_x, maus_start_y, maus_end_x, maus_end_y); } else if(e.getButton() == e.BUTTON3) { pan_Mausdraw.getGraphics().clearRect( 0,0,400,500); } } public void mouseExited (MouseEvent e) { maus_start_x = 0; maus_start_y = 0; maus_end_x = 0; maus_end_y = 0; //c.remove(lblpos); } public void mouseEntered (MouseEvent e) { c.add(lblpos); } public void mousePressed (MouseEvent e) { if(e.getButton() == e.BUTTON1) { maus_start_x = e.getX(); maus_start_y = e.getY(); } } public void mouseMoved(MouseEvent e) { lblpos.setBounds(e.getX() + 15, e.getY() - 5, 50, 16); lblpos.setText(e.getX() + ";" + e.getY()); } public void mouseDragged(MouseEvent e) { lblpos.setBounds(e.getX() + 15, e.getY() - 5, 50, 16); lblpos.setText(e.getX() + ";" + e.getY()); } } der jetzige Code: import javax.swing.*; import javax.swing.border.*; import java.awt.*; import java.awt.event.*; public class Mauszeichner extends JPanel implements MouseListener, MouseMotionListener { JFrame f = new JFrame("Mauszeichner"); Container c = f.getContentPane(); int mausX; int mausY; int maus_start_x; int maus_start_y; int maus_end_x; int maus_end_y; JPanel pan_Mausdraw = new JPanel(); JLabel lblpos = new JLabel(); public Mauszeichner() { f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setSize(500,600); f.setLocation(600,400); f.setLayout(null); pan_Mausdraw.setBounds(50,50,400,500); pan_Mausdraw.addMouseListener(this); pan_Mausdraw.addMouseMotionListener(this); c.add(pan_Mausdraw); f.setVisible(true); } public static void main(String[] args) { new Mauszeichner(); } public void mouseClicked (MouseEvent e) { } public void mouseReleased (MouseEvent e) { if(e.getButton() == e.BUTTON1) { maus_end_x = e.getX(); maus_end_y = e.getY(); pan_Mausdraw.getGraphics().drawLine( maus_start_x, maus_start_y, maus_end_x, maus_end_y); } else if(e.getButton() == e.BUTTON3) { pan_Mausdraw.getGraphics().clearRect( 0,0,400,500); } } public void mouseExited (MouseEvent e) { maus_start_x = 0; maus_start_y = 0; maus_end_x = 0; maus_end_y = 0; //pan_Mausdraw.remove(lblpos); } public void mouseEntered (MouseEvent e) { pan_Mausdraw.add(lblpos); pan_Mausdraw.setLayout(null); } public void mousePressed (MouseEvent e) { if(e.getButton() == e.BUTTON1) { maus_start_x = e.getX(); maus_start_y = e.getY(); } } public void mouseMoved(MouseEvent e) { lblpos.setBounds(e.getX() + 15, e.getY() - 5, 50, 16); lblpos.setText(e.getX() + ";" + e.getY()); } public void mouseDragged(MouseEvent e) { lblpos.setBounds(e.getX() + 15, e.getY() - 5, 50, 16); lblpos.setText(e.getX() + ";" + e.getY()); } }
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.