java中text问题
请看代码:JFramejf=newJFrame();jf.setBounds(500,250,220,220);/*//这条代码用作按钮错误提示JButtonjb=new...
请看代码:
JFrame jf = new JFrame();
jf.setBounds(500, 250, 220, 220);
/*
//这条代码用作按钮错误提示
JButton jb = new JButton("请点击此处结束程序!");
jf.add(jb);
*/
JLabel jl = new JLabel() ;
jl.setText("对不起,你的输入不符合规范") ;
JLabel jl2 = new JLabel() ;
jl.setText("程序自动结束,再见!") ;
jf.add(jl) ;
jf.add(jl2) ;
jf.setVisible(true);
jf.setResizable(false);
问题1、
刚开始我只定义了一个jl,一点问题也没有,
但是,为什么定义了两个JLabel,再jf.add(......)后,就不显示文字了呢?
问题2、
我想实现在窗口里显示 多行文字,该怎么做?(望多提供几种方法) 展开
JFrame jf = new JFrame();
jf.setBounds(500, 250, 220, 220);
/*
//这条代码用作按钮错误提示
JButton jb = new JButton("请点击此处结束程序!");
jf.add(jb);
*/
JLabel jl = new JLabel() ;
jl.setText("对不起,你的输入不符合规范") ;
JLabel jl2 = new JLabel() ;
jl.setText("程序自动结束,再见!") ;
jf.add(jl) ;
jf.add(jl2) ;
jf.setVisible(true);
jf.setResizable(false);
问题1、
刚开始我只定义了一个jl,一点问题也没有,
但是,为什么定义了两个JLabel,再jf.add(......)后,就不显示文字了呢?
问题2、
我想实现在窗口里显示 多行文字,该怎么做?(望多提供几种方法) 展开
展开全部
添加一个Jpanel就好啦,JFrame直接添加多个组件不建议。
JFrame是顶级容器,而JPanel是普通容器。包含Swing组件的程序必须包含一个顶级容器,而Swing组件不可以直接加入到顶级容器中。
下面的程序供参考:
JFrame jf = new JFrame();
jf.setBounds(500, 250, 220, 220);
JPanel jp = new JPanel();
/*
//这条代码用作按钮错误提示
JButton jb = new JButton("请点击此处结束程序!");
jf.add(jb);
*/
JLabel jl = new JLabel() ;
jl.setText("对不起,你的输入不符合规范") ;
JLabel jl2 = new JLabel() ;
jl2.setText("程序自动结束,再见!") ;
jp.add(jl) ;
jp.add(jl2) ;
jf.add(jp);
真心不建议直接加Label,好好查查API,这样做很不利于布局的。
展开全部
jl.setText("对不起,你的输入不符合规范") ;
jl.setText("程序自动结束,再见!") ;
比较不难发现,你只是对jl做了两次赋值,jl2并没有值,所以什么也看不到
另外,你没有给你的Frame jf设置布局,你可以这样设置jf.setLayout(new FlowLayout());当然,这不是很好的习惯,好的习惯是
Container con = jf.getContentPane();
con.setLayout(new FlowLayout());
对con进行操作,把组件也添加到con中来
显示多很文字:1,可以用JTextArea;2,嵌入HTML代码
jl.setText("程序自动结束,再见!") ;
比较不难发现,你只是对jl做了两次赋值,jl2并没有值,所以什么也看不到
另外,你没有给你的Frame jf设置布局,你可以这样设置jf.setLayout(new FlowLayout());当然,这不是很好的习惯,好的习惯是
Container con = jf.getContentPane();
con.setLayout(new FlowLayout());
对con进行操作,把组件也添加到con中来
显示多很文字:1,可以用JTextArea;2,嵌入HTML代码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不是不显示 是被覆盖了 要么给你的JFrame加入一些排版 要么给你子组件定义位置
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有布局
JLabel 可以用简单的HTML来换行
lblImg.setText("<html>文字1<br/>文字2</html>");
JLabel 可以用简单的HTML来换行
lblImg.setText("<html>文字1<br/>文字2</html>");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-12-18
展开全部
问题一:建议用FlowLayout()或BorderLayout()。用法自行搜索。
问题二:除非用Layout,否则只有用JTextField
问题二:除非用Layout,否则只有用JTextField
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询