日期:2014-05-20  浏览次数:20588 次

【求助】jscrollpane显示不出来滚动轴
import java.awt.*;
import javax.swing.*;
public class OpenFile {
private JFrame f = new JFrame();
private static final int WIDTH = 600 ,HEIGHT = 400;
private JButton open;
private JScrollPane scrollPane;
private JLabel label;
private JPanel northPanel,southPanel;
public void init(){
JTextField ta = new JTextField(20);
open = new JButton("open");
northPanel = new JPanel();
southPanel = new JPanel();
northPanel.setLayout(new FlowLayout());
northPanel.add(ta);
northPanel.add(open);
label = new JLabel();
label.setIcon(new ImageIcon("img/1.jpg"));//图片部分,1.jpg较大只显示了一部分出来,没有滚动轴
scrollPane = new JScrollPane(label);
southPanel.add(scrollPane);
f.add(northPanel,BorderLayout.NORTH);
f.add(southPanel,BorderLayout.SOUTH);
f.setTitle("查看图片");
f.setSize(WIDTH,HEIGHT);
f.setVisible(true);
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[]args){
new OpenFile().init();
}
}

------解决方案--------------------
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class T extends JFrame{

private JTextArea jta;
private JScrollPane jsp;

public static void main(String[] args) {
new T();
}

public T(){

this.setLayout(null);
jta = new JTextArea();
jsp = new JScrollPane(jta);
jsp.setBounds(10, 10, 200, 200);
this.add(jsp);

this.setSize(400, 400);
this.setLocation(450, 200);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

------解决方案--------------------
稍微做了点修改,应该能实现你需要的功能。
Java code



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

public class OpenFile extends JFrame {
    private static final int WIDTH = 600 ,HEIGHT = 400;
    private JButton open;
    private JPanel northPanel;
public OpenFile() {
        JTextField ta = new JTextField(20);
        open = new JButton("open");
        northPanel = new JPanel();  
        northPanel.add(ta);
        northPanel.add(open); 
        final ImageIcon i = new ImageIcon("images/3.jpg");
        final JLabel l = new JLabel(i);
        JScrollPane sp = new JScrollPane(l);
        add(sp,BorderLayout.CENTER);
        add(northPanel,BorderLayout.NORTH);
        setSize(WIDTH,HEIGHT);
        setVisible(true);
        setTitle("查看图片");
        setLocationRelativeTo(null); 
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    
    public static void main (String[] args) {
        OpenFile t=new OpenFile();
    }
}