JComboBox和JTextArea奇怪问题,高手进来看下.

su79qf16 2005-04-07 10:10:54
1.JComboBox显示不了,但是在编辑JTextArea 后又可以显示
2.JTextArea 加入JScrollPane 后不可编辑
问,如何才能显示JComboBox,和编辑加入了JScrollPane 的JTextArea .
另外顺便再问一个问题.如何在JButton中显示两排文字.

下面是源程序.

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

public class JC extends JPanel
{
JC()
{
super();
setLayout(null);

JComboBox tfSex = new JComboBox(new String[] {"男","女"}); //性别
JTextArea tfMemo = new JTextArea(); //备注

JLabel lab4= new JLabel("性 别:"); //加入标签
add(lab4);
lab4.setBounds(230,50,75,20);

add(tfSex); //显示不出来
tfSex.setBounds(320,50,100,20);

JLabel labG= new JLabel("备 注:"); //加入标签
add(labG);
labG.setBounds(00,370,75,20);

JScrollPane js = new JScrollPane(tfMemo); //加入JScrollPane后不可编辑
add(js);
js.setBounds(85,370,335,70);

add(tfMemo); //可编辑 在其中写字,可显示出tfSex
tfMemo.setBounds(85,200,335,70);

}

public static void main(String args[])
{
JC jph = new JC();
JFrame jf = new JFrame();
jf.setSize(800,600);
jf.show();
jf.getContentPane().add(jph);
jf.getContentPane().setLayout(null);
jph.setBounds(0,0,600,500);
}
}
...全文
230 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
su79qf16 2005-04-08
  • 打赏
  • 举报
回复
一定要有一个Layout吗?
还有别的解决方案么?

呵呵,代码是copy下来有问题的一段.所以有点乱啦.哇哈哈....

晚上要是还没有别的方案就给分.

另:JButton真的不能显示两行字么?
sean_zhu 2005-04-08
  • 打赏
  • 举报
回复
顺便说一句,你的代码写的有点乱阿,哈哈
sean_zhu 2005-04-08
  • 打赏
  • 举报
回复
帮你修改了一下,自己看看吧,应该都没有问题了。

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

public class JC extends JPanel
{
JC()
{
super();
setLayout(new BorderLayout());

JComboBox tfSex = new JComboBox(new String[] {"男","女"}); //性别
JTextArea tfMemo = new JTextArea(); //备注
JPanel pNorth =new JPanel(new BorderLayout());
JLabel lab4= new JLabel("性 别:"); //加入标签
lab4.setBounds(230,50,75,20);

pNorth.add(lab4,"West");
pNorth.add(tfSex,"Center");
add(pNorth,"North"); //显示不出来
tfSex.setBounds(320,50,100,20);

JLabel labG= new JLabel("备 注:");
add(labG,"West");
labG.setBounds(00,370,75,20);

tfMemo.setLineWrap(true);
JScrollPane js = new JScrollPane(tfMemo); //加入JScrollPane后不可编辑
add(js,"Center");
js.setBounds(85,370,335,70);

//add(tfMemo); //可编辑 在其中写字,可显示出tfSex
// tfMemo.setBounds(85,200,335,70);

}

public static void main(String args[])
{
JC jph = new JC();
JFrame jf = new JFrame();
jf.setSize(300,200);
// jf.show();
jf.getContentPane().setLayout(new BorderLayout());
jf.getContentPane().add(jph,"Center");
//jph.setBounds(0,0,600,500);
jf.setVisible(true);
}
}
zhaohao19853 2005-04-08
  • 打赏
  • 举报
回复
JButton上面显示2行,用html语句
还有显示不出来,不会啊,看看步局管理器,还有组件的加载
chq32 2005-04-08
  • 打赏
  • 举报
回复
要两排文字,应该就是用换行符,但是我好像试过,标签和按扭都不行,估计应该是不行的!
su79qf16 2005-04-08
  • 打赏
  • 举报
回复
晕,装了J2SE 1.5,居然可以显示JComboBox,但是显示不完全,不能显示下拉箭头.

真是搞不懂啊.

好了,结贴.
sean_zhu 2005-04-08
  • 打赏
  • 举报
回复
layout是必需的,swing里必须面对的问题,挺烦人的,但没有办法呀

除非你有delphi就会很方便了

另外,你出错的地方并不完全是Layout的原因,还有你的JFrame对象,你应该用setVisiable();方法来显示你的窗体而不是show()方法。

62,623

社区成员

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

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