各位大神,我最近在帮办公室写程序。我现在遇到一个难题,是我有一个窗体,里面用表格输出我得到的数据结果。
但是,表格的大小无法随着窗体的变化而变化。我现在想要解决这个问题,也就是:点窗体的最大化之后,窗体JFrame变大,同时,JTable也变大,我不知道怎么实现,跪求各位大神帮忙啊!JavaJTableJFrameSwing
但是,表格的大小无法随着窗体的变化而变化。我现在想要解决这个问题,也就是:点窗体的最大化之后,窗体JFrame变大,同时,JTable也变大,我不知道怎么实现,跪求各位大神帮忙啊!JavaJTableJFrameSwing
解决方案 »
- 多个编辑框共享一个右键菜单,如何判断是在哪个编辑框弹出的菜单?
- java swt
- 请问常量池,变量池,堆,栈都是什么关系?大哥们没有分了,有需要可以给你补上
- 字符串中的中文字符长度处理
- 朋友们,进来帮我看看这个程序的问题?编译通过,不是不能运行
- 子类是否继承父类的构造函数,请高手清楚地分析一下,谢谢
- 我发现的套接字最难解决的问题,这个问题如果哪位大虾解决了,那他就是真的强者
- 请问这句话是什么意思??——类、this、实例
- eclipse里的tomcat运行不起来---高手请进
- 是高手的就进来看看,不是高手也可以学习学习,这是现在大家最关心的一个问题!
- 分享:写了一个 java 调用 C语言 开发的 windows 动态库的范例
- java环境变量全删除了怎么java.exe还是能在cmd下执行呢?
* CheckActypeResult.java
*
* Created on __DATE__, __TIME__
*/package forms;import javax.swing.table.DefaultTableModel;/**
*
* @author __USER__
*/
public class CheckActypeResult extends javax.swing.JFrame { /** Creates new form CheckActypeResult */
public CheckActypeResult() {
initComponents();
} /** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
//GEN-BEGIN:initComponents
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() { jScrollPane1 = new javax.swing.JScrollPane();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); String[] heads = {"页数","机型校对情况"};
Object[][] cellData = null;
DefaultTableModel model = new DefaultTableModel(cellData,heads)
{
public boolean isCellEditable(int row,int column)
{
return false;
}
};
jTable1 = new javax.swing.JTable(model);
jScrollPane1.setViewportView(jTable1); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 400,
Short.MAX_VALUE).addGroup(
layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING).addGroup(
layout.createSequentialGroup().addGap(0, 0,
Short.MAX_VALUE).addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 375,
javax.swing.GroupLayout.PREFERRED_SIZE).addGap(
0, 0, Short.MAX_VALUE))));
layout.setVerticalGroup(layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 300,
Short.MAX_VALUE).addGroup(
layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING).addGroup(
layout.createSequentialGroup().addGap(0, 0,
Short.MAX_VALUE).addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 275,
javax.swing.GroupLayout.PREFERRED_SIZE).addGap(
0, 0, Short.MAX_VALUE)))); pack();
}// </editor-fold>
//GEN-END:initComponents /**
* @param args the command line arguments
*/
public void addRow(String[] output)
{
DefaultTableModel model = (DefaultTableModel) this.jTable1.getModel();
model.addRow(output);
}
//GEN-BEGIN:variables
// Variables declaration - do not modify
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
// End of variables declaration//GEN-END:variables}
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 400,
Short.MAX_VALUE).addGroup(
layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING).addGroup(
layout.createSequentialGroup().addGap(0, 0,
Short.MAX_VALUE).addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 375,
javax.swing.GroupLayout.PREFERRED_SIZE).addGap(
0, 0, Short.MAX_VALUE))));
layout.setVerticalGroup(layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 300,
Short.MAX_VALUE).addGroup(
layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING).addGroup(
layout.createSequentialGroup().addGap(0, 0,
Short.MAX_VALUE).addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 275,
javax.swing.GroupLayout.PREFERRED_SIZE).addGap(
0, 0, Short.MAX_VALUE))));从你的代码看,你是把jscrollpane的大小定死了。
方法:继承ComponentAdapter类或者实现ComponentListener接口,在componentResized方法中重新设置jscrollpane的大小,然后调用validate(),repaint()方法
重载getPerferenceSize()