要给JTextField加水平滚动条,怎么办?

clickyy 2001-10-23 10:45:14
rt.

那种方法最好。
...全文
443 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
cherami 2001-10-23
  • 打赏
  • 举报
回复
楼上的方法最可行也最简单。
czb 2001-10-23
  • 打赏
  • 举报
回复
vampirelord()说得对,不过你非要用JTextField的话,可以把JTextField放到一个滚动框里啊。
clickyy 2001-10-23
  • 打赏
  • 举报
回复
我现在做bean,要用JTextField实现水平滚动
vampirelord 2001-10-23
  • 打赏
  • 举报
回复
没实践过,JTextField好象不太行吧?
JTextArea是可以的。
clickyy 2001-10-23
  • 打赏
  • 举报
回复
谢谢各位!
lhykillers 2001-10-23
  • 打赏
  • 举报
回复
Read decorator about DesignPattern of Gang Of Four and you'll see.
CanFly 2001-10-23
  • 打赏
  • 举报
回复
to vampirelord()
你說的問題很對,謝謝!
vampirelord 2001-10-23
  • 打赏
  • 举报
回复
你说的大小调整的问题,我一般是这么做:

ScrollPanel的layout是不设定的,TextField的bounds也是不设定的,放进去后,会自动撑满整个ScrollPanel。大小如果需要调整,则调整ScrollPanel的大小,而不是调整TextField
vampirelord 2001-10-23
  • 打赏
  • 举报
回复
把它放在scrollpanel里面就行了,和textarea一样处理
clickyy 2001-10-23
  • 打赏
  • 举报
回复
请问vampirelord() 

你是怎么实现滚动的?
czb 2001-10-23
  • 打赏
  • 举报
回复
SORRY,我也没有实际用过,真是误人子弟
biti_9512207 2001-10-23
  • 打赏
  • 举报
回复
我想这个问题已经演变为JTextField和JScrollPane如何使用的问题了.
我想问题的关键是你自己做一个Renderer
vampirelord 2001-10-23
  • 打赏
  • 举报
回复
实践是检验真理的唯一标准。
今天我试验了一下,JTextField也是可以滚动的,我上午的猜测是错的。真对不住czb(草中宝)兄弟了。
不过CanFly(我会飞)说的似乎也有不妥的地方:
因为你没有给jp的viewport设定layout,所以这个jt的大小是随着jp的变化而变化的,初始化的设定我看不出有什么作用。
clickyy 2001-10-23
  • 打赏
  • 举报
回复
JScrollPane用过,可以。
但JTextField的大小调整后,
JScrollPane的大小不能随之变化,
调用JScrollPane的Size()也不好用。
怎么办?
CanFly 2001-10-23
  • 打赏
  • 举报
回复
把JTextField jt=new JTextField(6); 中的列寬初始值大一些效果會更好一些!如11 了
CanFly 2001-10-23
  • 打赏
  • 举报
回复
給JTextField 加上一個JScrollPane就可以了

import javax.swing.*;
import java.awt.*;
public class test extends JPanel{
public test(){
JTextField jt=new JTextField(6);
JScrollPane jp=new JScrollPane(jt);

setLayout(null);
add(jp);
jp.setBounds(20,20,100,40);
jp.setBackground(Color.white);
}
public static void main(String args[]){
JFrame te=new JFrame();
te.getContentPane().add(new test());
te.setSize(300,300);
te.setVisible(true);
}

}
java万年历课程设计,有源代码 源代码片段:public class wannianli extends JFrame implements ActionListener, MouseListener { private Calendar cld = Calendar.getInstance(); private String [] astr = {"星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"}; private DefaultTableModel dtm = new DefaultTableModel(null,astr); private JTable table = new JTable(dtm); //装日期的表格 private JScrollPane sp = new JScrollPane(table); private JButton bLastYear = new JButton("上一年"); private JButton bNextYear = new JButton("下一年"); private JButton bLastMonth = new JButton("上月"); private JButton bNextMonth = new JButton("下月"); private JTextField jtfYear = new JTextField(5);//jtfYear年份显示和输入文本框,允许编辑单行文本 private JTextField jtfMonth = new JTextField(2);//jtfMonth月份显示文本框 private JPanel p1 = new JPanel(); //装入控制日期按钮的模块 private JPanel p2 = new JPanel(); private JPanel p3 = new JPanel(new BorderLayout()); private JPanel p4 = new JPanel(new GridLayout(2,1)); private JPanel p5 = new JPanel(new BorderLayout()); private JButton bAdd = new JButton("保存日志"); private JButton bDel = new JButton("删除日志"); private JTextArea jta = new JTextArea(); //JTextArea 是一个显示纯文本的多行区域 private JScrollPane jsp = new JScrollPane(jta); //管理视口、可选的垂直和水平滚动条以及可选的行和列标题视口 private JLabel l = new JLabel("小提示:可直接输入年份,提高查询效率!"); private JLabel lt = new JLabel();//系统时间 private JLabel ld = new JLabel();//日期是否被选择 private int lastTime; JMenuBar jmb = new JMenuBar(); JMenu view;
java 万年历 源代码 片段如下: package wannianli; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; //import java.sql.Date; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import javax.swing.Icon; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.table.DefaultTableModel; public class wannianli extends JFrame implements ActionListener, MouseListener { private Calendar cld = Calendar.getInstance(); private String [] astr = {"星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"}; private DefaultTableModel dtm = new DefaultTableModel(null,astr); private JTable table = new JTable(dtm); //装日期的表格 private JScrollPane sp = new JScrollPane(table); private JButton bLastYear = new JButton("上一年"); private JButton bNextYear = new JButton("下一年"); private JButton bLastMonth = new JButton("上月"); private JButton bNextMonth = new JButton("下月"); private JTextField jtfYear = new JTextField(5);//jtfYear年份显示和输入文本框,允许编辑单行文本 private JTextField jtfMonth = new JTextField(2);//jtfMonth月份显示文本框 private JPanel p1 = new JPanel(); //装入控制日期按钮的模块 private JPanel p2 = new JPanel(); private JPanel p3 = new JPanel(new BorderLayout()); private JPanel p4 = new JPanel(new GridLayout(2,1)); private JPanel p5 = new JPanel(new BorderLayout()); private JButton bAdd = new JButton("保存日志"); private JButton bDel = new JButton("删除日志"); private JTextArea jta = new JTextArea(); //JTextArea 是一个显示纯文本的多行区域 private JScrollPane jsp = new JScrollPane(jta); //管理视口、可选的垂直和水平滚动条以及可选的行和列标题视口 private JLabel l = new JLabel("小提示:可直接输入年份,提高查询效率!"); private JLabel lt = new JLabel();//系统时间 private JLabel ld = new JLabel();//日期是否被选择 private int lastTime; JMenuBar jmb = new JMenuBar(); JMenu view;

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧