sumJTextArea = new JTextArea(5, 30);
sumJTextArea.setFont(new Font("SansSerif", Font.PLAIN, 15));
sumJTextArea.setVisible(false);
sumJScrollPane=new JScrollPane(sumJTextArea);
sumJScrollPane.setPreferredSize(new Dimension(12, 3));
sumJScrollPane.setVisible(true);随着字的增多,我的滚动条永远都不滚动,只是是直接变长了
都帮我好多次了
sumJTextArea .setLineWrap(true);
这个也不行
我把我精简的源码贴一下,只要让这个滚动条滚动就好了,而不是直接拉长import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import java.sql.*;
import javax.swing.Box;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;public class sale extends JFrame implements ActionListener {
JMenuBar mubar;
JMenu filemu, inputmu, selemu, callmu, helpmu, aboutmu,updatemu; //menu
JMenuItem selehosmuit, selehospermuit, seleallmuit; //selemuit JPanel inputJPanel,selectallJPanel,selehospersonJPanel,updtJPanel; // selec se;
selehosperson sehp;//input windows JButton okJButton, nextJButton;
JTextField sumJTextField;
JLabel nameJLabel, hosJLabel, datefromJLabel, datetoJLabel, sumJLabel;
public sale() {
createUserInterface();
} private void createUserInterface() {
Container contentPane = getContentPane();
sehp=new selehosperson (this);
inputJPanel=new JPanel();
selectallJPanel=new JPanel();//no use
updtJPanel=new JPanel(); selehospersonJPanel=new JPanel();
// selectallJPanel.add(se);
selehospersonJPanel.add(sehp);
contentPane.add(selehospersonJPanel, BorderLayout.CENTER);
mubar = new JMenuBar();
setJMenuBar(mubar); //setmenu
selemu = new JMenu("查询");
selemu.setFont(new Font("SansSerif", Font.PLAIN, 15));
mubar.add(selemu); selehosmuit = new JMenuItem("按医院查询");
selehosmuit.setFont(new Font("SansSerif", Font.PLAIN, 15));
selehospermuit = new JMenuItem("按医院或销售员查询");
selehospermuit.setFont(new Font("SansSerif", Font.PLAIN, 15));
selemu.add(selehospermuit);
selehospermuit.addActionListener(sehp); setTitle("sale"); // set title bar text
setSize(935, 790); // set window size
setVisible(true); // display window } private void okJButtonactionPerformed(ActionEvent e) { sumJTextField.setText("");
} public void actionPerformed(ActionEvent e) { } public static void main(String[] args) {
sale application = new sale();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } // end method main
}
//input
class selehosperson extends JPanel implements ActionListener
{
JButton okhosJButton,okperJButton, hosJButton,perJButton;
JTextArea sumJTextArea;
JScrollPane sumJScrollPane;
JLabel nameJLabel, hosJLabel, datefromJLabel, datetoJLabel, sumJLabel;
sale ss; selehosperson(sale ss) {
this.ss = ss;
createUserInterface();
} private void createUserInterface() {
//input windows BorderLayout layout = new BorderLayout();
setLayout(layout); okhosJButton = new JButton();
okhosJButton.setText( "fffffffffffffff" );
okhosJButton.setFont(new Font("SansSerif", Font.PLAIN, 15));
okhosJButton.setVisible(false);
okhosJButton.addActionListener( new ActionListener()
{
public void actionPerformed( ActionEvent event )
{
okhosJButtonActionPerformed( event );
} } );
sumJTextArea = new JTextArea(5, 30);
// sumJTextArea.setMaximumSize( sumJTextArea.getPreferredSize());
sumJTextArea.setFont(new Font("SansSerif", Font.PLAIN, 15));
//sumJTextArea.setVisible(true);
sumJTextArea .setLineWrap(true); sumJScrollPane=new JScrollPane(sumJTextArea);
sumJScrollPane.setPreferredSize(new Dimension(12, 3));
sumJScrollPane.setVisible(true);
Box hbox5= Box.createHorizontalBox();
Box hbox6= Box.createHorizontalBox(); hbox5.add(Box.createHorizontalStrut(58));
hbox5.add(sumJTextArea );
hbox5.add( sumJScrollPane );
hbox5.add(Box.createHorizontalStrut(85));
hbox6.add(Box.createHorizontalGlue());
hbox6.add(okhosJButton);
hbox6.add(Box.createHorizontalStrut(85));
Box vbox = Box.createVerticalBox();
vbox.add(Box.createVerticalStrut(10));
vbox.add(hbox5);
vbox.add(Box.createVerticalStrut(10));
vbox.add(hbox6);
add(vbox);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == ss.selehospermuit)
okhosJButton.setVisible(true);
sumJScrollPane.setVisible(true);
sumJTextArea.setVisible(true);
}
private void okhosJButtonActionPerformed( ActionEvent event )
{
sumJTextArea.setVisible(true);
sumJTextArea.append("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"+"\n");
sumJTextArea.append("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"+"\n");
sumJTextArea.append("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"+"\n");
sumJTextArea.append("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"+"\n");
sumJTextArea.append("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"+"\n");
; }
}
所以必须用这个Box
sumJScrollPane.setPreferredSize(new Dimension(12, 3));
hbox5.add(sumJTextArea);