JScrollPane不能显示的问题

newwyrain5G 2005-11-12 01:02:21
我把一个JPanel放入JScrollPane中,再把这个JScrollPane放入Container,结果出来一个什么都没有的窗体,但是JPanel直接放入Container就可以显示
另外setSize();这个方法怎么不起作用呢
public class StuKaoQ{
public static void main(String[] args){
InfoWindow infoWindow=new InfoWindow("KaoQin",100,100);
}
}

class InfoWindow extends JFrame implements ActionListener{
JPanel panel;
JMenuBar menubar;
JMenu menu;
JMenuItem item1,item2,item3;
Container container;
JLabel label1,label2,label3,label4,label5;
JTextField[] idText,nameText,sexText,classText,timeText;
JScrollPane spanel;
Container ct;
JButton button=new JButton("dfs");

public InfoWindow(String s,int x,int y){
super(s);
setSize(100,70);//好像没起作用阿
setVisible(true);
item1=new JMenuItem("login");
item2=new JMenuItem("logout");
item3=new JMenuItem("exit");
menu=new JMenu("Menu");
menu.add(item1);
menu.add(item2);
menu.add(item3);
menubar=new JMenuBar();
menubar.add(menu);
setJMenuBar(menubar);
label1=new JLabel("ID");
label2=new JLabel("Name");
label3=new JLabel("Sex");
label4=new JLabel("Class");
label5=new JLabel("Time");
panel=new JPanel();
panel.setLayout(new GridLayout(51,5));
panel.add(label1);
panel.add(label2);
panel.add(label3);
panel.add(label4);
panel.add(label5);
idText=new JTextField[50];
nameText=new JTextField[50];
sexText=new JTextField[50];
classText=new JTextField[50];
timeText=new JTextField[50];

for(int i=0;i<50;i++){
idText[i]=new JTextField("");
nameText[i]=new JTextField("");
sexText[i]=new JTextField("");
classText[i]=new JTextField("");
timeText[i]=new JTextField("");
panel.add(idText[i]);
panel.add(nameText[i]);
panel.add(sexText[i]);
panel.add(classText[i]);
panel.add(timeText[i]);
}
spanel=new JScrollPane();
spanel.add(panel);
ct=getContentPane();
ct.add(spanel);//ct.add(panel);就可以运行正确
pack();
}

public void actionPerformed(ActionEvent e)
{
}

}
...全文
507 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
alabaza 2005-11-13
  • 打赏
  • 举报
回复
setPreferredSize()
congliu 2005-11-12
  • 打赏
  • 举报
回复
调用JScroller的VERTICAL.FOREVER,HORIZONTAL.FOREVER
liu_you 2005-11-12
  • 打赏
  • 举报
回复
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class StuKaoQ{
public static void main(String[] args){
InfoWindow infoWindow=new InfoWindow("KaoQin",100,100);
}
}

class InfoWindow extends JFrame implements ActionListener{
JPanel panel;
JMenuBar menubar;
JMenu menu;
JMenuItem item1,item2,item3;
Container container;
JLabel label1,label2,label3,label4,label5;
JTextField[] idText,nameText,sexText,classText,timeText;
JScrollPane spanel;
Container ct;
JButton button=new JButton("dfs");

public InfoWindow(String s,int x,int y){
super(s);
setVisible(false);
item1=new JMenuItem("login");
item2=new JMenuItem("logout");
item3=new JMenuItem("exit");
menu=new JMenu("Menu");
menu.add(item1);
menu.add(item2);
menu.add(item3);
menubar=new JMenuBar();
menubar.add(menu);
setJMenuBar(menubar);
label1=new JLabel("ID");
label2=new JLabel("Name");
label3=new JLabel("Sex");
label4=new JLabel("Class");
label5=new JLabel("Time");
panel=new JPanel();
ct=getContentPane();
panel.setLayout(new GridLayout(51,5));
panel.add(label1);
panel.add(label2);
panel.add(label3);
panel.add(label4);
panel.add(label5);
idText=new JTextField[50];
nameText=new JTextField[50];
sexText=new JTextField[50];
classText=new JTextField[50];
timeText=new JTextField[50];

for(int i=0;i<50;i++){
idText[i]=new JTextField("");
nameText[i]=new JTextField("");
sexText[i]=new JTextField("");
classText[i]=new JTextField("");
timeText[i]=new JTextField("");
panel.add(idText[i]);
panel.add(nameText[i]);
panel.add(sexText[i]);
panel.add(classText[i]);
panel.add(timeText[i]);
}
// pack();不能展开
ct.add(new JScrollPane(panel,20,30));
setSize(100,200);
setVisible(true);
}


/* (non-Javadoc)
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
* created on 2005-11-12 by ly
*/
public void actionPerformed(ActionEvent pE)
{
}

}
believefym 2005-11-12
  • 打赏
  • 举报
回复
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class StuKaoQ {
public static void main(String[] args) {
InfoWindow infoWindow = new InfoWindow("KaoQin", 100, 100);
}
}

class InfoWindow extends JFrame implements ActionListener {
JPanel panel;

JMenuBar menubar;

JMenu menu;

JMenuItem item1, item2, item3;

Container container;

JLabel label1, label2, label3, label4, label5;

JTextField[] idText, nameText, sexText, classText, timeText;

JScrollPane spanel;

Container ct;

JButton button = new JButton("dfs");

public InfoWindow(String s, int x, int y) {
super(s);
item1 = new JMenuItem("login");
item2 = new JMenuItem("logout");
item3 = new JMenuItem("exit");
menu = new JMenu("Menu");
menu.add(item1);
menu.add(item2);
menu.add(item3);
menubar = new JMenuBar();
menubar.add(menu);
setJMenuBar(menubar);
label1 = new JLabel("ID");
label2 = new JLabel("Name");
label3 = new JLabel("Sex");
label4 = new JLabel("Class");
label5 = new JLabel("Time");
panel = new JPanel();
panel.setLayout(new GridLayout(51, 5));
panel.add(label1);
panel.add(label2);
panel.add(label3);
panel.add(label4);
panel.add(label5);
idText = new JTextField[50];
nameText = new JTextField[50];
sexText = new JTextField[50];
classText = new JTextField[50];
timeText = new JTextField[50];

for (int i = 0; i < 50; i++) {
idText[i] = new JTextField("");
nameText[i] = new JTextField("");
sexText[i] = new JTextField("");
classText[i] = new JTextField("");
timeText[i] = new JTextField("");
panel.add(idText[i]);
panel.add(nameText[i]);
panel.add(sexText[i]);
panel.add(classText[i]);
panel.add(timeText[i]);
}
spanel = new JScrollPane();
spanel.add(panel);
ct = getContentPane();
// ct.add(spanel);// ct.add(panel);就可以运行正确
ct.add(new JScrollPane(panel));
// pack();

setSize(400, 300);// 好像没起作用阿
// 涉及到界面更新的问题,先把布局弄好,再setsize、setvisible就好了
setVisible(true);
}

public void actionPerformed(ActionEvent e) {
}

}
believefym 2005-11-12
  • 打赏
  • 举报
回复
//ct.add(spanel);// ct.add(panel);就可以运行正确
ct.add(new JScrollPane(panel));

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧