java jtextfield 不显示_Java swing JTextField 英文或数字不能正常显示 不完全显示

Java swing JTextField 英文或数字不能正常显示 不完全显示。:

f39984c4fcc78ced985e42db14ee932d.png

姓名输入的abc却不能完整显示,切换成中文输入法后输入中文可以正常显示,

再切换到 英文输入法 输入 也能正常显示,怎么回事,望大神指点。

代码如下:

SpringLayout layout = new SpringLayout();

frame.getContentPane().setLayout(layout);

// 面板

Container pane = frame.getContentPane();

// 输入法

//pane.getInputContext().selectInputMethod(Locale.US);

pane.setBackground(Color.GREEN);

// 标题

JLabel title = new JLabel(“用户登录”);

// 字体

Font font = new Font(Font.SERIF,Font.BOLD,24);

title.setFont(font);

// 设置颜色

title.setForeground(Color.red);

pane.add(title);

// 标题显示位置

layout.putConstraint(SpringLayout.HORIZONTAL_CENTER,  title, 0, SpringLayout.HORIZONTAL_CENTER,  pane);

layout.putConstraint(SpringLayout.NORTH,  title, 20, SpringLayout.NORTH,  pane);

// 用户名

JLabel lname = new JLabel(“姓名:”);

lname.setFont(new Font(Font.SERIF,Font.PLAIN,16));

pane.add(lname);

JTextField ename = new JTextField(“abc”,15);

ename.setFont(new Font(Font.SERIF,Font.PLAIN,16));

pane.add(ename);

layout.putConstraint(SpringLayout.NORTH,  lname, 100, SpringLayout.NORTH,  pane);

layout.putConstraint(SpringLayout.WEST,  lname, 120, SpringLayout.WEST,  pane);

layout.putConstraint(SpringLayout.NORTH,  ename, 100, SpringLayout.NORTH,  pane);

layout.putConstraint(SpringLayout.WEST,  ename, 10, SpringLayout.EAST,  lname);

// 密码

JLabel lpass = new JLabel(“密码:”);

lpass.setFont(new Font(Font.SERIF,Font.PLAIN,16));

pane.add(lpass);

JPasswordField epass = new JPasswordField(15);

epass.setFont(new Font(Font.SERIF,Font.PLAIN,16));

pane.add(epass);

layout.putConstraint(SpringLayout.NORTH,  lpass, 128, SpringLayout.NORTH,  pane);

layout.putConstraint(SpringLayout.WEST,  lpass, 120, SpringLayout.WEST,  pane);

layout.putConstraint(SpringLayout.NORTH,  epass, 128, SpringLayout.NORTH,  pane);

layout.putConstraint(SpringLayout.WEST,  epass, 10, SpringLayout.EAST,  lpass);

// 按钮

JButton blogin = new JButton(“登录”);

blogin.setFont(new Font(Font.SERIF,Font.BOLD,16));

JButton bregist = new JButton(“注册”);

bregist.setFont(new Font(Font.SERIF,Font.BOLD,16));

pane.add(blogin);

pane.add(bregist);

layout.putConstraint(SpringLayout.NORTH,  blogin, 170, SpringLayout.NORTH,  pane);

layout.putConstraint(SpringLayout.WEST,  blogin, 150, SpringLayout.WEST,  pane);

layout.putConstraint(SpringLayout.NORTH,  bregist, 170, SpringLayout.NORTH,  pane);

layout.putConstraint(SpringLayout.WEST,  bregist, 20, SpringLayout.EAST,  blogin);

Java code

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

SpringLayout layout =new SpringLayout();

JFrame frame =new JFrame();

frame.getContentPane().setLayout(layout);

// 面板

Container pane = frame.getContentPane();

// 输入法

//pane.getInputContext().selectInputMethod(Locale.US);

pane.setBackground(Color.GREEN);

// 标题

JLabel title =new JLabel("用户登录");

// 字体

Font font =new Font(Font.SERIF,Font.BOLD,24);

title.setFont(font);

// 设置颜色

title.setForeground(Color.red);

pane.add(title);

// 标题显示位置

layout.putConstraint(SpringLayout.HORIZONTAL_CENTER,  title,0, SpringLayout.HORIZONTAL_CENTER,  pane);

layout.putConstraint(SpringLayout.NORTH,  title,20, SpringLayout.NORTH,  pane);

// 用户名

JLabel lname =new JLabel("姓名:");

lname.setFont(new Font(Font.SERIF,Font.PLAIN,16));

pane.add(lname);

JTextField ename =new JTextField("abc",15);

ename.setFont(new Font(Font.SERIF,Font.PLAIN,16));

pane.add(ename);

layout.putConstraint(SpringLayout.NORTH,  lname,100, SpringLayout.NORTH,  pane);

layout.putConstraint(SpringLayout.WEST,  lname,120, SpringLayout.WEST,  pane);

layout.putConstraint(SpringLayout.NORTH,  ename,100, SpringLayout.NORTH,  pane);

layout.putConstraint(SpringLayout.WEST,  ename,10, SpringLayout.EAST,  lname);

// 密码

JLabel lpass =new JLabel("密码:");

lpass.setFont(new Font(Font.SERIF,Font.PLAIN,16));

pane.add(lpass);

JPasswordField epass =new JPasswordField(15);

epass.setFont(new Font(Font.SERIF,Font.PLAIN,16));

pane.add(epass);

layout.putConstraint(SpringLayout.NORTH,  lpass,128, SpringLayout.NORTH,  pane);

layout.putConstraint(SpringLayout.WEST,  lpass,120, SpringLayout.WEST,  pane);

layout.putConstraint(SpringLayout.NORTH,  epass,128, SpringLayout.NORTH,  pane);

layout.putConstraint(SpringLayout.WEST,  epass,10, SpringLayout.EAST,  lpass);

// 按钮

JButton blogin =new JButton("登录");

blogin.setFont(new Font(Font.SERIF,Font.BOLD,16));

JButton bregist =new JButton("注册");

bregist.setFont(new Font(Font.SERIF,Font.BOLD,16));

pane.add(blogin);

pane.add(bregist);

layout.putConstraint(SpringLayout.NORTH,  blogin,170, SpringLayout.NORTH,  pane);

layout.putConstraint(SpringLayout.WEST,  blogin,150, SpringLayout.WEST,  pane);

layout.putConstraint(SpringLayout.NORTH,  bregist,170, SpringLayout.NORTH,  pane);

layout.putConstraint(SpringLayout.WEST,  bregist,20, SpringLayout.EAST,  blogin);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setVisible(true);

这是你的代码

如果您对CSDN论坛有意见和建议 请直接在本帖指教

对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理

e1093d069fe02ae36525fb8b6c33b5c1.png

seankaku

本版等级:

14237bff62fb1f17ce9293811fc783e5.png

#3 得分:0回复于: 2014-11-22 15:16:37

哦,测试了一下,把系统输入法设置成 中文(简体)-美式键盘或其他英文输入发,则会 出现英文或数字无法正常显示,如果设置成QQ输入法或其他中文输入法,可以正常显示,如图:

12daa839090ca20cc7fbeaa066fd2823.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值