java jbutton添加信息_java – 将JButton添加到JTextPane

我在尝试使用String将JButton添加到JTextPane时遇到问题.所以我要做的是在for循环中添加每个String,然后在添加了String后添加广告JButton.

下面的代码是我想要完成的.

ArrayLst data = new ArrayList();

data.add("Data here");

data.add("Data here 2");

data.add("Data here 3");

data.add("Data here 4");

Container cp = getContentPane();

JTextPane pane = new JTextPane();

SimpleAttributeSet set = new SimpleAttributeSet();

StyleConstants.setBold(set, true);

pane.setBackground(Color.BLUE);

pane.setEditable(false);

Document doc = pane.getStyledDocument();

for(int i=0; i

{

doc.insertString(doc.getLength(), data.get(i)+ "

", set);

pane.insertComponent(new JButton("View Info"));

}

谁能告诉我如何在同一行的每个字符串中添加JButton?

非常感谢

最佳答案

你可以尝试这样:

import javax.swing.*;

import javax.swing.text.*;

import java.awt.event.*;

import java.awt.*;

import java.util.*;

class TextPaneDemo extends JFrame

{

public void createAndShowGUI()throws Exception

{

JTextPane tp = new JTextPane();

ArrayList data = new ArrayList();

data.add("Data here");

data.add("Data here 2");

data.add("Data here 3");

data.add("Data here 4");

getContentPane().add(tp);

setSize(300,400);

StyledDocument doc = tp.getStyledDocument();

SimpleAttributeSet attr = new SimpleAttributeSet();

for (String dat : data )

{

doc.insertString(doc.getLength(), dat, attr );

tp.setCaretPosition(tp.getDocument().getLength());

tp.insertComponent(new JButton("Click"));

doc.insertString(doc.getLength(), "

", attr );

}

setLocationRelativeTo(null);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setVisible(true);

}

public static void main(String[] args)

{

SwingUtilities.invokeLater(new Runnable()

{

@Override

public void run()

{

TextPaneDemo tpd = new TextPaneDemo();

try

{

tpd.createAndShowGUI();

}

catch (Exception ex){}

}

});

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值