【问题标题】:How to make jtable on full jframe window如何在完整的jframe窗口上制作jtable
【发布时间】:2014-04-11 12:27:44
【问题描述】:

我正在尝试使用 java swing 创建一个 jtable,并且我能够做到这一点,但问题是我想在完整的 jframe 窗口上创建该 jtable 我该如何做到这一点是我下面给出的代码

import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;

public class ScrollableJTable{
  public static void main(String[] args) {
  new ScrollableJTable();
  }
  public ScrollableJTable(){
  JFrame frame = new JFrame("Creating a Scrollable JTable!");
  JPanel panel = new JPanel();
  String data[][] = {{"001"},
};
  String col[] = {"Roll"};
  JTable table = new JTable(data,col);
  JTableHeader header = table.getTableHeader();
  header.setBackground(Color.yellow);
    Toolkit tk = Toolkit.getDefaultToolkit(); 
  int xSize = ((int) tk.getScreenSize().getWidth());  
  int ySize = ((int) tk.getScreenSize().getHeight()); 
  JScrollPane pane = new JScrollPane(table);
  table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
  panel.add(pane);
  frame.add(panel);
 frame.setSize(xSize,ySize);  

  frame.setUndecorated(true);
  frame.getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.setVisible(true);
  }
}

我怎样才能达到我想要的输出?

提前感谢

【问题讨论】:

    标签: java swing layout jtable jframe


    【解决方案1】:

    简单,将panel 的布局管理器设置为BorderLayout 或简单地将JScrollPane (pane) 直接添加到框架中,默认情况下使用BorderLayout

    查看Laying Out Components Within a Container了解更多详情

    【讨论】:

    • 你能告诉我怎么做吗?
    • 查看链接。任何组件都一样,setLayout(new BorderLayout())
    • 我没有被 JscrollPane(pane) 直接指向框架
    • 不要将pane添加到panel,只需将pane添加到框架中
    【解决方案2】:

    cool..你不需要写那么多行代码来显示一个文件。只需下载 jar 文件 rs2xml 并将其添加到你的项目库中。

    注意:如果您使用的是 netbeans,这将很有用

    怎么用?

    • 在后端创建表
    • 下载rs2xml jar文件
    • 将其添加到项目库中
    • 将 jtable 从 swing 控件拖到您的 jframe

    现在编写如下代码:

    写下你的查询:

            ps=con.prepareStatement("select * from register");       
            ResultSet r=ps.executeQuery();
            jTable1.setModel(DbUtils.resultSetToTableModel(r)); //display the register table
    

    【讨论】:

    • 这与这个问题根本没有任何关系。在看来更像是垃圾邮件
    • 你可以拖动你的jtable来适应jframe。这很简单。我认为你没有在netbeans中使用swing控件。这就是为什么我之前的建议对你来说是垃圾邮件。试试吧。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多