jPanel13 = new JPanel(new FlowLayout(FlowLayout.LEFT, 20, 20)) {
@Override
public Dimension getPreferredSize() {
JViewport viewport = (JViewport) getParent();
if (viewport != null) {
int wid = viewport.getWidth();
// int hei=viewport.getHeight(); //2008-04-18
setSize(wid, 671);
//setSize(wid,hei); //2008-04-18
doLayout();
FlowLayout layout = (FlowLayout) getLayout();
int hei = layout.getVgap();
// hei=layout.getVgap(); //2008-04-18
//int hei=25;
for (int i = 0; i < getComponentCount(); i++) {
Component c = getComponent(i);
hei = Math.max(hei, c.getY() + c.getHeight()
+ layout.getVgap());
}
return new Dimension(wid, hei);
}
return super.getPreferredSize();
}
};
要实现的是向JPanel中加入多个JLabel,JPanel放在JScrollPane上
如果这些JLabel不能在一行显示完整,换行显示.(也就是JScrollPane不出现横向滚动条)
@Override
public Dimension getPreferredSize() {
JViewport viewport = (JViewport) getParent();
if (viewport != null) {
int wid = viewport.getWidth();
// int hei=viewport.getHeight(); //2008-04-18
setSize(wid, 671);
//setSize(wid,hei); //2008-04-18
doLayout();
FlowLayout layout = (FlowLayout) getLayout();
int hei = layout.getVgap();
// hei=layout.getVgap(); //2008-04-18
//int hei=25;
for (int i = 0; i < getComponentCount(); i++) {
Component c = getComponent(i);
hei = Math.max(hei, c.getY() + c.getHeight()
+ layout.getVgap());
}
return new Dimension(wid, hei);
}
return super.getPreferredSize();
}
};
要实现的是向JPanel中加入多个JLabel,JPanel放在JScrollPane上
如果这些JLabel不能在一行显示完整,换行显示.(也就是JScrollPane不出现横向滚动条)
解决方案 »
- 怎么样才能使鼠标右键弹出的PopupMenu只发生在JTabbedPane头部?给点思路。
- !在线等,请问有没有现成的java包,可以用来分析XML标签的?
- 哪里有java视频教程下载?
- 一个字符串类型的变量,保存sql,执行时总是说 ORA-00911: 无效字符,为什么????????????????????????????????
- 如何判断str所采用的字符集
- jcreator问题求救
- 从JFileChooser中得到选择的目录,比如c:\temp\java,因为创建File目录在window环境下,需要变成c:\\temp\\java,怎么办?想了想没有太好
- 问题求助
- 兄弟们见过吗??Fatal Error: missing resource: java.util.PropertyResourceBundle
- 鸭子也要飞
- 请问在执行查询1后,能否执行查询2,然后根据需要分别读取1和2的记录集结果?
- 请各位大侠指点I/O错误!
这个方法, 呵呵, 当JPanel大小被改变, 或者重新显示等的时候, 这个函数是要被调用来取得JPanel的大小, 所以当然会一直被调用.
你的设计方法理论上可以运行, 但实际上是不可取的.把"实现的是向JPanel中加入多个JLabel"的代码放到JPanel的构造函数里就可以了.
可是我要实现的JLabel动态加入.
要对JLabel放在缩小,数量,大小是变化的.
可是我要实现的JLabel动态加入.
要对JLabel放大,缩小,数量,大小是变化的.
要加的时候调用就行了.不过从你给出的信息中, 并不是很清楚你是怎么动态的加入JLabel, 所以不太明白.
动态加入的动作, 决定了怎么解决, 可惜你的信息不完全.
if (viewport != null&&getComponentCount()>0) {