JTextArea不能正常显示

yuyu622 2007-05-28 02:23:25
我想做一个汇率计算程序,我用了一个JTextArea并添加到滚动面板上之后添加到窗体上,用的是网格包布局,可是JTextArea在刚显出来时只有一行,可我设的是5行,我加了一个pack方法之后能正常显示出5行来,可是整个窗体又变小了,请各位大哥帮帮忙,问题解决,立即给分.小弟先谢了.
附源码:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.*;
import java.text.*;

class HuiluCalculator extends JFrame implements ActionListener
{
JTextArea jieguoJTextArea;
JComboBox bizhong;
JTextField rmb;
JTextField huilu;
JButton jishuan;
JLabel lblrmb;
JLabel lblhuilu;
JLabel lblbizhong;
JLabel lbljieguo;
Container con;
GridBagLayout gb;
GridBagConstraints gbc;

public HuiluCalculator()
{
setTitle("汇率计算器");
setBounds(400,300,300,200);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setResizable(false);
gb=new GridBagLayout();
gbc=new GridBagConstraints();

gbc.fill=GridBagConstraints.BOTH;
jieguoJTextArea=new JTextArea("人民币\t兑换金额\t币种",5,20);
rmb=new JTextField(10);
huilu=new JTextField(10);
jishuan=new JButton("计算");
lblrmb=new JLabel("人民币:");
lblhuilu=new JLabel("兑换汇率:");
lblbizhong=new JLabel("外币种类:");
lbljieguo=new JLabel("人民币及兑换外币金额:");
String bz[]={"美元","日元","英磅","法币"};
bizhong=new JComboBox(bz);

con=getContentPane();
con.setLayout(gb);
addComponent(lblrmb,0,0,1,1);
addComponent(rmb,0,1,1,2);
addComponent(jishuan,0,3,1,1);

addComponent(lblhuilu,1,0,1,1);
addComponent(huilu,1,1,1,2);

addComponent(lblbizhong,2,0,1,1);
addComponent(bizhong,2,1,1,2);

addComponent(lbljieguo,3,0,1,2);
addComponent(jieguoJTextArea,4,0,20,4);
jishuan.addActionListener(this);
}
public void addComponent(Component c,int row,int col,int nrow,int ncol)
{
gbc.gridx=col;
gbc.gridy=row;

gbc.gridwidth=ncol;
gbc.gridheight=nrow;

gb.setConstraints(c,gbc);
con.add(c);
}

public void actionPerformed(ActionEvent e)
{
if(jieguoJTextArea.getLineCount()>1)
{
jieguoJTextArea.setText("人民币\t兑换金额\t币种");
}
Float x,y;
x=new Float(rmb.getText());
y=new Float(huilu.getText());
String s=new String();
String s1=new DecimalFormat("0.00").format(x.floatValue()*y.floatValue());
s="\n" + rmb.getText()+ "\t" + s1 + "\t" + bizhong.getSelectedItem().toString();
jieguoJTextArea.append(s);
}

public static void main(String args[])
{
new HuiluCalculator().show();
}
}
...全文
463 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bindian 2007-10-05
  • 打赏
  • 举报
回复
ssssssssssssssssss
bindian 2007-10-05
  • 打赏
  • 举报
回复
你repaint()一下试试
yuyu622 2007-10-04
  • 打赏
  • 举报
回复
顶.....
ABCatai 2007-06-30
  • 打赏
  • 举报
回复
问题解决就好!
yuyu622 2007-06-23
  • 打赏
  • 举报
回复
问题解决了

23,404

社区成员

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

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