1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Mitglieder
  3. Nicholas1991

Beiträge von Nicholas1991

  • Panel, auf dem man Panels hin und her schieben kann

    • Nicholas1991
    • 10. Mai 2008 um 21:26

    Meinst du so? :

    Code
    class ScoreTableCellRenderer extends DefaultTableCellRenderer {
      public Component getTableCellRendererComponent(JTable table,
                                                     Object value,
                                                     boolean isSelected,
                                                     boolean hasFocus,
                                                     int row,
                                                     int column) {
        Component c = super.getTableCellRendererComponent(table, value, isSelected,
        hasFocus, row, column);
        c.setBackground(new Color(255, 255, 0));
        return c;
      }
    }
    Alles anzeigen



    Das brachte nämlich leider keinen Erfolg...

    Danke trotzdem für den Vorschlag

  • Panel, auf dem man Panels hin und her schieben kann

    • Nicholas1991
    • 9. Mai 2008 um 23:47

    Schon ergibt sich ein neues Problem... seufz... :grinning_face_with_smiling_eyes:

    Das mit dem Panelverschieben läuft jetzt. Allerdings möchte ich auf den Panels natürlich auch was drauf haben - eine Tabelle. Das an sich währe kein Problem, wollte ich nicht in verschiedenen Zellen eine andere Schriftfarbe haben.
    Ich habe mich natürlich informiert und habe bisher das hier gemacht:

    Java
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.table.*;
    /**
      *
      * Beschreibung
      *
      * @version 1.0 vom 09.05.2008
      * @author Nicholas
      */
    public class TableTest extends JFrame {
      // Anfang Variablen
      private JTable jTable1 = new JTable(5, 3);
      // Ende Variablen
      public TableTest(String title) {
        // Frame-Initialisierung
        super(title);
        addWindowListener(new WindowAdapter() {
          public void windowClosing(WindowEvent evt) { System.exit(0); }
        });
        int frameWidth = 435;
        int frameHeight = 351;
        setSize(frameWidth, frameHeight);
        Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
        int x = (d.width - getSize().width) / 2;
        int y = (d.height - getSize().height) / 2 ;
        setLocation(x, y);
        Container cp = getContentPane();
        cp.setLayout(null);
        // Anfang Komponenten
        jTable1.setBounds(8, 40, 216, 152);
        jTable1.setValueAt("Hallo", 0, 0);
        jTable1.setValueAt("Du da", 0, 1);
        jTable1.setValueAt("man", 2, 2);
        jTable1.setDefaultRenderer(JTable.class, new ScoreTableCellRenderer());
        cp.add(jTable1);
        // Ende Komponenten
        setResizable(false);
        setVisible(true);
      }
      // Anfang Ereignisprozeduren
      // Ende Ereignisprozeduren
      public static void main(String[] args) {
        new TableTest("TableTest");
      }
    }
    class ScoreTableCellRenderer extends DefaultTableCellRenderer {
      public Component getTableCellRendererComponent(JTable table,
                                                     Object value,
                                                     boolean isSelected,
                                                     boolean hasFocus,
                                                     int row,
                                                     int column) {
        super.getTableCellRendererComponent(table, value, isSelected,
        hasFocus, row, column);
    
    
        setBackground(new Color(255, 255, 0));
    
    
        return this;
      }
    }
    Alles anzeigen



    Den Renderer hab ich z.T. aus einem Forum, wo ein ähnliches Problem behandelt wurde.
    Um das ganze zu vereinfachen wollte ich erst einmal ohne Bedingung einfach jede Zelle einfärben, aber auch das hat nicht funktioniert.
    Ich wollte fragen, woran das liegt, und, wie ich jetzt z.B. anstatt den Hintergrund die Schriftart bzw. Schriftfarbe (foreground???) ändern kann.

    Danke wie immer im Vorraus

    Nicholas

  • Panel, auf dem man Panels hin und her schieben kann

    • Nicholas1991
    • 9. Mai 2008 um 22:04

    Genau was ich gebraucht habe.

    Nochmal ein ganz großes DANKE.

    Nicholas

  • Panel, auf dem man Panels hin und her schieben kann

    • Nicholas1991
    • 9. Mai 2008 um 21:24

    Vielen Vielen Dank

    Ich seh es mir gleich mal an.

    Nicholas

  • Panel, auf dem man Panels hin und her schieben kann

    • Nicholas1991
    • 9. Mai 2008 um 20:42

    Hallo Schakal,

    erstmal vielen Dank an dich für deine nette Antwort. Ich wollte nur kurz fragen, ob du meine TablePanel Klasse editiert hast, da in der Zip davon keine .java-Dateil drin war.
    Außerdem wollte ich fragen, wie ich denn jetzt vorgehen müsste, wenn ich mein TablePanel nicht links oben in der Ecke des Fensters sitzen habe, da das das Problem zu sein scheint.

    Nochmals vielen Dank

    Nicholas

  • Panel, auf dem man Panels hin und her schieben kann

    • Nicholas1991
    • 8. Mai 2008 um 23:47

    Sry VeVuSIo,

    für for Schleifen bietet sich ein i1 für einen Steigenden Int-Wert einfach an. Ich will aber natürlich hier keinem Stress machen, deshalb guck ich mal, dass ich den Code irgendwie umgeschrieben bekomme.

    Danke trotzdem für die Antwort

  • Panel, auf dem man Panels hin und her schieben kann

    • Nicholas1991
    • 4. Mai 2008 um 22:16

    Wenn jemand noch mehr Infos braucht, weil er mein Problem nicht versteht: nur zu. Ich wäre überglücklich, wenn es jemandem gelingen würde herauszufinden, wo mein Problem liegt.

  • Panel, auf dem man Panels hin und her schieben kann

    • Nicholas1991
    • 1. Mai 2008 um 00:02

    Hallo Leute

    ich bastel gerade an ... siehe Titel ^^.
    Die Panels werden auch auf DEM Panel angezeigt, aber erstens nicht dort, wo ich es erwartet hätte, zweitens funktioniert das mit dem hin und her schieben nicht.

    Ich hatte es mir wie folgt gedacht. Das Panel wird links oben in der Ecke erzeugt. Dann kann ich es auf dem Panel verschieben, indem ich die Maustaste gedrückt halte (auf dem Panel natürlich).

    Leider passiert folgendes: Das Panel wird links oben (zu weit links und zu weit oben) in der Ecke eingefügt. Wenn ich drauf klicke und die Maustaste gedrückt halte, sehe ich das Panel nur, wenn ich nach links oben, aus dem Panel rausgehe. Bewegen lässt es sich dementsprechend nicht.

    Hilft es vlcht weiter, dass das große anzeige Panel nicht das einzige in meinem JFrame ist?

    Ich hatte eine Vorlage von http://www.java2s.com/ wo ein ausgemaltes Rechteck verschoben wurde.

    mfg
    Nicholas

    Hier ist dann meine Version:

    Java
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import java.awt.event.MouseMotionListener;
    /////////////
    //Grundklasse von [URL]http://www.java2s.com/[/URL]   nur angepasst von mir auf mein Problem
    /////////////
    class TablePanel extends JPanel implements MouseListener, MouseMotionListener {
      Main_GUI myJFrame;
      int[] preX, preY;
     
      int iAkt;
      boolean isFirstTime = true;
      Rectangle area = new Rectangle(getWidth(), getHeight());
      boolean pressOut = false;
      public TablePanel(Main_GUI jf_Frame) {
        super(null);
        myJFrame = jf_Frame;
        setBackground(Color.white);
        addMouseMotionListener(this);
        addMouseListener(this);
      }
      public void mousePressed(MouseEvent e) {
        int i1 = this.getComponentCount();
        preX = new int[i1];
        preY = new int[i1];
        for (int i2 = 0 ; i2 < i1 ; i2++) {
          preX[i2] = getComponent(i2).getX()-e.getX();
          preY[i2] = getComponent(i2).getY()-e.getY();
        }
        boolean b1 = false;
        int i2 = 0;
        while(!b1 && i2<i1) {
          if (getComponent(i2).contains(e.getX(), e.getY())) {
            iAkt = i2;
            updateLocation(e);
            b1=true;
          }
          else {
            i2++;
          }
        }
        if (!b1) {
          pressOut=true;
        }
      }
      public void mouseDragged(MouseEvent e) {
        if (!pressOut) {
          updateLocation(e);
        }
      }
      public void mouseReleased(MouseEvent e) {
        boolean b1 = false;
          if (getComponent(iAkt).contains(e.getX(), e.getY())) {
            updateLocation(e);
          }
          else {
            pressOut = false;
          }
      }
     
      public void mouseMoved(MouseEvent e) {
      }
      public void mouseClicked(MouseEvent e) {
        /*
        int i1 = this.getComponentCount();
        preX = new int[i1];
        preY = new int[i1];
        for (int i2 = 0 ; i2 < i1 ; i2++) {
          preX[i2] = getComponent(i2).getX()-e.getX();
          preY[i2] = getComponent(i2).getY()-e.getY();
        }
        boolean b1 = false;
        int i2 = 0;
        while(!b1 && i2<i1) {
          if (getComponent(i2).contains(e.getX(), e.getY())) {
            b1=true;
          }
          else {
            i2++;
          }
        }
        boolean istEntity = true;
        try {
          EntityPanel pn1 = (EntityPanel) getComponent(i2);
        } catch (Exception z) {istEntity = false;}
        if (!b1) {
          myJFrame.activateEditPanel(i2, istEntity);
        } */
      }
      public void mouseExited(MouseEvent e) {
      }
      public void mouseEntered(MouseEvent e) {
      }
     
     
      public void updateLocation(MouseEvent e) {
        getComponent(iAkt).setLocation(preX[iAkt] + e.getX(), preY[iAkt] + e.getY());
        if (checkRect()) {
          //ShapeMover.label.setText(rect.getX() + ", " + rect.getY());
        } else {
          //ShapeMover.label.setText("drag inside the area.");
        }
        repaint();
      }
     
      boolean checkRect() {
        if (area == null) {
          return false;
        }
        if (area.contains(getComponent(iAkt).getX(), getComponent(iAkt).getY(), getComponent(iAkt).getWidth(), getComponent(iAkt).getHeight())) {
          return true;
        }
        int new_x = getComponent(iAkt).getX();
        int new_y = getComponent(iAkt).getY();
        if ((getComponent(iAkt).getX() + getComponent(iAkt).getWidth()) > area.getWidth()) {
          new_x = (int) area.getWidth() - getComponent(iAkt).getWidth();
        }
        if (getComponent(iAkt).getX() < 0) {
          new_x = 0;
        }
        if ((getComponent(iAkt).getY() + getComponent(iAkt).getHeight()) > area.getHeight()) {
          new_y = (int) area.getHeight() - getComponent(iAkt).getHeight();
        }
        if (getComponent(iAkt).getY() < 0) {
          new_y = 0;
        }
        getComponent(iAkt).setLocation(new_x, new_y);
        return false;
      }
     
      public void addEntity(EntityPanel epEntity) {
        add(epEntity);
        this.paintAll(this.getGraphics());
      }
    }
    Alles anzeigen
  • Kalender Struktur

    • Nicholas1991
    • 11. Dezember 2007 um 22:14

    Danke für die Antworten.
    Ich schau mal wie ich es mache

  • Kalender Struktur

    • Nicholas1991
    • 11. Dezember 2007 um 17:24

    Mit diesen Packages müsste ich ja sozusagen alles selbst programmieren.

    Ich dachte nur es gäbe vielleicht sowas wie ein TableModel nur halt in form eines Kalenders.. Gibt es sowas?


    wie immer danke für alles im Vorraus


    Nicholas

  • Kalender Struktur

    • Nicholas1991
    • 11. Dezember 2007 um 15:28

    Hallo Leute,

    Ich weiß ja, dass Java Calendar zur Verfügung stellt, um das Datum und ähnliches Auszulesen. Aber ich bin gerade an einem Projekt, für dass ich meine Daten in einer Art Kalender abspeichern bzw. auslesen muss. Nur ist mein Problem ja etwas anders.

    Weiß jemand, ob es so etwas von Java gibt?

    Oder

    Wenn es so etwas nicht von Java gibt, wie ich es selbst am besten implementieren könnte? Denn ich habe mir schon Gedanken drüber gemacht, aber das scheint alles etwas aufwendiger zu werden. Allein, das mit den Wochentagen scheint schon recht aufwendig. Oder gibt es vielleicht auch eine allgemeine Datenstruktur, die sich prima für so etwas eignet???

    Vielen vielen Dank im Vorraus :thumb:

    Nicholas

  • TXT Datei

    • Nicholas1991
    • 4. Mai 2007 um 23:37

    ach und noch ein problem: die Formatierung wird in der Datei nicht übernommen!

  • TXT Datei

    • Nicholas1991
    • 4. Mai 2007 um 21:59

    jetzt hab ich ganz vergessen meine Ansätze zu schicken :grinning_face_with_smiling_eyes:

    Code
    public void bt_SpeichernActionPerformed(ActionEvent evt) {
        file = new File(jfcoOpenFilename());
        try {
          file2 = new RandomAccessFile(file, "rw");
          file2.writeUTF(tf_Text.getText());
          file2.close();
        }
        catch (IOException e) {System.err.println(e.toString());}
      }
      public String jfcoOpenFilename() {
        jfco.setDialogTitle("Öffne Datei");
        if (jfco.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
          return jfco.getSelectedFile().getPath();
        } else {
          return null;
        }
      }
    Alles anzeigen




    soweit ja nicht schlecht.
    Erstes Problem: Am Anfang der Datei ist immer so ein Quadrat, ich möchte aber, dass nur der Text, den ich eintippe übersetzt wird.
    Zweites Problem: Er leert die Datei nicht, wenn man neu abspeichert, er hängt auch nicht an sondern er ersetzt nur die chars die ersetzt werden müssen.

    Kann jemand helfen?

  • TXT Datei

    • Nicholas1991
    • 4. Mai 2007 um 18:57

    Hallo Leute,

    ich plane folgendes Projekt.
    Ich möchte aus einem JTextArea einen Text auslesen, und in eine TXT Datei abspeichern (die vorher nicht existierte).

    Dann, möchte ich, dass wenn ich das Programm neu öffne, ich die möglichkeit habe die TXT Datei zu öffnen und den Text in ein JTextArea zu schreiben?

    Hat jemand eine Idee, wie das am Einfachsten zu bewerkstelligen wäre?


    Vielen, vielen Dank im Vorraus


    Nicholas1991

  • Java Textarea und Zeichenanzahl

    • Nicholas1991
    • 26. April 2007 um 17:56

    Hat denn niemand einen Ansatz?
    Ich meine generell wie man solch einen Thread erzeugt und wie er aufgebaut sein muss?


    M.f.G.

    Nicholas

  • Java Textarea und Zeichenanzahl

    • Nicholas1991
    • 23. April 2007 um 20:46

    Ich glaube nicht das ich das alleine bewerkstelligt bekomme, da ich sowas noch nie gemacht hab. Vielleicht könnten wir es gemeinsam hinbekommen :winking_face: :grinning_squinting_face:




    Würde mich sehr freuen.

  • Java Textarea und Zeichenanzahl

    • Nicholas1991
    • 22. April 2007 um 22:10

    ich habe vergessen die Attribute vorher zu reseten bevor ich sie erneut verwende, dadurch kam es zur dopplung.


    Danke an alle


    Aber hier ein weiteres TEXTAREA Problem
    Diesmal mit Swing :grinning_face_with_smiling_eyes:

    Ich habe eine Methode die auf Primzahlen prüft. Durch ein textfield wird eine MAXZAHL ausgelesen bis zu der alle Zahlen geprüft werden.
    Ein TEXTAREA gibt dann nur alle Primzahlen aus.
    Ich habe zusätzlich eine ProgressBar implementiert.
    Das Problem:
    Ich lasse nach jeder Zahl den Fortschritt berechnen (Zahl/Maxzahl*100) und gebe das an die Prog.Bar weiter.
    Wenn ich jetzt den Button drücke dann bleibt die Progressbar bis zum schluss auf 0% und geht dann auf 100%.
    Das Textarea ist auch die ganze Zeit LEER bis zum schluss und gibt dann erst aus obwohl ich immer wieder Primzahlen appende wenn sie auftauchen.
    Ich denke Mal ein Code hilft hier mehr:

    Zitat

    public void bt_StartPrimActionPerformed(ActionEvent evt) {
    ta_AusgabePrim.setText("Primzahlen von 2 bis "+tf_EingabePrim.getText()+":\n\n"+"2");
    int iZahl = 3;
    int iMax = Integer.parseInt(tf_EingabePrim.getText());
    do{
    if (istPrimzahl (iZahl) != false) {
    ta_AusgabePrim.append("\n"+iZahl);
    iZahl = (iZahl+1);
    }
    else {
    iZahl = (iZahl+1);
    }
    this.pb_ProgPrim.setValue(iZahl/iMax*100);
    }while (iZahl <= iMax);
    }

    Alles anzeigen



    Versteht jemand mein Problem und kann mir helfen?
    Alles was ich will ist, dass er nicht alles am Ende darstellt sondern kontinuierlich auffüllt.

  • Java Textarea und Zeichenanzahl

    • Nicholas1991
    • 22. April 2007 um 00:37
    Zitat von Paulchen

    Es ist nicht nur so üblich, es ist notwendig, equals() zu verwenden.



    Bei mir funktionierte das bis jetzt immer...


    Naja hier ist getCypher

    Zitat

    protected String getCypher () {
    return this.cypher;
    }



    protected deshalb, weil getCypher nicht in Caesar sondern in der Klasse Krypto ist und vererbt wird.

  • Java Textarea und Zeichenanzahl

    • Nicholas1991
    • 21. April 2007 um 00:47

    Hier ist mein Code

    Zitat

    public void btn_DecryptActionPerformed(ActionEvent evt) {
    String sCurrentValue = (String) cb_CryptType.getSelectedItem();
    if (sCurrentValue == "Caesar") {
    char [] c;
    c = ta_Eingabe.getText().toCharArray();
    int i = 0;
    i = (Integer.parseInt(tf_C_OffsetLetter.getText()));
    int i2 = 0;
    i2 = (ta_Eingabe.getText().length());
    myCaesar.encrypt(c, -i, i2);
    ta_Ausgabe.setText(myCaesar.getCypher());
    }

    Alles anzeigen



    Die Benennung (Namen der Attribute und Methoden) ist nicht ganz logisch
    bitte nicht so sehr darauf achten :grinning_face_with_smiling_eyes:

  • Java Textarea und Zeichenanzahl

    • Nicholas1991
    • 19. April 2007 um 23:27

    Ich habe ein weiteres Problem mit einem Textarea weshalb ich keinen neuen Post eröffnen wollte.

    Ich hab ein GUI von einem aus meiner Klasse. Das ist kein AWT sonder Swing. Wenn ich jetzt die setText methode verwende dann wird der Text trotzdem angehangen wie bei einem append befehl bei AWT?
    Woran liegt das?

    Danke im Vorraus

Rechtliches

Impressum

Datenschutzerklärung