kostenloser Webspace werbefrei: lima-city


Was ist hier falsch?

lima-cityForumProgrammiersprachenJava

  1. Autor dieses Themas

    d***********3

    Ich hab ein Prog geschrieben was PMs abfragt, allerdings geht das ne so ganz, warum? Wie kann ich in einem Swing programm eine selbst deklarierete Variable ausgeben? hier mein code:

    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.sql.*;


    public class VocamusPM extends JFrame
    {


    VocamusPM(String titel)
    {
    super(titel);


    setLayout(new FlowLayout());


    setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);


    }


    public static void main (String args[]) {

    VocamusPM fenster = new VocamusPM("Vocamus PM");
    fenster.pack();
    fenster.setSize(300,75);
    fenster.setVisible(true);



    }

    public void paint(Graphics g) {


    MySQL.verbinden();
    MySQL.auslesen();


    }

    }


    und



    import java.sql.*;
    import java.awt.*;



    public class MySQL {

    String name;
    String betreff;
    String von;
    int id;
    int nummer;
    String abgefragt;


    MySQL() {



    }



    public static void verbinden() {

    // Treiber laden
    try {
    Class.forName("com.mysql.jdbc.Driver");
    }
    catch (Exception e) {
    System.out.println("JDBC/ODBC-Treiber konnte nicht geladen werden.");
    return;
    }

    // Verbindung zu Datenbank aufbauen
    Statement befehl = null;
    Connection verbindung = null;
    try {
    verbindung = DriverManager.getConnection (
    "jdbc:mysql://mysql.lima-city.de/DB199576841",
    "USER46908",
    "meinPW");
    befehl = verbindung.createStatement();
    }
    catch (Exception e) {
    System.err.println("Verbindung zu konnte nicht hergestellt werden");


    }





    }


    public static void auslesen() {

    // Daten auslesen
    try {
    ResultSet datenmenge;
    datenmenge = befehl.executeQuery("SELECT * FROM PM ORDER BY Name;");


    // Einzelne Datens?tze ausgeben




    while(datenmenge.next()) {
    name = datenmenge.getString("Name");
    betreff = datenmenge.getString("Betreff");
    von = datenmenge.getString("Von");
    id = datenmenge.getInt("ID");
    nummer = datenmenge.getInt("Nummer");
    abgefragt = datenmenge.getString("Abgefragt");

    verbindung.close()

    catch (Exception e) {
    e.printStackTrace();

    }

    }}








    }
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. p**i

    Gehe ich richtig der Annahme, Du willst die aus der Datenbank gefundenen Eintr?ge irgendwie ausgeben lassen?
    Wenn ja, was hast Du f?r eine Swing-Komponente, die Du mit den Eintr?gen f?llen m?chtest?

    Beitrag ge?ndert am 27.01.2006 02:31 von puni
  4. Autor dieses Themas

    d***********3

    ich wollte das mit drawString() ausgeben. ja du liegst richtig
  5. p**i

    Okay, mit drawString sollte das kein Problem werden.
    Du ?berlagerst einfach die paint-Methode je nach Geschmack und Bedarf:

    Beispiel:

    public void paint(Graphics g){
    g.setColor(Color.blue);
    g.drawString(MySQL.name, 5, 5); // 5 pixel von links & von oben
    }

    Problematischerweise musst Du nach jedem eingelesenen Wert die Position (5, 5) ver?ndern,
    weil der String sonst ?berschrieben wird.
    Ich rate Dir auf effektive Swing-Komponenten umzusteigen,
    zum Beispiel JTable.
  6. Autor dieses Themas

    d***********3

    Ich habs jetzt mit ner JTable gemacht. Aber wie kommt da jetzt das mit der Datenbank rein?



    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.sql.*;

    public class DB extends JFrame {

    JMenuBar menueleiste;
    JMenu menu0, menu1, menu2, menu3;
    JMenuItem item01, item02, item1, item2, item3, item4,item5, item6, item7, item8, item9, item10;


    String[][] Daten = new String[][] {

    {"samson","Hi","24:89 Uhr","jesus"},{"samson","Hallo","15:56 Uhr","5Hotel"}

    };


    String[] ?berschrift = new String[] {"An","Betreff","Zeit","Von"};


















    class ALauscher implements ActionListener {
    public void actionPerformed(ActionEvent e) {

    item01.setText("Guden");



    }
    }

    class ALauscher2 implements ActionListener {
    public void actionPerformed(ActionEvent e) {


    item02.setText("Tach");


    }
    }



    DB (String titel) {

    super(titel);



    JTable Tabelle;

    Tabelle = new JTable (Daten,?berschrift);
    getContentPane().add( new JScrollPane( Tabelle ) );

    Tabelle.setAutoResizeMode( JTable.AUTO_RESIZE_OFF );

    Tabelle.getColumn( "An" ).setPreferredWidth( 100 );
    Tabelle.getColumn( "Betreff" ).setPreferredWidth( 100 );
    Tabelle.getColumn( "Zeit" ).setPreferredWidth( 80 );
    Tabelle.getColumn( "Von" ).setPreferredWidth( 100 );


    menueleiste = new JMenuBar();


    menu0 = new JMenu("Datei");
    item01 = new JMenuItem("PMs abfragen");
    item02 = new JMenuItem("Beenden");


    menu1 = new JMenu("PM");
    item1 = new JMenuItem("Neu");
    item2 = new JMenuItem("Abfragen");
    item3 = new JMenuItem("L?schen");
    item4 = new JMenuItem("?ndern");

    menu2 = new JMenu("Konto");
    item5 = new JMenuItem("Erstellen");
    item6 = new JMenuItem("Liste");
    item7 = new JMenuItem("L?schen");
    item8 = new JMenuItem("?ndern");

    menu3 = new JMenu("Hilfe");
    item9 = new JMenuItem("FAQs");
    item10 = new JMenuItem("Onlinesupport");


    menu0.add(item01);
    menu0.add(item02);


    menu1.add(item1);
    menu1.add(item2);
    menu1.add(item3);
    menu1.add(item4);

    menu2.add(item5);
    menu2.add(item6);
    menu2.add(item7);
    menu2.add(item8);

    menu3.add(item9);
    menu3.add(item10);

    menueleiste.add(menu0);
    menueleiste.add(menu1);
    menueleiste.add(menu2);
    menueleiste.add(menu3);

    setLayout(new FlowLayout());



    setJMenuBar(menueleiste);




    //ActionsListener
    item01.addActionListener(new ALauscher());
    item02.addActionListener(new ALauscher2());


    //Anwendung schlie?en
    setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {









    DB f = new DB("VocamusPM");
    f.pack();
    f.setVisible(true);


    }

    }
  7. p**i

    Du musst alles ?ber ein TableModel laufen lassen.
    Okay, Du MUSST nicht, aber es ist der einfachste Weg:
    Deine MySQL-Klasse muss Daten (Vector w?re vorteilhaft) an das TableModel ?bergeben,
    wo die Daten dann verarbeitet werden (z.B. sortiert usw.).
    Das TableModel gibt die Daten dann an die JTable-Komponente weiter und stellt sie dar.

    JTable ist leider eine der schwersten Komponenten von Swing,
    deshalb:

    http://www.lima-city.de/boards.php?m=thread&id=43719

    Schau Dir das Tutorial mal an.
    Hier scheints nicht arg viele Java-Spezis zu geben.

    Beitrag ge?ndert am 30.01.2006 01:57 von puni
  8. Autor dieses Themas

    d***********3



    puni schrieb:
    Du musst alles ?ber ein TableModel laufen lassen.
    Okay, Du MUSST nicht, aber es ist der einfachste Weg:
    Deine MySQL-Klasse muss Daten (Vector w?re vorteilhaft) an das TableModel ?bergeben,
    wo die Daten dann verarbeitet werden (z.B. sortiert usw.).
    Das TableModel gibt die Daten dann an die JTable-Komponente weiter und stellt sie dar.

    JTable ist leider eine der schwersten Komponenten von Swing,
    deshalb:

    http://www.lima-city.de/boards.php?m=thread&id=43719


    ich kenn das tut aber habs net gerafft

    Schau Dir das Tutorial mal an.
    Hier scheints nicht arg viele Java-Spezis zu geben.

    Beitrag ge?ndert am 30.01.2006 01:57 von puni
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!