Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 更改JTextPane数组的长度_Arrays_Swing_Dynamic_Arraylist_Jtextpane - Fatal编程技术网

Arrays 更改JTextPane数组的长度

Arrays 更改JTextPane数组的长度,arrays,swing,dynamic,arraylist,jtextpane,Arrays,Swing,Dynamic,Arraylist,Jtextpane,我想创建一个JTextPane数组,它的大小和值在我的程序执行过程中都会发生变化,比如arrayList。 可以像arrayList那样做吗 我有两张照片。在第一个框架中,我有一个包含大约100个项目的JList。 选择任何项目后,每次拖放到第二帧时,我都要将其粘贴。 第二个框架有一个GridBagLayout,因此我想将每个选定项粘贴到 删除项目后JTextPane的数组 我想使用JTextPane,因为我想格式化所选文本。现在我找到了一个解决方案,我的代码似乎正常工作: import jav

我想创建一个JTextPane数组,它的大小和值在我的程序执行过程中都会发生变化,比如arrayList。 可以像arrayList那样做吗

我有两张照片。在第一个框架中,我有一个包含大约100个项目的JList。 选择任何项目后,每次拖放到第二帧时,我都要将其粘贴。 第二个框架有一个GridBagLayout,因此我想将每个选定项粘贴到 删除项目后JTextPane的数组


我想使用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。