JSrollPane & JInternalFrame & Graphics

Status
Nicht offen für weitere Antworten.

jopp

Mitglied
hi leute

ich kämpfe jetzt schon sehr lange mit diesem ScrollPane und einen Graphen, welchen ich darin ausgeben will, aber ich bekomme es einfach nicht hin. ich habe schon alles mögliche ausprobiert, aber ich schaffe es einfach nicht.

kurze erklärung zum aufbau des programms.

jframe - mit jdesktoppane und defaultdektopmanager als layoutmanager

darin ein internalframe in welchem ein jpanel ist und in diesem soll der graph gezeichnet werden.

ich habe hier kurz das programm aufgelistet.

Code:
package hilfe;

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

public class HauptFenster extends JFrame {

  public static void main(String[] args) {
    try {
      UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    }
    catch(Exception e) {
      e.printStackTrace();
    }

    new HauptFenster();
  }

  public HauptFenster() {
    super("HILFE");
    setSize(600, 300);
    setLocation(300, 300);
    JDesktopPane desk = new JDesktopPane();
    this.getContentPane().add(desk);
    desk.setDesktopManager(new DefaultDesktopManager());
    JInternalFrame jif = new JInternalFrame("GRAPH", true, true, true, true);
    jif.setSize(400,300);
    getContentPane().add(jif);
    jif.getContentPane().add(new JScrollPane(new JPanel(null, true).add(new Graph())));

    addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent event) {
        System.exit(0);
      }
    });
    jif.setVisible(true);
    setVisible(true);
  }
}

class Graph extends Component {
  public Graph() {

  }

  public void paint(Graphics g) {
    Graphics2D g2 = (Graphics2D)g;

    int[] data = null;
    int s = 0;
    int r = 0;

    try {
      Connection dbConn;
      Driver d = (Driver) Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
      String URL = "jdbc:odbc:" + "CMSC446";
      dbConn = DriverManager.getConnection(URL, "nouser", "nopassword");
      System.out.println("db Connected...\n");
      // Java SQL objects...
      Statement stmt;
      stmt = dbConn.createStatement();
      ResultSet rs;
      rs = stmt.executeQuery("SELECT value FROM data WHERE dataid = 0");
      while(rs.next()) {
        s++;
      }
      data = new int[s];
      rs = stmt.executeQuery("SELECT value FROM data WHERE dataid = 0");
      while(rs.next()) {
        data[r] = rs.getInt("value");
        r++;
      }

    }
    catch (Exception e) {
      System.out.println("Read: " + e);
    }
    int x0 = 30;
    int y0 = 150;


    Shape xline = new Line2D.Double(x0,10,x0,170);
    Shape yline = new Line2D.Double(10,y0,590,y0);
    g2.setPaint(Color.blue);
    g2.draw(xline);
    g2.draw(yline);

    int x1 = 0;
    int x2 = 0;
    int y1 = 0;
    int y2 = 0;

    for(int z = 0 ; z < r-1 ; z++) {
      x1 = x0 + 1*z;
      x2 = x1 + 1;
      y1 = y0 - 1*(int)data[z];
      y2 = y0 - 1*(int)data[z+1];

      Shape linexy = new Line2D.Double(x1,y1,x2,y2);
      g2.setPaint(Color.red);
      g2.draw(linexy);
      y1 = 0;
      y2 = 0;
    }
   }
}

die daten werden aus einer access datenbank ausgelesen. es sind ungefähr 1290 daten.

vielleicht kann mir einer von euch helfen. ich hoffe es zumindest.

danke

jopp
 

Ebenius

Top Contributor
... eine Frage zu stellen. Es geht nicht hilft nicht sehr...

Was funktioniert denn nicht?

Ebenius
 

jopp

Mitglied
sorry,

aber ich dachte, wenn ich den gesamten code poste kann man es ausprobieren und ich habe tatsächlich vergessen das eigentliche problem zu posten.

auf jeden fall habe ich es jetzt geschafft den graphen darzustellen, und er wir auch nicht immer und immer wieder neu gezeichnet. sondern nur dann wenn das internalframe verschoben oder die grösse verändert wird. ich habe es auch geschafft, die scrollbalken einzufügen. einziges noch bestehendes problem ist, das der graph beim scrollen doch irgendwie neu gezeichnet wird. kann das leider nicht genau beschreiben was da genau passiert.

scroll-problem.jpg


das bild sagt sicher mehr aus.

in einem anderen posting hast du mir einmal empfohlen ein bufferdimage zu verwenden. leider habe ich damit "noch" keine erfahrung. kannst du mir da irgend welche quellen empfehlen, wo ich mich in das thema einlesen kann. oder vielleicht sogar ein kleines beispiel?

auf jeden fall danke für deine antworten

jopp
 

jopp

Mitglied
habs geschafft

folgende fehler hatte ich in dem programm

statt der methode paint(Graphics g) einfach die Methode paintComponent(..) verwenden.

und dann einmal super.paintComponent(g); aufrufen und schon hat sich das problem gelöst.

ich weiß zwar nicht wieso genau, aber ich habe gelesen, das die paint methode bei swing mehr macht als bei awt und empfohlen wird die paintComponent methode zu verwenden.

jopp
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G JList auf einem JPane mit JSrollPane AWT, Swing, JavaFX & SWT 4
J JSrollPane & Graphics AWT, Swing, JavaFX & SWT 3
D JInternalFrame wechselt Position beim ersten Click AWT, Swing, JavaFX & SWT 0
J Mehrere JInternalFrame; GetValues AWT, Swing, JavaFX & SWT 1
L LookAndFeel JInternalFrame aussehen isSelected() true vs false AWT, Swing, JavaFX & SWT 0
X JInternalFrame vor Java2D-Zeichnung langsam bzw. Gui friert ein AWT, Swing, JavaFX & SWT 1
G Swing JInternalFrame AWT, Swing, JavaFX & SWT 0
R Custome TitlePane JInternalFrame - ControlButton AWT, Swing, JavaFX & SWT 2
B JInternalFrame Focus setzten geht nicht AWT, Swing, JavaFX & SWT 2
J Swing JInternalFrame modal setzen? AWT, Swing, JavaFX & SWT 13
J Swing JInternalFrame schließen ändern? AWT, Swing, JavaFX & SWT 7
J Swing Fokus JInternalFrame fehlerhaft AWT, Swing, JavaFX & SWT 4
G JInternalframe geöffnet oder nicht? AWT, Swing, JavaFX & SWT 4
G Swing und MDI mit JInternalFrame AWT, Swing, JavaFX & SWT 11
H Swing JInternalFrame, JDesktopPane und ein BorderLayout AWT, Swing, JavaFX & SWT 2
R Problem beim Anzeigen von Bildern auf JInternalFrame AWT, Swing, JavaFX & SWT 6
eskimo328 Java6 Methode in Java5 verwenden (memory leak JInternalFrame) AWT, Swing, JavaFX & SWT 4
A Swing getInsets() JInternalFrame AWT, Swing, JavaFX & SWT 2
R Swing JInternalFrame Opaque AWT, Swing, JavaFX & SWT 6
M JInternalFrame - Handhabung? AWT, Swing, JavaFX & SWT 5
algorismi JInternalframe Icon AWT, Swing, JavaFX & SWT 14
S JInternalFrame oder JTextArea neu laden AWT, Swing, JavaFX & SWT 2
V JInternalFrame wird überzeichnet AWT, Swing, JavaFX & SWT 8
T Neuen JInternalFrame von JLabel "herunterziehen" AWT, Swing, JavaFX & SWT 6
T JInternalframe auf DropTarget droppen? AWT, Swing, JavaFX & SWT 7
O Swing JInternalFrame komplett neu laden AWT, Swing, JavaFX & SWT 3
B JInternalFrame - Maximieren AWT, Swing, JavaFX & SWT 11
X Grafikfehler mit JInternalFrame (Überlagerungen) AWT, Swing, JavaFX & SWT 2
B Swing Image als Hintergrund im JInternalFrame - Problem AWT, Swing, JavaFX & SWT 3
J Swing JInternalFrame - mit DesktopManager maximieren AWT, Swing, JavaFX & SWT 3
J Swing JInternalFrame - Bug: getDesktopManager.deiconify(...) AWT, Swing, JavaFX & SWT 2
W JInternalFrame + JList Problem AWT, Swing, JavaFX & SWT 5
H Swing JInternalFrame aus JFrame ziehen AWT, Swing, JavaFX & SWT 6
N JInternalFrame minimieren und schließen AWT, Swing, JavaFX & SWT 2
T JFrame als JInternalFrame darstellen AWT, Swing, JavaFX & SWT 2
K Swing JInternalFrame und LayoutManager AWT, Swing, JavaFX & SWT 6
C Zeichnen über JInternalFrame der ICEpdf-Dokument anzeigt AWT, Swing, JavaFX & SWT 3
T Aussehen von JFrame bzw JInternalFrame ändern... wie? AWT, Swing, JavaFX & SWT 23
J Swing JInternalFrame AWT, Swing, JavaFX & SWT 5
S Swing JInternalFrame: Mehrere Probleme AWT, Swing, JavaFX & SWT 3
S Swing JInternalFrame: Titelleiste entfernen AWT, Swing, JavaFX & SWT 5
R Swing JFrame oder JInternalFrame? AWT, Swing, JavaFX & SWT 13
B JInternalFrame resize event AWT, Swing, JavaFX & SWT 2
X JInternalFrame AWT, Swing, JavaFX & SWT 3
G JInternalFrame AWT, Swing, JavaFX & SWT 2
W JInternalFrame alleine funktionsfähig AWT, Swing, JavaFX & SWT 5
A JSplitPane in JInternalFrame AWT, Swing, JavaFX & SWT 2
G JInternalFrame und beinhaltende Komponenten 'abschalten' AWT, Swing, JavaFX & SWT 2
K Tab von JPanel nach JInternalFrame AWT, Swing, JavaFX & SWT 2
M JInternalFrame Titel sichtbar setzen AWT, Swing, JavaFX & SWT 2
K JInternalFrame - schwarzer Bildschirm AWT, Swing, JavaFX & SWT 2
M JInternalFrame ohne Titelbalken AWT, Swing, JavaFX & SWT 5
A erneutes Öffnen jInternalFrame: illegal component position AWT, Swing, JavaFX & SWT 4
S Kontextmenu im JInternalFrame unterdrücken AWT, Swing, JavaFX & SWT 5
G Layerproblem JInternalFrame AWT, Swing, JavaFX & SWT 2
X Externe Anwendungen in JInternalframe starten. AWT, Swing, JavaFX & SWT 5
T JInternalFrame Vollbild Problem AWT, Swing, JavaFX & SWT 4
X Relative positionierung in einem JInternalFrame AWT, Swing, JavaFX & SWT 3
J JInternalFrame "schimmert" durch AWT, Swing, JavaFX & SWT 4
D JInternalFrame iconified Position nach parent-resize AWT, Swing, JavaFX & SWT 2
DeeDee0815 JInternalFrame in JScrollpane AWT, Swing, JavaFX & SWT 4
C Hilfe bei JInternalFrame AWT, Swing, JavaFX & SWT 6
J JInternalFrame überlagert/unterlagert anderen Elementen AWT, Swing, JavaFX & SWT 2
DeeDee0815 setContentPane()-Problem bei JInternalFrame AWT, Swing, JavaFX & SWT 2
W Unterdrückung von FrameIcon-Funktion im JInternalFrame AWT, Swing, JavaFX & SWT 5
F JInternalFrame Look and Feel AWT, Swing, JavaFX & SWT 3
W Realisierung Gradient in der Titlebar JInternalFrame AWT, Swing, JavaFX & SWT 7
T JInternalFrame Konflikt mit LayoutManager AWT, Swing, JavaFX & SWT 5
T JInternalFrame und Iconified AWT, Swing, JavaFX & SWT 10
C Tooltip nur anzeigen, wenn JInternalFrame minimiert AWT, Swing, JavaFX & SWT 3
M JInternalFrame mouseEntered/mouseExited AWT, Swing, JavaFX & SWT 8
S Eine Art JInternalFrame in JSplitPane AWT, Swing, JavaFX & SWT 3
G Problem bei JTable in JInternalFrame AWT, Swing, JavaFX & SWT 4
megachucky JInternalFrame modal setzen AWT, Swing, JavaFX & SWT 3
megachucky JInternalFrame Größe und Location nicht einstellbar AWT, Swing, JavaFX & SWT 8
T JPanel mit paintComponent methode im JInternalFrame AWT, Swing, JavaFX & SWT 3
R Rückgabewert TreeSelectionListener für JInternalFrame AWT, Swing, JavaFX & SWT 4
J Applet in JInternalFrame laden AWT, Swing, JavaFX & SWT 9
B JInternalFrame in den Vordergrund rücken + Focus AWT, Swing, JavaFX & SWT 15
F Anzeigen eines JInternalFrame auf einen JFrame AWT, Swing, JavaFX & SWT 3
B JInternal Frame laden von anderem JInternalFrame AWT, Swing, JavaFX & SWT 3
A JInternalFrame setMaximizeable(false) wehrt sich AWT, Swing, JavaFX & SWT 2
S JInternalFrame AWT, Swing, JavaFX & SWT 8
welterde Menü in der Titelleiste des JInternalFrame AWT, Swing, JavaFX & SWT 4
S Problem, neuen JInternalFrame zur Laufzeit anzuzeigen AWT, Swing, JavaFX & SWT 8
M Cursor im deaktivierten JInternalFrame AWT, Swing, JavaFX & SWT 2
V JInternalFrame in einen Panel? AWT, Swing, JavaFX & SWT 2
C Scrollbalken bei einem JInternalFrame AWT, Swing, JavaFX & SWT 6
G JInternalFrame mit Doppelklick schließen möglich? AWT, Swing, JavaFX & SWT 2
D JInternalFrame unverschiebbar AWT, Swing, JavaFX & SWT 7
G JInternalFrame Fenster Status von Icon nach Normal? AWT, Swing, JavaFX & SWT 5
G lightweight >> heavyweight bei JInternalFrame für JMen AWT, Swing, JavaFX & SWT 13
P JInternalFrame: Verhindern das man es verschieben kann AWT, Swing, JavaFX & SWT 2
K JInternalFrame: internes Fenster zentrieren AWT, Swing, JavaFX & SWT 2
D JInternalFrame beim Öffnen nicht aktiv! AWT, Swing, JavaFX & SWT 5
A Probleme mit JInternalFrame AWT, Swing, JavaFX & SWT 5
javasdann Höhe von Titlebar in jInternalFrame ändern AWT, Swing, JavaFX & SWT 5
S Auf Komponenten eines JInternalFrame zugreifen AWT, Swing, JavaFX & SWT 2
A Ich kann kein JInternalFrame anzeigen ! AWT, Swing, JavaFX & SWT 7
P JInternalFrame - Problem AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben