Witam piszę coś ala painta i w momencie tym mam taki problem że moje scrolle działają jak gumka marząca, program załączam poniżej. Proszę o szybką pomoc.
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package graficzny1;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JToggleButton;
/**
*
* @author Marcin
*/
public class grafika extends JFrame{
private JToggleButton przyciski[];
private JTextArea jTextArea1;
private class ObslugaPrzycisku implements ActionListener{
private JFrame ref_okno;
ObslugaPrzycisku(JFrame okno){
ref_okno = okno;
}
public void actionPerformed(ActionEvent e) {
JToggleButton bt = (JToggleButton)e.getSource();
}
}
private int x;
private int y;
public String nazwa="0";
public String nazwa1="0";
public grafika()
{
super("Okno interfejsu");
setSize(800,700);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jTextArea1 = new JTextArea();
//-------------------------------------------------------
przyciski = new JToggleButton[3];
przyciski[0] = new JToggleButton("pedzel");
przyciski[0].addActionListener(new ObslugaPrzycisku(this));
przyciski[1] = new JToggleButton("kolo");
przyciski[1].addActionListener(new ObslugaPrzycisku(this));
przyciski[2] = new JToggleButton("kwadrat");
przyciski[2].addActionListener(new ObslugaPrzycisku(this));
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(3, 1));
JPanel panelPrzyciski = new JPanel(new FlowLayout());
panelPrzyciski.add(przyciski[0]);
panel.add(panelPrzyciski);
JPanel panelPrzyciski1 = new JPanel(new FlowLayout());
panelPrzyciski1.add(przyciski[1]);
panel.add(panelPrzyciski1);
JPanel panelPrzyciski2 = new JPanel(new FlowLayout());
panelPrzyciski2.add(przyciski[2]);
panel.add(panelPrzyciski2);
//-------------------------------------------------------
final panel pan = new panel(Color.gray, new Dimension());
JScrollPane pane = new JScrollPane(pan);
// Dekoruje panel suwakami
pane.setViewportView(pan);
// Suwaki zawsze widoczne
pane.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
pane.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
//---panel do umieszczania grafiki---------//
//----umieszczanie grafiki---------//
//-------------------------------------------------------
JPanel gornyPasek = new JPanel(new FlowLayout());
JMenuBar menuBar = new JMenuBar();
gornyPasek.add(menuBar);
JMenu Plik= new JMenu("Plik"); // tworzymy element ktory umiescimy w pasku.
menuBar.add(Plik);
JMenuItem nowy = new JMenuItem("nowy");
JMenuItem otwórz = new JMenuItem("otwórz");
JMenuItem zapisz = new JMenuItem("zapisz");// dodajemy nasz element do calego paska
JMenuItem exit = new JMenuItem("exit");
exit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Exit performed");
System.exit(0);
}
});
otwórz.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFileChooser chooser = new JFileChooser();
int r = chooser.showOpenDialog(chooser);
if(r != JFileChooser.APPROVE_OPTION) return;
File plik = chooser.getSelectedFile();
jTextArea1.setText(plik + "");
nazwa = String.valueOf(jTextArea1.getText());
Image zd;
for(int i=0;i<=1;i++){
zd=Toolkit.getDefaultToolkit().getImage(nazwa);
pan.im[i]=zd;
}
pan.repaint();
}
});
nowy.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Image zd;
for(int i=0;i<=1;i++){
nazwa="bialo.jpg";
zd=Toolkit.getDefaultToolkit().getImage(nazwa);
pan.im[i]=zd.getScaledInstance(800,600,Image.SCALE_FAST);
}
pan.repaint();
}
});
Plik.add(nowy );
Plik.add(otwórz );
Plik.add(zapisz );
Plik.add(exit );
//-------------------------------------------------------
Container content = getContentPane();
content.setLayout(new BorderLayout());
content.add(gornyPasek,BorderLayout.PAGE_START);
content.add(panel,BorderLayout.BEFORE_LINE_BEGINS);
content.add(pane,BorderLayout.CENTER);
setVisible(true);
}
public static void main(String args[]){
new grafika();
}
}