JTextPane只能用inserComponent插入component吗,那么如何把component添加到JTextPane的后面? rt 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 插入点是光标位置,你只需把光标位置移到末尾再inserComponent就可以了。 import java.awt.Container;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.BorderFactory;import javax.swing.Icon;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JTextField;import javax.swing.JTextPane;import javax.swing.text.BadLocationException;import javax.swing.text.Document;public class JTextPaneTest extends JFrame { JTextPane textPane = null; JTextField field = new JTextField(20); Icon image = null; public JTextPaneTest() { image = new ImageIcon(this.getClass().getResource("res/back.jpg")); textPane = new JTextPane(); textPane.setBorder(BorderFactory.createEtchedBorder()); textPane.insertComponent(new JLabel(image)); textPane.setCaretPosition(textPane.getDocument().getLength()); textPane.insertComponent(field); textPane.setEditable(false); textPane.setPreferredSize(new Dimension(250, 25)); field.setBorder(BorderFactory.createEmptyBorder()); field.setPreferredSize(new Dimension(250, 25)); } public void gui() { Document doc = field.getDocument(); try { doc.insertString(0, "I want to thank you for your clear response", null); } catch (BadLocationException e) { e.printStackTrace(); } Container cp = getContentPane(); cp.setLayout(new FlowLayout(FlowLayout.LEFT)); cp.add(textPane); JButton b = new JButton("test"); b.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { try { field.getDocument().insertString( field.getDocument().getLength(), "test", null); field.setCaretPosition(field.getDocument().getLength()); } catch (BadLocationException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } }); cp.add(b); setDefaultCloseOperation(EXIT_ON_CLOSE); setSize(300, 100); setVisible(true); } public static void main(String[] args) { JTextPaneTest test = new JTextPaneTest(); test.gui(); }} 如何在websphere 上 配置ssl,双向认证?请教了 运行时为什么会报“monitor cannot be resolved”这样的错误? 请教一下连接数据库的问题 时间转换问题 用javah -jni 生成 .h 失败---在线等待 时间的'上午''下午'是什么格式的?? 请大家帮忙,看看怎么把这个字节数组变成中文,谢谢! 如何解析XML文件 警告问题 怎样把自己做的一个软件嵌入到JBuilder中,把它变成Jbuilder的一个功能,就想东方网译嵌入到IE里一样。 JTable点击列标题触发的事件 java如何实现对内存的读写!
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.BorderFactory;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JTextPane;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;public class JTextPaneTest extends JFrame { JTextPane textPane = null; JTextField field = new JTextField(20); Icon image = null; public JTextPaneTest() {
image = new ImageIcon(this.getClass().getResource("res/back.jpg"));
textPane = new JTextPane();
textPane.setBorder(BorderFactory.createEtchedBorder());
textPane.insertComponent(new JLabel(image));
textPane.setCaretPosition(textPane.getDocument().getLength());
textPane.insertComponent(field); textPane.setEditable(false);
textPane.setPreferredSize(new Dimension(250, 25));
field.setBorder(BorderFactory.createEmptyBorder());
field.setPreferredSize(new Dimension(250, 25));
} public void gui() {
Document doc = field.getDocument();
try {
doc.insertString(0, "I want to thank you for your clear response",
null);
} catch (BadLocationException e) {
e.printStackTrace();
}
Container cp = getContentPane();
cp.setLayout(new FlowLayout(FlowLayout.LEFT));
cp.add(textPane);
JButton b = new JButton("test");
b.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {
try {
field.getDocument().insertString(
field.getDocument().getLength(), "test", null);
field.setCaretPosition(field.getDocument().getLength());
} catch (BadLocationException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} });
cp.add(b);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(300, 100);
setVisible(true);
} public static void main(String[] args) {
JTextPaneTest test = new JTextPaneTest();
test.gui();
}
}