Java 如何将JTable插入面板?
我正在尝试将一个新创建的Java 如何将JTable插入面板?,java,swing,jtable,Java,Swing,Jtable,我正在尝试将一个新创建的JTable插入到我也创建的面板中,但运气不好。除此之外,我还尝试创建一个表,该表根据按下的按钮进行编辑,该按钮读取并存储用户输入,然后填写正确的列,我不确定是否按正确的方式进行了编辑 代码如下: public class resultTable extends JPanel { public void mainTable() { GridLayout mainLayout = (new GridLayout(1, 0)); St
JTable
插入到我也创建的面板中,但运气不好。除此之外,我还尝试创建一个表,该表根据按下的按钮进行编辑,该按钮读取并存储用户输入,然后填写正确的列,我不确定是否按正确的方式进行了编辑
代码如下:
public class resultTable extends JPanel {
public void mainTable() {
GridLayout mainLayout = (new GridLayout(1, 0));
String[] columnNames = { "NAME", "GRADE" };
Object[][] data = { { nameField.getText(), gradeField.getText() } };
final JTable table = new JTable(data, columnNames);
table.setPreferredScrollableViewportSize(new Dimension(500, 70));
table.setFillsViewportHeight(true);
}
}
public class myBottomPanel extends JPanel {
public myBottomPanel()
{
setBorder(BorderFactory.createTitledBorder("Students/Results"));
setOpaque(false);
setPreferredSize(new Dimension(0, 100));
add(resultField);
resultField.setAlignmentX(LEFT_ALIGNMENT);
add(resultTable);
}
}
public class buttonListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent event) {
String studentName;
int studentMark;
if (event.getSource() == addEntry) {
studentName = nameField.getText();
String intMark = gradeField.getText();
studentMark = Integer.parseInt(intMark);
System.out.println(studentName);
System.out.println(studentMark);
}
}
}
}
如果希望该表可滚动且可见,请确保将该表添加为JScrollPane的视图
// Create the Scroll panel and add the table (view)
JScrollPane jsp = new JScrollPane(table)
....
// Add the Scroll Panel to the main panel
myBottomPanel.add(jsp)
然后,将JScrollpane添加到面板中,该表应该是可见的和可滚动的。我不太确定您的类结构,但您需要一些东西来将这些组件放到其中,可以说是一个主要组件。然后,您可以添加一个
JScrollPane
,并在此JScrollPane
中添加您的JTable
。请参见1)要更快获得更好的帮助,请发布或。2) 请学习常见的Java命名法(命名约定-例如EachWordUpperCaseClass
,firstWordLowerCaseMethod()
,firstWordLowerCaseAttribute
,除非它是大写常量
),并一致使用它。3) 参见(是)4)setPreferredSize(新维度(01100))代码>和。。你认为0
会做什么?@hamena314我确实有一个主面板,但我没有包含代码。我从哪里开始滚动窗格?您应该创建一个,这样我们可以看到您的代码并帮助您。很难猜测,你的类是什么样子的,它们包含什么,你应该在哪里集成JScrollPane
等等。通常,你创建一个主面板,创建一个滚动窗格,创建一个表,将表添加到滚动窗格,然后将滚动窗格添加到主面板,这实际上是@Jorge在回答中提出的建议。