tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
470
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    cojack20 cojack20 ist offline Mitglied Bronze
    Registriert seit
    Jul 2007
    Beiträge
    47
    Hallo,

    ich habe folgendes kleine Problem:
    Ich habe ein Rectangle und dort möchte ich unten rechts in der Ecke ein Rechteck abschneiden.
    Eigentlich suche ich genau das hier:
    http://www.java2s.com/Tutorial/VB/03...ionExclude.htm
    nur halt nicht für VB sondern für Java (Swing).


    DANKE ich habe mich schon dumm und dusselig gesucht.

    DANKE
     

  2. #2
    Avatar von javaDeveloper2011
    javaDeveloper2011 javaDeveloper2011 ist offline Mitglied Brokat
    Registriert seit
    Feb 2011
    Beiträge
    445
    Blog-Einträge
    5
    Hallo cojack20,

    soweit ich dich richtig verstanden habe, willst du also eine "cutArea()"-Methode.

    Die kann man folgendermaßen implementieren:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
    import java.awt.Graphics;
    import javax.swing.JPanel;
     
    public class MyPanel extends JPanel{
     
           public MyPanel(){
           }
     
           public void cutArea(){
                  Graphics g = getGraphics();
                  g.copyArea(35, 55, 7, 8, 10, 10);
                  /* 25: horizontale distanz: linke obere Ecke des Ausschnitts von linke obere Ecke  des panels
                      35: vertikale ...
                      40: weite des auszuschneidenden Bereichs
                      45: höhe ...
                      3:   horizontale Pixel um die verschoben wird
                      8:   vertikale ... 
                  */
                  g.clearRect(35, 55, 7, 8);
                  // Eifach die ersten 4 Parameter von oben
          }
    }

    Man kann natürlich auch z.B. JFrame stadt JPanel benutzen.

    Ein Beispiel das so wie es ist funktioniert wäre:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    
    import java.awt.Graphics;
    import javax.swing.JFrame;
     
    public class MyFrame extends JFrame{
     
           public MyFrame(){
               super("MyFrame");
               setSize(100, 100);
               setLocation(100, 100);
               setResizable(false);
               setVisible(true);
           }
           
           public void paint(Graphics g){
               g.fillOval(25, 50, 15, 15);
            }
     
           public void cutArea(){
                  Graphics g = getGraphics();
                  g.copyArea(25, 35, 40, 45, 3, 8);
                  g.clearRect(25, 35, 40, 45);
          }
    }

    Ich hab dir noch nen jar angehängt, das automatisch nach 2 sek 'cutArea' aufruft.

    javaDeveloper2011
    Angehängte Dateien Angehängte Dateien
    Geändert von javaDeveloper2011 (13.04.11 um 20:09 Uhr)
     

  3. #3
    Avatar von javaDeveloper2011
    javaDeveloper2011 javaDeveloper2011 ist offline Mitglied Brokat
    Registriert seit
    Feb 2011
    Beiträge
    445
    Blog-Einträge
    5
    P.S.: In professionellen IDE´s kann man Methoden nicht einzeln aufrufen,
    wenn du das für 'cutArea()' machen willst kannst du BlueJ verwenden.
    Geändert von javaDeveloper2011 (13.04.11 um 20:14 Uhr)
     

Ähnliche Themen

  1. Doxygen ingnoriert EXCLUDE ?!
    Von starbright im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 02.10.09, 10:32
  2. EXCLUDE von definierten Datensätzen bei SELECT?
    Von buzzom im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 26.09.09, 16:22
  3. Antworten: 2
    Letzter Beitrag: 22.07.08, 09:11
  4. find command, pfad exclude?
    Von Iceman8712 im Forum Linux & Unix
    Antworten: 2
    Letzter Beitrag: 27.07.05, 16:20
  5. Shape mit Mesh-Smooth ----> Shape geht Kaputt
    Von Grafik-Bewunderer im Forum 3D Studio Max
    Antworten: 5
    Letzter Beitrag: 05.05.02, 17:14