gpt4 book ai didi

java - JTable在java中的JFrame中没有完全显示

转载 作者:行者123 更新时间:2023-12-01 14:09:57 27 4
gpt4 key购买 nike

我有JTable,然后我将其添加到JPanel。然后我将这个 JPanel 添加到一个名为frame的 JFrame 中。这个框架正确地显示了该表格,但是当我最大化窗口时,JPanel 仍然保持很小的尺寸。当我最大化框架时,我想在整个框架上显示 JPanel 。这是我的代码:

import java.awt.BorderLayout;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.Vector;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;

@SuppressWarnings("serial")
public class TestClass extends JPanel
{
public TestClass()
{
Vector columnNames = new Vector();
Vector data = new Vector();


int columns =3;

// Get column names

columnNames.addElement("Id");
columnNames.addElement("Name");
columnNames.addElement("Age");

// Get row data

Vector row = new Vector(columns);
row.addElement("1");
row.addElement("Moshi");
row.addElement("22");

data.addElement( row );




// Create table with database data

JTable table = new JTable(data, columnNames)
{
public Class getColumnClass(int column)
{
for (int row = 0; row < getRowCount(); row++)
{
Object o = getValueAt(row, column);

if (o != null)
{
return o.getClass();
}
}

return Object.class;
}
};

JScrollPane scrollPane = new JScrollPane( table );
add(scrollPane);

}

public static void main(String[] args)
{
TestClass testClass = new TestClass(); //**JPanel**
JFrame frame = new JFrame();
frame.setSize(500, 600);
frame.getContentPane().add(testClass); //**add jpanel to frame**
frame.setVisible(true);
}
}

最佳答案

使用布局管理器,根据可用大小调整组件大小,而不是 JPanel 默认 FlowLayout 仅使用组件首选大小,例如

setLayout(new GridLayout());

关于java - JTable在java中的JFrame中没有完全显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18602792/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com