根据需要使用水平滚动条或水平滚动条或水平滚动条。这控制是否以及如何查看滚动条。阅读:。。。如果我的回答足够,请接受。否则,请更改您的问题,以便我们可以找出缺少的内容。:)实际上,我在我的项目中有两个java类,这一个和一个GUI类,GUI类包含所有按钮和按
根据需要使用水平滚动条或水平滚动条或水平滚动条。这控制是否以及如何查看滚动条。阅读:。。。如果我的回答足够,请接受。否则,请更改您的问题,以便我们可以找出缺少的内容。:)实际上,我在我的项目中有两个java类,这一个和一个GUI类,GUI类包含所有按钮和按,java,swing,postgresql,Java,Swing,Postgresql,根据需要使用水平滚动条或水平滚动条或水平滚动条。这控制是否以及如何查看滚动条。阅读:。。。如果我的回答足够,请接受。否则,请更改您的问题,以便我们可以找出缺少的内容。:)实际上,我在我的项目中有两个java类,这一个和一个GUI类,GUI类包含所有按钮和按钮-“查看所有”应该打开这个类JFrame,但是当我单击查看所有按钮时,它打开了一个没有任何内容的JFrame(应该显示这个表)……你认为是因为我删除了setLayout(null)吗?如何修复此问题?框架现在可能没有更多布局,因此请编写以下内
根据需要使用
水平滚动条
或水平滚动条
或水平滚动条
。这控制是否以及如何查看滚动条。阅读:。。。如果我的回答足够,请接受。否则,请更改您的问题,以便我们可以找出缺少的内容。:)实际上,我在我的项目中有两个java类,这一个和一个GUI类,GUI类包含所有按钮和按钮-“查看所有”应该打开这个类JFrame,但是当我单击查看所有按钮时,它打开了一个没有任何内容的JFrame(应该显示这个表)……你认为是因为我删除了setLayout(null)吗?如何修复此问题?框架现在可能没有更多布局,因此请编写以下内容:setLayout(new MigLayout())
和contentPane.setLayout(new MigLayout())代码>我有点理解你的意思,但如果这是一个愚蠢的问题,我很抱歉,contentPane.add(newjscrollpane(table))在哪里;应该被放置?nvm,我真的得到了它,我删除了“setLayout(null)”并且它工作了。顺便说一句,我想问一个问题,如果它是好的。当我的表变得太大时,会发生什么,滚动条会出现在旁边吗?我将如何查看其余的值?无论如何,非常感谢您请不要使用setLayout(null)
,这是一种处理布局的非常肮脏的方式,并且有严重的副作用。最好使用布局管理器,如MigLayout
。。。您可以根据需要使用水平滚动条
或水平滚动条
或水平滚动条
。这控制是否以及如何查看滚动条。阅读:。。。如果我的回答足够,请接受。否则,请更改您的问题,以便我们可以找出缺少的内容。:)实际上,我在我的项目中有两个java类,这一个和一个GUI类,GUI类包含所有按钮和按钮-“查看所有”应该打开这个类JFrame,但是当我单击查看所有按钮时,它打开了一个没有任何内容的JFrame(应该显示这个表)……你认为是因为我删除了setLayout(null)吗?如何修复此问题?框架现在可能没有更多布局,因此请编写以下内容:setLayout(new MigLayout())
和contentPane.setLayout(new MigLayout())代码>
public class aaaaa extends JFrame {
private JPanel contentPane;
private static JTable table;
/**
* Launch the application.
*/
public static void main(String[] args) {
Connection c = null;
Statement stmt = null;
try{
Class.forName("org.postgresql.Driver");
c = DriverManager
.getConnection("jdbc:postgresql://localhost:5432/MovieDatabase",
"postgres", "password");
c.setAutoCommit(false);
System.out.println("Opened database successfully");
stmt = c.createStatement();
ResultSet rs = stmt.executeQuery( "SELECT * FROM film" );
table = new JTable(buildTableModel(rs));
while ( rs.next() ) {
int filmid = rs.getInt("filmid");
String filmtitle = rs.getString("filmtitle");
int filmyear = rs.getInt("filmyear");
String filmgenre = rs.getString("filmgenre");
System.out.println( "ID = " + filmid );
System.out.println( "TITLE = " + filmtitle );
System.out.println( "YEAR = " + filmyear );
System.out.println( "GENRE = " + filmgenre );
System.out.println();
}
rs.close();
stmt.close();
c.close();
}catch ( Exception e ) {
System.err.println( e.getClass().getName()+": "+ e.getMessage() );
System.exit(0);
}
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
aaaaa frame = new aaaaa();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public aaaaa() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 411);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
table.setBounds(10, 11, 414, 350);
contentPane.add(table);
JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(10, 11, 414, 350);
contentPane.add(scrollPane);
}
public static DefaultTableModel buildTableModel(ResultSet rs)
throws SQLException {
ResultSetMetaData metaData = rs.getMetaData();
// names of columns
Vector<String> columnNames = new Vector<String>();
int columnCount = metaData.getColumnCount();
for (int column = 1; column <= columnCount; column++) {
columnNames.add(metaData.getColumnName(column));
}
// data of the table
Vector<Vector<Object>> data = new Vector<Vector<Object>>();
while (rs.next()) {
Vector<Object> vector = new Vector<Object>();
for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
vector.add(rs.getObject(columnIndex));
}
data.add(vector);
}
return new DefaultTableModel(data, columnNames);
}
}