Arrays 更改JTextPane数组的长度
我想创建一个JTextPane数组,它的大小和值在我的程序执行过程中都会发生变化,比如arrayList。 可以像arrayList那样做吗 我有两张照片。在第一个框架中,我有一个包含大约100个项目的JList。 选择任何项目后,每次拖放到第二帧时,我都要将其粘贴。 第二个框架有一个GridBagLayout,因此我想将每个选定项粘贴到 删除项目后JTextPane的数组Arrays 更改JTextPane数组的长度,arrays,swing,dynamic,arraylist,jtextpane,Arrays,Swing,Dynamic,Arraylist,Jtextpane,我想创建一个JTextPane数组,它的大小和值在我的程序执行过程中都会发生变化,比如arrayList。 可以像arrayList那样做吗 我有两张照片。在第一个框架中,我有一个包含大约100个项目的JList。 选择任何项目后,每次拖放到第二帧时,我都要将其粘贴。 第二个框架有一个GridBagLayout,因此我想将每个选定项粘贴到 删除项目后JTextPane的数组 我想使用JTextPane,因为我想格式化所选文本。现在我找到了一个解决方案,我的代码似乎正常工作: import jav
我想使用JTextPane,因为我想格式化所选文本。现在我找到了一个解决方案,我的代码似乎正常工作:
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
public class RefreshPanel {
private JFrame frame = new JFrame();
private JPanel panel = new JPanel();
private JTextPane [] textPane;
private JScrollPane scrollbar;
private ArrayList arrayList = new ArrayList();
private JButton newItem = new JButton("new");
private int counter=0;
private GridBagLayout gbl = new GridBagLayout();
RefreshPanel() {
panel.setBackground(Color.WHITE);
panel.setLayout(gbl);
panel.setPreferredSize(new Dimension(100,50));
scrollbar = new JScrollPane(panel);
addButtonListener();
createFrame();
} //constructor
public void addButtonListener() {
newItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
arrayList.add("data");
textPane = new JTextPane[arrayList.size()];
for(int i=0;i<arrayList.size();i++) {
textPane[i]=new JTextPane();
textPane[i].setText((String) arrayList.get(i));
addComponent(panel, gbl, textPane[i], 1, counter, 1, 1,1,1);
counter++;
}
}
});
}
public void addComponent(Container cont,
GridBagLayout gbl,
Component c,
int x, int y,
int width, int height,
double weightx, double weighty) {
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = x; gbc.gridy = y;
gbc.gridwidth = width; gbc.gridheight = height;
gbc.weightx = weightx; gbc.weighty = weighty;
gbl.setConstraints( c, gbc );
cont.add( c );
}
public void createFrame() {
frame.getContentPane().setLayout(new FlowLayout());
frame.add(scrollbar);
frame.add(newItem);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(new Dimension(300,300));
frame.setVisible(true);
}
public static void main(String [] args) {
new RefreshPanel();
}
}
import java.awt.*;
导入java.awt.event.*;
导入java.util.*;
导入javax.swing.*;
公开课复习小组{
私有JFrame=新JFrame();
private JPanel panel=new JPanel();
私有JTextPane[]textPane;
私有JScrollPane滚动条;
私有ArrayList ArrayList=新ArrayList();
私有JButton newItem=新JButton(“新”);
专用整数计数器=0;
私有GridBagLayout gbl=新GridBagLayout();
刷新面板(){
面板.立根背景(颜色.白色);
面板设置布局(gbl);
面板设置首选尺寸(新尺寸(100,50));
滚动条=新的JScrollPane(面板);
addButtonListener();
createFrame();
}//构造函数
public void addButtonListener(){
addActionListener(新ActionListener(){
@凌驾
已执行的公共无效操作(操作事件arg0){
arrayList.add(“数据”);
textPane=newjtextpane[arrayList.size()];
对于(int i=0;i“我想创建一个JTextPane的数组…”为什么?你试图用这个数组实现的应用程序功能是什么?@Andrew:我已经编辑了我的问题为什么你不使用arraylist?@Arijit:正如我在问题中提到的,我需要JTextPane,因为我想格式化文本。因此,为了快速回答,我需要类似于JTextPanePost的arraylist。