JToolBar jToolBar1 = new JToolBar();
jToolBar1.setBorderPainted(false); //first button
ImgWrite = new JLabel(new ImageIcon("m_a.gif"));
ImgWrite.addMouseListener(this);
toolBar.add(ImgWrite); //second button
imgSend = new JLabel(new ImageIcon("s_a.gif"));
imgSend.addMouseListener(this);
toolBar.add(imgSend); //third button
imgAddr = new JLabel(new ImageIcon("nb_a.gif"));
imgAddr.addMouseListener(this);
toolBar.add(imgAddr);
}
jToolBar1.setBorderPainted(false); //first button
ImgWrite = new JLabel(new ImageIcon("m_a.gif"));
ImgWrite.addMouseListener(this);
toolBar.add(ImgWrite); //second button
imgSend = new JLabel(new ImageIcon("s_a.gif"));
imgSend.addMouseListener(this);
toolBar.add(imgSend); //third button
imgAddr = new JLabel(new ImageIcon("nb_a.gif"));
imgAddr.addMouseListener(this);
toolBar.add(imgAddr);
}
在界面中采用BorderLayout,把JTextField加入到JPanel的BorderLayout.SOUTH
那么JPanel下面就出现了一个状态栏
这样的状态栏是我以前用的,但只有一个显示状态文字的区域啊。
我需要的是有多个区域可以显示文字的,例如:第一部分显示状态,第二部分显示人名,第三部分显示公司,第四部分显示时间。每个部分的宽度不同,第一部分最宽。然后整体可以作为一个控件随意的添加到其他Panel中,大小可以随意设置,而每个部分的宽度只有第一部分改变,其他部分不变。这样的控件,怎么弄啊??
大概是这样的:
public class StatusPanel extends JPanel{
然后加入几个JLabel,安装你的规格摆放好,定义一个
Timer:
javax.swing.Timer timer = new javax.swing.Timer(renewTime, new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
refreshStatus();
}
});
一个开始监视数据的接口:
public void startStatusBar(){
timer.start();
}
停止监视的接口
public void stopStatusBar(){
timer.stop();
}
private void refreshStatus(){
// 取得数据更新JLabel的Text
}
}
在可视化界面中添加的时候,会不会不可以改变大小?
如果可以改变大小,那样里面的JLable的位置和大小会不会乱了??
我需要的状态栏不用监听,只要设置好接口进行设置就好了,例如:
setText1("aaa")。
还有就是状态栏的边框和IE那个类似。
帮忙啊!详细一点点,偶比较笨!:)
先谢谢啦!
解决了可以加分的!!
重载一个可以设置状态栏大小的构造函数
public StatusBar(int width){
//根据size的大小按比例对状态栏里的各个组件调整大小
}//也可以在参数里加上各个组件的比例等参数在将statusbar添加到jpanel上的时候可以通过先调用
Dimension d = JPanel.size();
int width = d.width;//得到width参数我是个新手,思想不够成熟,不知道这样对不对,希望高手能给个意见:)
你看JPanel是不是大小固定的呢,继承了JPanel有相同的特性在可视化界面中添加的时候,会不会不可以改变大小?
JPanel可以改变大小,凡是JComponent都可以,主要看你放在什么Layout中
比如在BorderLayout中布局就会自动拉伸组件大小如果可以改变大小,那样里面的JLable的位置和大小会不会乱了??
如果你用了BorderLayout的话JPanel里面JLabel的位置应该会自动调整,
如果你用null或者是JB的XYLayout,JLabel就定死了位置了
这样可以解决布局问题。
但是这样的东西可以最后做为一个可以灵活应用的控件吗??