Swing 如何在JLabel中禁用换行,即使对于<;html>;文本
每当JLabel在标记中包含文本时,它都会自动应用换行(似乎是这样)。我的要求是,无论标签包含什么文本,都应始终禁用换行。由于遗留原因,我无法在渲染器中使用JTextAreaSwing 如何在JLabel中禁用换行,即使对于<;html>;文本,swing,jtable,jlabel,tablecellrenderer,Swing,Jtable,Jlabel,Tablecellrenderer,每当JLabel在标记中包含文本时,它都会自动应用换行(似乎是这样)。我的要求是,无论标签包含什么文本,都应始终禁用换行。由于遗留原因,我无法在渲染器中使用JTextArea 您可以在不希望包装的HTML内容周围使用标记 简单的非HTML内容永远不会包装在JLabel中 以下是一个例子: public static void main ( String[] args ) { JFrame frame = new JFrame (); frame.setLayout ( new B
标记public static void main ( String[] args )
{
JFrame frame = new JFrame ();
frame.setLayout ( new BorderLayout () );
final String html = "<html><body><nobr>CMV Antigenemia Stat X 2.0 dose(s)</nobr></body></html>";
final String simple = "<html><body>CMV Antigenemia Stat X 2.0 dose(s)</body></html>";
JTable table1 = new JTable ( new String[][]{ { html, html, html, html, html } }, new String[]{ html, html, html, html, html } );
table1.setRowHeight ( 50 );
frame.add ( table1, BorderLayout.NORTH );
JTable table2 = new JTable ( new String[][]{ { simple, simple, simple, simple, simple } },
new String[]{ simple, simple, simple, simple, simple } );
table2.setRowHeight ( 50 );
frame.add ( table2, BorderLayout.CENTER );
frame.pack ();
frame.setLocationRelativeTo ( null );
frame.setVisible ( true );
}
publicstaticvoidmain(字符串[]args)
{
JFrame=newjframe();
frame.setLayout(新的BorderLayout());
最终字符串html=“CMV抗基因血症状态X 2.0剂量”;
最终字符串simple=“CMV抗基因血症状态X 2.0剂量”;
JTable table1=新的JTable(新字符串[]{{html,html,html,html}},新字符串[]{html,html,html,html});
表1.1设置行高(50);
frame.add(表1,BorderLayout.NORTH);
JTable table2=新的JTable(新字符串[][{{simple,simple,simple,simple}},
新字符串[]{simple,simple,simple,simple,simple});
表2.2设置行高(50);
frame.add(表2,BorderLayout.CENTER);
frame.pack();
frame.setLocationRelativeTo(空);
frame.setVisible(true);
}
如您所见-在第一个表中,HTML内容没有被包装。AFAIK,
JLabel
始终是单行的,除非它使用HTML渲染。同意,但即使对于HTML渲染,我也不想换行,可能有一些HTML标记可能有帮助吗?尝试了这个,但没有成功。我正在把这个标签添加到JTable中——基本上我的渲染器组件是JLabel。到底是什么不起作用?您是如何在HTML代码周围插入
标记的?请在您的问题中添加一些简短描述问题的代码。我在渲染器的GetTableCellRenderComponent方法中获得以下文本-“CMV Antigenemia Stat X 2.0剂量”。由于遗留原因,此处返回的组件必须是JLabel(这个问题可以通过textarea解决。@niteen22您做错了什么-检查我在回答中添加的代码。您在上一条评论中发布的HTML内容没有包装(也不应该包装)-只需尝试调整框架大小。那么问题出在哪里?