17. maj 2005 - 12:30
Der er
21 kommentarer og 2 løsninger
tegning i Jpanel med Scrollbar
Hej Jeg prøver at tegne en graf i et Jpanel. Det går fint men Jpanel bliver 1400 pixels bredt så jeg vil have en scrollpane på dette panel. JPanel panel = new XYGraph(data); JFrame frame = new JFrame(); JScrollPane scrollPane = new JScrollPane(); scrollPane.add(panel); frame.add(scrollPane); men grafen bliver væk jeg får bare en tom frame uden noget som helst. Er der nogen der kender til dette problem.
Annonceindlæg fra Kingston Technology
hjælper det her? JPanel panel = new XYGraph(data); JFrame frame = new JFrame(); JScrollPane scrollPane = new JScrollPane(panel); frame.add(scrollPane);
Ja nu kommer noget af tegningen, men ingen scrollbar. Den skærer af hvor framen slutter.
Panel er 500x1450 og framen er 500x500 så der burde kommer nogle scrollbars
Er den en vandret scrollbar du vil have? for så skal man vist angive dette.. den er som standard sat til lodret.
hov sorry.. først bredte og så højde.. Jeg har ikke lige nogen ide til det ellers desværre.. det ikke så tit jeg sætter scrollbar til mine jpanels:)
Det er den vandrette jeg gerne vil have, hvordan sætter man den til det?
jScrollPane1.createHorizontalScrollBar();
scrollPane.createHorizontalScrollBar(); til din
Nu gør jeg dette og der virker stadig ikke. JScrollPane scrollPane = new JScrollPane(panel); scrollPane.createHorizontalScrollBar(); frame.add(scrollPane); frame.setSize(500,500);
den skulle gerne komme vandret.. du må ikke tilføje jPanel til din frame.. kan godt se du ikke gør det i koden du viser.. men måske har du gjort det et andet sted?
Har du fået det til at virke ???
nope det vil stadig ikke virke jeg har kigget det hele igennem og det eneste sted jeg lægger noget i framen er der hvor jeg gør det som er vist ovenfor
Du får altid vist den horizontale scrollbar enten der er behov for den eller ej vha. nedenstående. JScrollPane scrollPane = new JScrollPane(panel); scrollPane.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS); frame.add(scrollPane); frame.setSize(500,500);
Ja Scrollbaren komme på nu, men man kan ikke scrolle, det er meget mærkeligt. Men du får point for det.
Prøv at skriv igen kan ikke acceptere dig
Nej det er ikke så mærkeligt, den vandrette scrollbar er nemlig ikke nødvendig lige i dette tilfælde, prøv at sætte frame size ned - frame.setSize(250,500) så kan du se det.
Hvis jeg gør det så ryger noget af tegningen bare. Men hvordan laver man en tegning som man kan scrolle i?
Du laver et image i hukommelsen og laver dit tegne arbejde på det, herefter smider du det image op på dit JPanel Lyneksempel - override paint public void paint(java.awt.Graphics g){ if(offscreen == null) { offscreen = (java.awt.image.BufferedImage)createImage(this.getWidth(), this.getHeight()); g2d = offscreen.createGraphics(); g2d.setColor(new java.awt.Color(255,255,255)); g2d.fillRect(0, 0, this.getWidth(), this.getHeight()); g.drawImage(offscreen, 0, 0, this); g2d.setColor(new java.awt.Color(0,0,0)); } g.drawImage(offscreen, 0, 0, this); } java.awt.image.BufferedImage offscreen; java.awt.Graphics2D g2d;
Smukt det virkede squ. Mange tak for hjælpen
Hvordan er det lige med point ??
24. juni 2005 - 13:57
#21
kan du ikke prøve at ligge et svar. Jeg har prøvet at acceptere men det ser ikke ud til at virke helt.
24. juni 2005 - 16:25
#22
Hmmm - har ellers lagt et, men du får da bare et til. Husk at markere mit navn og tryk accepter.
24. juni 2005 - 16:25
#23
Prøver igen
Kurser inden for grundlæggende programmering