Java 将数据从txt文件显示到JTable
我的txt文件包含以下内容: 约翰Java 将数据从txt文件显示到JTable,java,swing,file-io,jtable,jframe,Java,Swing,File Io,Jtable,Jframe,我的txt文件包含以下内容: 约翰 1.0 新手 埃德 3.0 Wiz 第一行是球员的名字,第二行是分数,第三行是级别 我想在JTable中显示我的数据这是我的代码: package splashdemo; import java.awt.BorderLayout; import java.io.BufferedInputStream; import java.io.DataInputStream; import java.io.File; import java.io.FileInputSt
1.0
新手
埃德
3.0
Wiz
第一行是球员的名字,第二行是分数,第三行是级别
我想在JTable中显示我的数据这是我的代码:
package splashdemo;
import java.awt.BorderLayout;
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import javax.swing.JFrame;
import javax.swing.JTable;
public class Hscore extends javax.swing.JFrame {
public static String hname[]= new String[50];
public static double hscore[]= new double[50];
public static String hlevel[]= new String[50];
public static String data[][]= new String[50][3];
public Hscore() {
initComponents();
String col[] = {"Name","Course","Grade"};
JTable table = new JTable(data,col);
jPanel1.add(table,BorderLayout.CENTER);
JFrame frame= new JFrame();
frame.add(jPanel1);
frame.setSize(300,200);
frame.setVisible(true);
}
public void op(){
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jButton1 = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jPanel1.setLayout(new java.awt.BorderLayout());
jButton1.setText("jButton1");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 576, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(10, 10, 10))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 370, Short.MAX_VALUE)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
pack();
}// </editor-fold>
//=====Set HScore
public void setHScore(){
File oFile=new File("C:\\Users\\sony\\Documents\\NetBeansProjects\\SplashDemos\\HScore.txt");
FileInputStream fis=null;
BufferedInputStream bis=null;
DataInputStream dis=null;
int iIndex=0;
String name;
try{
fis=new FileInputStream(oFile);
bis=new BufferedInputStream(fis);
dis=new DataInputStream(bis);
while(dis.available()!=0){
hname[iIndex]=dis.readLine();
name=dis.readLine();
hscore[iIndex]=(int) Double.parseDouble(name);
hlevel[iIndex]=dis.readLine();
换行
data[iIndex]=newstring[]{hname[iIndex],String.valueOf(hscore[iIndex]),hlevel[iIndex]}代码>
为了使它工作,而不仅仅是代码中需要做很多更改
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import javax.swing.JTable;
public class Hscore extends javax.swing.JFrame {
public static String hname[]= new String[50];
public static double hscore[]= new double[50];
public static String hlevel[]= new String[50];
public static String data[][]= new String[50][3];
public Hscore() {
initComponents();
setHScore();
String col[] = {"Name","Course","Grade"};
JTable table = new JTable(data,col);
table.setPreferredSize(new Dimension(200,200));
jPanel1.add(table,BorderLayout.CENTER);
getContentPane().add(jPanel1);
setSize(300,200);
setVisible(true);
}
public void op(){
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jButton1 = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jPanel1.setLayout(new java.awt.BorderLayout());
jButton1.setText("jButton1");
/*javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 576, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(10, 10, 10))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 370, Short.MAX_VALUE)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);*/
pack();
}// </editor-fold>
//=====Set HScore
public void setHScore(){
File oFile=new File("C:\\Users\\sony\\Documents\\NetBeansProjects\\SplashDemos\\HScore.txt");
FileInputStream fis=null;
BufferedInputStream bis=null;
DataInputStream dis=null;
int iIndex=0;
String name;
try{
fis=new FileInputStream(oFile);
bis=new BufferedInputStream(fis);
dis=new DataInputStream(bis);
while(dis.available()!=0){
hname[iIndex]=dis.readLine();
name=dis.readLine();
hscore[iIndex]=(int) Double.parseDouble(name);
hlevel[iIndex]=dis.readLine();
data[iIndex]=new String[]{hname[iIndex], String.valueOf(hscore[iIndex]), hlevel[iIndex]};
iIndex++;
}
fis.close();
bis.close();
dis.close();
}catch(FileNotFoundException e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}
}
//==============
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Hscore().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JPanel jPanel1;
// End of variables declaration
}
导入java.awt.BorderLayout;
导入java.awt.Dimension;
导入java.io.BufferedInputStream;
导入java.io.DataInputStream;
导入java.io.File;
导入java.io.FileInputStream;
导入java.io.FileNotFoundException;
导入java.io.IOException;
导入javax.swing.JTable;
公共类Hscore扩展了javax.swing.JFrame{
公共静态字符串hname[]=新字符串[50];
公共静态双hscore[]=新双[50];
公共静态字符串hlevel[]=新字符串[50];
公共静态字符串数据[][]=新字符串[50][3];
公共Hscore(){
初始化组件();
setHScore();
字符串col[]={“姓名”、“课程”、“成绩”};
JTable table=新的JTable(数据,列);
表.setPreferredSize(新维度(200200));
jPanel1.add(表,BorderLayout.CENTER);
getContentPane().add(jPanel1);
设置大小(300200);
setVisible(真);
}
公共图书馆(op){
}
@抑制警告(“未选中”)
//
私有组件(){
jPanel1=newjavax.swing.JPanel();
jButton1=newjavax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setLayout(新java.awt.BorderLayout());
setText(“jButton1”);
/*javax.swing.GroupLayout=newjavax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(布局);
layout.setHorizontalGroup(
createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1,javax.swing.GroupLayout.DEFAULT\u SIZE,576,Short.MAX\u值)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,layout.createSequentialGroup()
.addContainerGap()
.addComponent(jButton1,javax.swing.GroupLayout.PREFERRED_SIZE,101,javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(10,10,10))
);
layout.setVerticalGroup(
createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1,javax.swing.GroupLayout.PREFERRED\u SIZE,javax.swing.GroupLayout.DEFAULT\u SIZE,javax.swing.GroupLayout.PREFERRED\u SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,370,Short.MAX_值)
.addComponent(jButton1,javax.swing.GroupLayout.PREFERRED_SIZE,33,javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);*/
包装();
}//
//====设置HScore
public void setHScore(){
File of ile=新文件(“C:\\Users\\sony\\Documents\\NetBeansProjects\\SplashDemos\\HScore.txt”);
FileInputStream fis=null;
BufferedInputStream bis=null;
DataInputStream dis=null;
国际指数=0;
字符串名;
试一试{
fis=新文件输入流(oFile);
bis=新的缓冲数据流(fis);
dis=新数据输入流(bis);
while(dis.available()!=0){
hname[iIndex]=dis.readLine();
name=dis.readLine();
hscore[iIndex]=(int)Double.parseDouble(name);
hlevel[iIndex]=dis.readLine();
data[iIndex]=新字符串[]{hname[iIndex],String.valueOf(hscore[iIndex]),hlevel[iIndex]};
iIndex++;
}
fis.close();
二、关闭();
dis.close();
}catch(filenotfounde异常){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}
}
//==============
公共静态void main(字符串参数[]){
invokeLater(new Runnable()){
公开募捐{
新的Hscore().setVisible(true);
}
});
}
//变量声明-不修改
私有javax.swing.JButton jButton1;
私有javax.swing.JPanel jPanel1;
//变量结束声明
}
如何在jtable中显示我的数据
你还不明白什么
您知道如何使用硬编码数据创建表吗?首先让它工作,然后让它使用文件中的动态数据
你知道如何从文件中读取数据吗?我建议您使用FileReader和BufferedReader。从如何在jtable中显示我的数据开始。谢谢,错误消失了,但是我如何在jtable中显示我的数据呢?
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import javax.swing.JTable;
public class Hscore extends javax.swing.JFrame {
public static String hname[]= new String[50];
public static double hscore[]= new double[50];
public static String hlevel[]= new String[50];
public static String data[][]= new String[50][3];
public Hscore() {
initComponents();
setHScore();
String col[] = {"Name","Course","Grade"};
JTable table = new JTable(data,col);
table.setPreferredSize(new Dimension(200,200));
jPanel1.add(table,BorderLayout.CENTER);
getContentPane().add(jPanel1);
setSize(300,200);
setVisible(true);
}
public void op(){
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jButton1 = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jPanel1.setLayout(new java.awt.BorderLayout());
jButton1.setText("jButton1");
/*javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 576, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(10, 10, 10))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 370, Short.MAX_VALUE)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);*/
pack();
}// </editor-fold>
//=====Set HScore
public void setHScore(){
File oFile=new File("C:\\Users\\sony\\Documents\\NetBeansProjects\\SplashDemos\\HScore.txt");
FileInputStream fis=null;
BufferedInputStream bis=null;
DataInputStream dis=null;
int iIndex=0;
String name;
try{
fis=new FileInputStream(oFile);
bis=new BufferedInputStream(fis);
dis=new DataInputStream(bis);
while(dis.available()!=0){
hname[iIndex]=dis.readLine();
name=dis.readLine();
hscore[iIndex]=(int) Double.parseDouble(name);
hlevel[iIndex]=dis.readLine();
data[iIndex]=new String[]{hname[iIndex], String.valueOf(hscore[iIndex]), hlevel[iIndex]};
iIndex++;
}
fis.close();
bis.close();
dis.close();
}catch(FileNotFoundException e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}
}
//==============
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Hscore().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JPanel jPanel1;
// End of variables declaration
}