哎只有20分,不好意思,学习第一!
JTABLE怎么根据查询数据结果动态更新?
开始显示JTABLE是空的,只有表头!
然后查询数据库几个表时,查完了一个表就把结果添加到JTable中去,继续查寻时,一有结果又把结果添加到JTable中去 ,实现JTable的动态更新?还有一个问题就是JPanel里的组件,如JTextField怎么根据窗口的放大缩小,自动适应放大缩小??
先谢谢各位CSDN的大虾!!
JTABLE怎么根据查询数据结果动态更新?
开始显示JTABLE是空的,只有表头!
然后查询数据库几个表时,查完了一个表就把结果添加到JTable中去,继续查寻时,一有结果又把结果添加到JTable中去 ,实现JTable的动态更新?还有一个问题就是JPanel里的组件,如JTextField怎么根据窗口的放大缩小,自动适应放大缩小??
先谢谢各位CSDN的大虾!!
解决方案 »
- response.reset()和response.setHeader方法该怎样理解?
- Struts 问题
- 几个问题讨教?
- DefaultTableModel问题
- 网站做的真垃圾
- 第一次使用JCreator 为什么在其中录入的汉字显示的是乱码?怎么设置
- 请问怎样设置jbuilder7.0的环境
- 请问哪个方法可以得到刚刚executeUpdate(sql)中操作的行的编号???
- 如何得到自己被谁new了?
- 能帮忙看看嘛?入参是以XML格式的字符串。需要解析这个XML,重要的是 exp逻辑关系如何与条件具体项目(RXXSD、CSRQ、XP) 组合成 where
- 寻找P2P JXTA的大虾们,你们在哪啊?……我哭啊!~
- 用笔记本的兄弟进来看看
另开一个线程对数据库进行读取,如果有新的数据,将新的数据加到Model里去,再刷新一下.
BorderLayout borderLayout1 = new BorderLayout();
JComboBox searchBox;
Dimension scrSize;
public static final ImageIcon ICON_ROOT=new ImageIcon("images\\plane.gif");
public static final ImageIcon ICON_STAND=new ImageIcon("images\\men.gif");
public static final ImageIcon ICON_AO=new ImageIcon("images\\ao.gif");
public static final ImageIcon ICON_LAO=new ImageIcon("images\\lao.gif");
public static final ImageIcon ICON_PART=new ImageIcon("images\\part.gif");
public static ImageIcon[] groupIcon;
JLabel conditionLabel;
JLabel numberLabel;
JLabel aoNumLabel;
JLabel pAoNumLabel;
JLabel partLabel;
JLabel standLabel;
JLabel mainMakeLabel;
JLabel subMakeLabel;
JLabel useDeptLabel;
JLabel typeLabel;
JLabel startLabel;
JLabel endLabel;
JLabel versionLabel;
JLabel quantityLabel;
JLabel sideNumLabel;
JLabel nameCNLabel;
JLabel nameENLabel;
JTextField nameCNText;
JTextField nameENText;
JTextField numberText;
JTextField aoNumberText;
JTextField pAoNumberText;
JTextField partText;
JTextField standText;
JTextField mainMakeText;
JTextField subMakeText;
JTextField useDeptText;
JTextField typeText;
JTextField startNumText;
JTextField endNumText;
JTextField versionText;
JTextField quantityText;
JTextField sideNumText;
JPanel centerPanel;
JCheckBox numberCheck;
JCheckBox nameCNCheck;
JCheckBox nameENCheck;
JCheckBox startNumCheck;
JCheckBox endNumCheck;
JButton searchButton;
JButton clearButton;
JTable resultTable;
public SearchFrame() {
try {
init();
}
catch(Exception ex) {
ex.printStackTrace();
}
}
public void init()
{
Toolkit toolkit=Toolkit.getDefaultToolkit();
scrSize=toolkit.getScreenSize();
Container contentPane = this.getContentPane();
contentPane.setLayout(new BorderLayout());
this.setTitle("查询");
//int frameWidth=700;
//int frameHeight=300;
//this.setSize(frameWidth,frameHeight);
///this.setLocation(scrSize.width/2-frameWidth/2,scrSize.height/2-frameHeight/2);
this.setResizable(true);
this.setExtendedState(JFrame.MAXIMIZED_BOTH);
nameCNLabel=new JLabel("中文名字(C):");
nameENLabel=new JLabel("英文名字(E):");
conditionLabel=new JLabel("搜索条件:");
numberLabel=new JLabel("产品号码(P):");
aoNumLabel=new JLabel("AO号:");
pAoNumLabel=new JLabel("长驻AO号:");
partLabel=new JLabel("零件号:");
standLabel=new JLabel("站位:");
mainMakeLabel=new JLabel("主要制造部门:");
subMakeLabel=new JLabel("次要制造部门:");
useDeptLabel=new JLabel("使用部门:");
typeLabel=new JLabel("类型:");
startLabel=new JLabel("起始架次(S):");
endLabel=new JLabel("最终架次(E):");
versionLabel=new JLabel("版次:");
quantityLabel=new JLabel("数量:");
sideNumLabel=new JLabel("侧位:");
nameCNText=new JTextField(50);
nameENText=new JTextField(50);
numberText=new JTextField(50);
aoNumberText=new JTextField(50);
pAoNumberText=new JTextField(50);
startNumText=new JTextField(50);
endNumText=new JTextField(50);
partText=new JTextField(20);
standText=new JTextField(20);
mainMakeText=new JTextField(20);
subMakeText=new JTextField(20);
useDeptText=new JTextField(20);
typeText=new JTextField(20);
versionText=new JTextField(20);
quantityText=new JTextField(20);
sideNumText=new JTextField(20);
numberCheck=new JCheckBox("与");
nameCNCheck=new JCheckBox("与");
nameENCheck=new JCheckBox("与");
startNumCheck=new JCheckBox("与");
endNumCheck=new JCheckBox("与");
searchButton=new JButton("查找");
clearButton=new JButton("清除");
Vector v=new Vector();
v.addElement("平尾");
//v.addElement("站位");
v.addElement("AO");
v.addElement("长驻AO");
v.addElement("零件");
int size=v.size();
groupIcon=new ImageIcon[size];
groupIcon[0]=SearchFrame.ICON_ROOT;
//groupIcon[1]=SearchFrame.ICON_STAND;
groupIcon[1]=SearchFrame.ICON_AO;
groupIcon[2]=SearchFrame.ICON_LAO;
groupIcon[3]=SearchFrame.ICON_PART;
MyIconData[] iconData=new MyIconData[size];
for(int i=0;i<size;i++)
{
iconData[i]=new MyIconData((v.elementAt(i)).toString(),groupIcon[i]);
}
searchBox=new JComboBox(iconData);
searchBox.addItemListener(new SearchFrame_Select_SelectChangeAdapter(this));
searchBox.setRenderer(new IconCellRender());
JLabel searchLabel=new JLabel("搜索:");
JPanel leftPanel=new JPanel();
leftPanel.add(searchLabel);
leftPanel.add(searchBox);
JPanel topPanel=new JPanel(new BorderLayout());
topPanel.add(leftPanel,BorderLayout.WEST);
contentPane.add(topPanel,BorderLayout.NORTH);
JPanel contentPanel=new JPanel(new BorderLayout());
JPanel buttonPanel=new JPanel(new BorderLayout());
//contentPanel.setBorder();
contentPanel.setLayout(new GridBagLayout());
contentPanel.setBackground(UIManager.getColor("control"));
GridBagConstraints c=new GridBagConstraints();
c.gridx=0;
c.gridy = GridBagConstraints.RELATIVE;
c.gridwidth=1;
c.gridheight=1;
c.insets=new Insets(2,2,2,2);
c.anchor = GridBagConstraints.EAST;
numberLabel.setDisplayedMnemonic('P');
nameCNLabel.setDisplayedMnemonic('C');
nameENLabel.setDisplayedMnemonic('E');
startLabel.setDisplayedMnemonic('S');
endLabel.setDisplayedMnemonic('E');
contentPanel.add(conditionLabel,c);
contentPanel.add(numberLabel,c);
contentPanel.add(nameCNLabel,c);
contentPanel.add(nameENLabel,c);
contentPanel.add(startLabel,c);
contentPanel.add(endLabel,c);
c.gridx=1;
c.gridy=1;
//c.weightx=10;
c.fill = GridBagConstraints.HORIZONTAL;
c.anchor = GridBagConstraints.EAST;
contentPanel.add(numberText,c);
numberText.setFocusAccelerator('P');
c.gridx = 1;
c.gridy = GridBagConstraints.RELATIVE;
contentPanel.add(nameCNText,c);
nameCNText.setFocusAccelerator('C');
nameENText.setFocusAccelerator('E');
startNumText.setFocusAccelerator('S');
endNumText.setFocusAccelerator('E');
contentPanel.add(nameENText,c);
contentPanel.add(startNumText,c);
contentPanel.add(endNumText,c);
//contentPanel.add(searchButton,c);
c.gridx=2;
c.gridy=1;
c.weightx = 10;
c.anchor = GridBagConstraints.CENTER;
contentPanel.add(numberCheck,c);
c.gridy = GridBagConstraints.RELATIVE;
contentPanel.add(nameCNCheck,c);
contentPanel.add(nameENCheck,c);
contentPanel.add(startNumCheck,c);
contentPanel.add(endNumCheck,c);
//contentPanel.add(clearButton,c);
JPanel bottomPanel=new JPanel();
bottomPanel.add(searchButton);
bottomPanel.add(clearButton);
buttonPanel.add(bottomPanel,BorderLayout.EAST);
centerPanel=new JPanel(new BorderLayout());
centerPanel.add(contentPanel,BorderLayout.NORTH);
centerPanel.add(buttonPanel,BorderLayout.CENTER);
contentPane.add(centerPanel,BorderLayout.WEST);
this.setVisible(true);
}
public static void main(String args[])
{
new SearchFrame();
}
用borderlayout,但是窗口最大化时,centerPanel在左边显示,而没有跟着变大?
自适应大小!!
谢谢大家
麻烦看下!!
其实问题就是:
JPanel cPanel=new JPanel(new BorderLayout());
cPanel.setLayout(newGridBagLayout());
然后GridBagLayout包含了很多JTextField呵JCheckBox!!!JPanel centerPanel=new JPanel(new BorderLayout());
centerPanel.add(cPanel,BorderLayout.NORTH);Container contentPane = JFrame.getContentPane();
contentPane.setLayout(new BorderLayout());
contentPane.add(centerPanel,BorderLayout.CENTER);要问的就是 cPanel里的JTextField为什么不根据窗体的大小变化,宽度发生变化
谢谢大家!!刚才不好意思!
始显示JTABLE是空的,只有表头!
然后查询数据库几个表时,查完了一个表就把结果添加到JTable中去,继续查寻时,一有结果又把结果添加到JTable中去 ,实现JTable的动态更新的代码???
谢谢!!