【发布时间】:2016-09-08 17:37:20
【问题描述】:
有人可以告诉我如何调整JScrollBar 中的JTable 的大小吗?
另外,我有registering 的JPanel 和JTable 是记录已保存的验证,所以在registering 之后会出现JTable。但是,如果我将大小设置为JTable 甚至JScrollPane 的大小,我的JTable 中将不会出现任何内容。
这是我的 JTable 的代码:
import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
public void setColumns(){
ViewTablePanel.tblModel=new DefaultTableModel();
ViewTablePanel.tblModel.setColumnIdentifiers(column);
}
public class ViewTablePanel extends JPanel{
static JTable tblVoters;
static DefaultTableModel tblModel;
ViewTablePanel(){
setBorder(BorderFactory.createTitledBorder("Voter's Information Table"));
data=new Database();
setColumns();
data.retrieveRecords();
ViewTablePanel.tblVoters=new JTable(ViewTablePanel.tblModel);
add(new JScrollPane(ViewTablePanel.tblVoters));
}
}
import javax.swing.*;
import javax.swing.table.*;
import java.io.*;
import java.util.*;
public class Database {
static String [] column={"VOTERS NUMBER",
"LAST NAME", "FIRST NAME",
"MIDDLE NAME", "GENDER",
"STATUS", "WEIGHT",
"HEIGHT", "BIRTH MONTH",
"BIRTH DAY", "BIRTH YEAR",
"BIRTH CITY/MUN.", "BIRTH PROVINCE",
"PROVINCE", "CITY/MUN", "BARANGAY",
"HOUSE NO./ST.",
"# MONTHS IN CITY RESIDENCE",
"# YEARS IN CITY RESIDENCE",
"# YEARS IN PHIL. RESIDENCE",
"OCCUPATION", "TIN NUMBER",
"CITIZENSHIP", "CITIZEN SINCE",
"FIRST-MOTHER", "MIDDLE-MOTHER",
"LAST-MOTHER", "FIRST-FATHER",
"MIDDLE-FATHER", "LAST-FATHER"};
static Vector rows;
static File fileNew;
static FileWriter fileWrite;
static FileReader fileRead;
static Scanner read;
public Database() {
fileNew=new File("Voters.txt");
fileWrite=null;
fileRead=null;
read=null;
}
public void retrieveRecords(){
String holdStr="";
try {
fileRead=new FileReader(fileNew);
read=new Scanner(fileRead);
while(read.hasNext()){
holdStr+=read.nextLine()+"\n";
}
read.close();
StringTokenizer strToken=new StringTokenizer(holdStr, "/");
while(strToken.hasMoreElements()){
rows=new Vector();
for(int i=0; i<column.length; i++){
rows.add(strToken.nextElement());
}
ViewTablePanel.tblModel.addRow(rows);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
这是我在main JFrame 中调用JTable 的地方
import javax.swing.*;
import java.awt.*;
public class ViewPanel extends JPanel{
ViewPanel(){
setName("panelView");
setLayout(new BorderLayout());
setPreferredSize(new Dimension(880,70));
add(new JScrollPane(new ViewTablePanel()), BorderLayout.CENTER);
add(new ViewButtonsPanel(), BorderLayout.SOUTH);
}
}
请帮助和任何建议非常感谢你:)
【问题讨论】:
-
你可以查看drap and drop gui来调整table的大小,我以前在swing上工作时,我拖放jtable,然后单击鼠标右键,然后选择
surround by scrollPane跨度> -
@ElSam 感谢您的建议! :) 但是我正在尝试进行硬编码,因为我已经同时开始了我认为我不会理解拖放中的代码。不过还是谢谢你:)
-
关于jTable拖拽生成的代码,真的很简单。
-
试着在你的桌子上打电话给
setAutoResizeMode(JTable.AUTO_RESIZE_OFF)。文档:docs.oracle.com/javase/8/docs/api/javax/swing/…
标签: java file oop user-interface jtable