tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von genodeftest
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
543
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    JohnathanBernstein JohnathanBernstein ist offline Mitglied Bronze
    Registriert seit
    Aug 2007
    Beiträge
    31
    Hallo,

    also ich habe mit Matisse in Netbeans ein JFrame gemacht mit ein paar kindern. Nun möchte ich mit drawPolygon ein Sechseck in selbiges zeichnen. Wenn ich paint überschreibe geht das in die Hose. Genauso wenn ich paintComponent 'überschreibe'. Wie sollte ich im Allgemeinen vor gehen? Ohne Matisse hab ich das Problem wohl nicht.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    
     
    package my.contacteditor;
     
    import java.awt.Graphics;
     
     
    public class ContactEditorUI extends javax.swing.JFrame {
     
     
        public ContactEditorUI() //<- auch generiert auch ohne pünktchen
       {
            initComponents();
        }
     
       /*
            initComponents();
            g.drawLine(0, 0, 1000, 1000);
       */
        
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
         */
        @SuppressWarnings("unchecked")
     
        private void initComponents().............. 
     
        private void jButton2ActionPerformed(java.awt.event.ActionEvent evt).....
     
        private void jButton5ActionPerformed(java.awt.event.ActionEvent evt).....
     
        private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt)....
     
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new ContactEditorUI().setVisible(true);
                }
            });
        }
     
        // Variables declaration - do not modify                     
        private javax.swing.ButtonGroup buttonGroup1;
        private javax.swing.JButton jButton1;
        private javax.swing.JButton jButton2;
        private javax.swing.JButton jButton3;
        private javax.swing.JButton jButton4;
        private javax.swing.JButton jButton5;
        private javax.swing.JButton jButton6;
        private javax.swing.JComboBox jComboBox1;
        private javax.swing.JLabel jLabel1;
        private javax.swing.JLabel jLabel2;
        private javax.swing.JLabel jLabel3;
        private javax.swing.JLabel jLabel4;
        private javax.swing.JLabel jLabel5;
        private javax.swing.JLabel jLabel6;
        private javax.swing.JList jList1;
        private javax.swing.JPanel jPanel1;
        private javax.swing.JPanel jPanel2;
        private javax.swing.JRadioButton jRadioButton1;
        private javax.swing.JRadioButton jRadioButton2;
        private javax.swing.JRadioButton jRadioButton3;
        private javax.swing.JScrollPane jScrollPane1;
        private javax.swing.JTextField jTextField1;
        private javax.swing.JTextField jTextField2;
        private javax.swing.JTextField jTextField3;
        private javax.swing.JTextField jTextField4;
        private javax.swing.JTextField jTextField5;
        // End of variables declaration                   
     
    }

    die pünktchen stehen für generierten code den ich nicht verändert oder erweitert habe.
     

  2. #2
    MiMi MiMi ist offline Mitglied Smaragd
    Registriert seit
    Sep 2007
    Beiträge
    1.177
    Hm ich kenn matisse jetzt nicht, aber
    Wenn ich paint überschreibe geht das in die Hose. Genauso wenn ich paintComponent 'überschreibe'
    Was genau heisst denn das? "geht in die Hose"
    Ich seh weder eine paint Methode noch was anderes, wo du etwas zeichnet, ausser dem auskommentiertem?!
     
    Waere super wenn ihr euren Code in dieser Form einfuegt:
    [JAVA]System.out.println("Test :)");[/JAVA]
    wird zu:
    Code java:
    1
    
    System.out.println("Test :)");
    Tabs sind uebrigens keine Feinde :)
    Der "Erledigt Button" beisst net :) Und der "Danke Button" ist auch nicht nur zur zierde
    Danke :D

  3. #3
    genodeftest genodeftest ist offline Mitglied Brillant
    Registriert seit
    Jun 2009
    Beiträge
    870
    Vielleicht hilft dir das: wenn du die Methode paintComponent überschreibst, musst du am Anfang dieser Methode
    Code java:
    1
    
    super.paintComponent(g);
    ausführen. Nebenbei: bei Swing-Componenten (wie z.B. JFrame) solltest du nie die paint()-Methode, sondern nur die paintComponent()-Methode überschreiben.
     
    Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
    Code java:
    1
    
    System.out.println("Hallo");
    hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.
    ___________
    Ubuntu Bug #1: Microsoft has a majority market share
    Casecon: Projekt leiser Käse

  4. #4
    JohnathanBernstein JohnathanBernstein ist offline Mitglied Bronze
    Registriert seit
    Aug 2007
    Beiträge
    31
    danke jetzt klappts! hab allerdings paint überschrieben nicht paintComponent. komischer weise wenn ich es mit paintComponet versuche klappt es nicht. es kommt auch keine 'Override annotation'. und ich kann kein super.paintComponent(g) aufrufen. wenn ich also besser paintComponent überschreiben soll wie gehe ich es an?

    ps: mit in die hose gehen meinte ich den aufbau des JFrames es wurde nicht korrekt aufgebaut. insbesondere die kinder.
     

  5. #5
    JohnathanBernstein JohnathanBernstein ist offline Mitglied Bronze
    Registriert seit
    Aug 2007
    Beiträge
    31
    hab gerade gelesen das JFrame kein JComponent ist! also auch keine paintComponent methode zum überschreiben besitzt.....
     

  6. #6
    genodeftest genodeftest ist offline Mitglied Brillant
    Registriert seit
    Jun 2009
    Beiträge
    870
    Du hast Recht! aber jeder JFrame besitzt ein JRootPane, dies ist ein JComponent.
    JohnathanBernstein bedankt sich. 
    Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
    Code java:
    1
    
    System.out.println("Hallo");
    hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.
    ___________
    Ubuntu Bug #1: Microsoft has a majority market share
    Casecon: Projekt leiser Käse

Ähnliche Themen

  1. Linie zeichnen?
    Von Jacizzle im Forum .NET Windows Forms
    Antworten: 3
    Letzter Beitrag: 17.04.08, 23:06
  2. Linie zeichnen
    Von cytrics im Forum Flash Plattform
    Antworten: 2
    Letzter Beitrag: 09.05.07, 10:44
  3. Linie zeichnen
    Von chri_13 im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 2
    Letzter Beitrag: 12.11.06, 13:56
  4. Linie zeichnen?
    Von Christoph1972 im Forum .NET Grafik und Sound
    Antworten: 6
    Letzter Beitrag: 28.09.05, 13:27
  5. Linie Zeichnen
    Von Danjal im Forum Flash Plattform
    Antworten: 7
    Letzter Beitrag: 30.03.05, 22:07