使用JButton将JFrame连接到JPanel,JTextFields出现问题

时间:2014-02-10 16:36:01

标签: java swing jbutton jtextfield

我的问题是让我的Main类和Journal类连接在一起,在Main类中用户将输入两个变量并单击按钮来创建表,在Journal类中,它将采用这两个变量并使其通过一个进程在它们被添加到表之前所以我需要JTextField1作为变量a和JTextField2作为变量b。

我使用netbeans来创建Main类和我自己创建表类的方法请帮忙!谢谢!这是主要类Netbeans告诉我在右键单击>时编辑的部分。活动>行动>行动执行

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
     int data1 = Integer.parseInt(jTextField1.getText());
     int data2 = Integer.parseInt(jTextField2.getText());

}             

这是我的代码:

package Components;

/**
 *
 * @author dustinpx2014
 */

import java.awt.*;
import java.util.*;
import javax.swing.*;
import javax.swing.table.*;
public class Journal extends JPanel
{
    private JTable table;
    private int a;//Number of Students
    private int b;// Length of Trip
    public Journal() 
    {

        String colN1 = "Date";
        String colN2 = "Student"; 

        int c = a*2/b; // Determining # of Journals
        int col = c*2; // Creating two columns for every journal(Day and Student)
        String[] columnNames = new String[col]; //For Loop: inserting column names
        for(int colF = 0; colF < col; colF++)
        {
            if(colF%2 == 0)
            {
                columnNames[colF] = colN1;
            }
            else
            {
                columnNames[colF] = colN2;
            }
        }
        int row = b; //row = number of days
        int d = 1; //day number
        int s = 1; //student number
        int x = 0; //counter for the # of times students write
        int z = 1; // student number(no limit)
        int z1 = a/2; // student number 2
        int x1 = 0; // counter for the # of times students write 2
        int x2 = 0;
        int w = 1;
        Object[][] data = new Object[row][col];

        for (int col1 = 0; col1 < data[0].length; col1++)
        {
            for (int row1 = 0; row1<data.length; row1++)//goes through the table by column
            {
                if(d > b) //reseting the date
                {
                    d = 1;
                }
                if(s > a && x <= 2) //reseting student number and adds count
                {
                    s = 1;
                    x++;
                }
                if(z > a)
                {
                    z = 1;
                }
                if(z1 > a && x1 <= 2)
                {
                    z1 = 1;
                    x1++;
                }
                if (w>a)
                {
                    w++;
                }
                if(col1%2 == 0) //inserts the day
                {
                    data[row1][col1]= "Day " + d;
                    d++;
                }
                else if (s!=data[row1][col1])//inserts student number
                {
                    data[row1][col1]= s;
                    s++;
                    z++;
                    w++;
                }
                for (int col2 = 1; col2 < data[0].length; col2++)
                {
                    for (int row2 = 0; row2<data.length; row2++)//goes through the table by column
                    {
                        if(z == data[row2][col2] && col2%2!=0)//checks for repeats and replaces them
                        {

                            for (int y = 0; y < col; y++) //checking all columns
                            {
                                if (z1 == a/2 && x1 <= 5) //adds count
                                {
                                    x1++;
                                }
                                else if(z1 > a && x1 <= 5)
                                {
                                    z1 = 1;
                                    x1++;

                                }
                                if(z == data[row2][y])
                                {
                                    data[row2][col2] = z1;
                                    z1++;
                                    w++;
                                }

                            }
                        }
                    }
                }
                for (int row3 = 1; row3 < data.length; row3++)
                {
                    for (int col3 = 0; col3<data[0].length; col3++)//goes through the table by rows
                    {
                        if(w == data[row3][col3] && col3%2!=0)//checks for repeats and replaces them
                        {
                            for(int y2 = 0; y2 < col; y2++)
                            {
                                if(
                                row3<row-1 && 
                                row3> 1 && 
                                w==data[row3+1][y2] && 
                                w==data[row3-1][y2] &&
                                w==data[row3][y2]
                                ) //checks rows
                                {
                                    data[row3][col3] = 0;

                                }
                            }
                        }
                    }
                }
            }
        }

        JTable table = new JTable(data, columnNames);
        table.setPreferredScrollableViewportSize(table.getPreferredSize());
        JScrollPane scrollPane = new JScrollPane(table);
        add(scrollPane);
    }

    public JTable getTable() {
        return table;
    }

    private static void gui()
    {
        JFrame gui = new JFrame();
        gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        gui.setTitle("Journal List");
        gui.setSize(700,200);
        gui.setLocationRelativeTo(null);
        gui.setVisible(true);
        gui.add(new Journal());
    }


}

请帮助添加任何内容或删除我的代码中的任何内容以使其正常工作,谢谢:)

1 个答案:

答案 0 :(得分:0)

在你的缩窄器上写下

public static void main(String args[]){
Journal is= new Journal();


}
public Journal() 
{...}