Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.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
Java 向表中添加值并将其添加到主窗体_Java_Swing_Jtable - Fatal编程技术网

Java 向表中添加值并将其添加到主窗体

Java 向表中添加值并将其添加到主窗体,java,swing,jtable,Java,Swing,Jtable,我希望能够将多个选项卡添加到我的程序中。选项卡将包含jTable组件。我希望能够单击Addanewtab,输入一些信息,向表中添加一些值,然后将其插入tabbedPane。我下面的SSCE可以做到这一点,但当您尝试添加第二个SSCE时,该表不会显示在对话框中。有人能帮我找出原因吗?(仅供参考:我正在使用Netbeans和GUI设计器) import javax.swing.JLabel; 导入javax.swing.JScrollPane; 导入javax.swing.JTabbedPane;

我希望能够将多个选项卡添加到我的程序中。选项卡将包含jTable组件。我希望能够单击Addanewtab,输入一些信息,向表中添加一些值,然后将其插入tabbedPane。我下面的SSCE可以做到这一点,但当您尝试添加第二个SSCE时,该表不会显示在对话框中。有人能帮我找出原因吗?(仅供参考:我正在使用Netbeans和GUI设计器)

import javax.swing.JLabel;
导入javax.swing.JScrollPane;
导入javax.swing.JTabbedPane;
导入javax.swing.JTable;
公共类tabtest扩展了javax.swing.JFrame{
公共测试{
初始化组件();
}
@抑制警告(“未选中”)
//                           
私有组件(){
addTabDialog=newjavax.swing.JDialog();
titleTextBox=newjavax.swing.JTextField();
jLabel1=newjavax.swing.JLabel();
addtabconfirButton=newjavax.swing.JButton();
jScrollPane1=newjavax.swing.JScrollPane();
jTable1=newjavax.swing.JTable();
jLabel2=newjavax.swing.JLabel();
tabPane=newjavax.swing.JTabbedPane();
addTabButton=newjavax.swing.JButton();
addTabDialog.setBounds(新的java.awt.Rectangle(0,040400));
titleTextBox.setText(“新选项卡”);
jLabel1.setText(“选项卡标题”);
addtabconfirButton.setText(“确认”);
addTabConfirmButton.addActionListener(新java.awt.event.ActionListener(){
public void actionPerformed(java.awt.event.ActionEvent evt){
AddTabConfirmButtoActionPerformed(evt);
}
});
jTable1.setModel(新的javax.swing.table.DefaultTableModel(
新对象[][]{
{null,null,null},
{null,null,null},
{null,null,null},
{null,null,null}
},
新字符串[]{
“作业”、“分数”、“分数”
}
) {
类[]类型=新类[]{
java.lang.String.class、java.lang.Integer.class、java.lang.Integer.class
};
公共类getColumnClass(int columnIndex){
返回类型[列索引];
}
});
jScrollPane1.setViewportView(jTable1);
javax.swing.GroupLayout addTabDialogLayout=新建javax.swing.GroupLayout(addTabDialog.getContentPane());
addTabDialog.getContentPane().setLayout(addTabDialogLayout);
addTabDialogLayout.setHorizontalGroup(
addTabDialogLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(addTabDialogLayout.createSequentialGroup()
.addGap(87,87,87)
.addComponent(jLabel1)
.addGap(18,18,18)
.addGroup(addTabDialogLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(titleTextBox,javax.swing.GroupLayout.PREFERRED\u SIZE,96,javax.swing.GroupLayout.PREFERRED\u SIZE)
.addGroup(addTabDialogLayout.createSequentialGroup()
.addGap(6,6,6)
.addComponent(addTabConfirmButton)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT\u SIZE,Short.MAX\u VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,addTabDialogLayout.createSequentialGroup()
.addContainerGap(43,简称最大值)
.addComponent(jScrollPane1,javax.swing.GroupLayout.PREFERRED\u SIZE,314,javax.swing.GroupLayout.PREFERRED\u SIZE)
.addGap(32,32,32))
);
addTabDialogLayout.setVerticalGroup(
addTabDialogLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(addTabDialogLayout.createSequentialGroup()
.addGap(77,77,77)
.addGroup(addTabDialogLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(titleTextBox、javax.swing.GroupLayout.PREFERRED\u SIZE、javax.swing.GroupLayout.DEFAULT\u SIZE、javax.swing.GroupLayout.PREFERRED\u SIZE)
.addComponent(jLabel1))
.addGap(18,18,18)
.addComponent(jScrollPane1,javax.swing.GroupLayout.PREFERRED\u SIZE,133,javax.swing.GroupLayout.PREFERRED\u SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,javax.swing.GroupLayout.DEFAULT\u SIZE,Short.MAX\u值)
.addComponent(addTabConfirmButton)
.addGap(212、212、212))
);
setText(“这是一个新选项卡”);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
addTabButton.setText(“添加新选项卡”);
addTabButton.addActionListener(新java.awt.event.ActionListener(){
public void actionPerformed(java.awt.event.ActionEvent evt){
addTabButtonActionPerformed(evt);
}
});
tabPane.addTab(“+”,addTabButton);
javax.swing.GroupLayout=newjavax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(布局);
layout.setHorizontalGroup(
createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(选项卡窗格,javax.swing.GroupLayout.PREFERRED\u大小,326,javax.swing.GroupLayout.PREFERRED\u大小)
.addContainerGap(64,简称最大值))
);
layout.setVerticalGroup(
createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(选项卡窗格,javax.swing.GroupLayout.PREFERRED\u大小,178,javax.swing.GroupLayout.PREFERRED\u大小)
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;


public class tabtest extends javax.swing.JFrame {

    public tabtest() {
        initComponents();
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        addTabDialog = new javax.swing.JDialog();
        titleTextBox = new javax.swing.JTextField();
        jLabel1 = new javax.swing.JLabel();
        addTabConfirmButton = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();
        jLabel2 = new javax.swing.JLabel();
        tabPane = new javax.swing.JTabbedPane();
        addTabButton = new javax.swing.JButton();

        addTabDialog.setBounds(new java.awt.Rectangle(0, 0, 400, 400));

        titleTextBox.setText("New Tab");

        jLabel1.setText("Tab Title");

        addTabConfirmButton.setText("Confirm");
        addTabConfirmButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                addTabConfirmButtonActionPerformed(evt);
            }
        });

        jTable1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null},
                {null, null, null},
                {null, null, null},
                {null, null, null}
            },
            new String [] {
                "assignment", "points", "score"
            }
        ) {
            Class[] types = new Class [] {
                java.lang.String.class, java.lang.Integer.class, java.lang.Integer.class
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }
        });
        jScrollPane1.setViewportView(jTable1);

        javax.swing.GroupLayout addTabDialogLayout = new javax.swing.GroupLayout(addTabDialog.getContentPane());
        addTabDialog.getContentPane().setLayout(addTabDialogLayout);
        addTabDialogLayout.setHorizontalGroup(
            addTabDialogLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(addTabDialogLayout.createSequentialGroup()
                .addGap(87, 87, 87)
                .addComponent(jLabel1)
                .addGap(18, 18, 18)
                .addGroup(addTabDialogLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(titleTextBox, javax.swing.GroupLayout.PREFERRED_SIZE, 96, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(addTabDialogLayout.createSequentialGroup()
                        .addGap(6, 6, 6)
                        .addComponent(addTabConfirmButton)))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, addTabDialogLayout.createSequentialGroup()
                .addContainerGap(43, Short.MAX_VALUE)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 314, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(32, 32, 32))
        );
        addTabDialogLayout.setVerticalGroup(
            addTabDialogLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(addTabDialogLayout.createSequentialGroup()
                .addGap(77, 77, 77)
                .addGroup(addTabDialogLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(titleTextBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel1))
                .addGap(18, 18, 18)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 133, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(addTabConfirmButton)
                .addGap(212, 212, 212))
        );

        jLabel2.setText("This is a new Tab");

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        addTabButton.setText("add new tab");
        addTabButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                addTabButtonActionPerformed(evt);
            }
        });
        tabPane.addTab("+", addTabButton);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(tabPane, javax.swing.GroupLayout.PREFERRED_SIZE, 326, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(64, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(tabPane, javax.swing.GroupLayout.PREFERRED_SIZE, 178, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(111, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>                        

    private void addTabButtonActionPerformed(java.awt.event.ActionEvent evt) {                                             
        addTabDialog.setLocationRelativeTo(null);
        addTabDialog.setVisible(true);        
    }                                            

    private void addTabConfirmButtonActionPerformed(java.awt.event.ActionEvent evt) {                                                    
        JTable table=jTable1;
        tabPane.insertTab(titleTextBox.getText(),null,new JScrollPane(table),"Hello",tabPane.getTabCount()-1);
        //tabPane.addTab(titleTextBox.getText(),newTab);
        tabPane.setSelectedIndex(tabPane.getTabCount()-1);
        addTabDialog.setVisible(false);
    }                                                   

    public static void main(String args[]) {
       java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new tabtest().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify                     
    private javax.swing.JButton addTabButton;
    private javax.swing.JButton addTabConfirmButton;
    private javax.swing.JDialog addTabDialog;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable jTable1;
    private javax.swing.JTabbedPane tabPane;
    private javax.swing.JTextField titleTextBox;
    // End of variables declaration                   
}
  JTable table = jTable1;
  // !!!!! changes
  // JTable table = jTable1;
  JTable table = new JTable(); //!!
  table.setModel(jTable1.getModel()); //!!
  // !!!!! end of changes