liangjda 2014-12-13 02:54 采纳率: 14.3%
浏览 3366

java jscrollpanel显示问题

要JAVA写一个聊天的软件,主界面显示好友列表用JScrollPanel,想在每一个好友名字旁边添加一个聊天的按钮,先将好友名字的标签和按钮加入一个面板里面,再将面板加入到jscrollpanel中,但是用流式布局管理器的话,所有的好友姓名和按钮都显示在同一行,用网格管理器的话,就算设置两列,可是显示的时候总是显示成两行 求帮助
代码如下
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.io.IOException;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;

public class JScroll extends JFrame {
JScroll(){
JFrame j=new JFrame();
Container c=j.getContentPane();
j.getContentPane().setLayout(null);
j.setTitle("Usr");
j.setSize(300,500);
j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//绘制带滚珠的文本窗口用于显示好友列表

            JPanel jp=new JPanel(new FlowLayout(FlowLayout.LEFT,10,10));
            jp.setSize(160,400);



            for(int i=0;i<5;i++){
                JLabel lab =new JLabel("好友列表");
                JButton jb = new JButton("chat");
                lab.setSize(90, 20);
                jb.setSize(40,20);
                jb.addMouseListener(new MouseListener () {//为每个标签添加鼠标事件监视器
                    public void mouseClicked(MouseEvent e) {
                        // TODO Auto-generated method stub
                        if(e.getClickCount()>=2)
                        {
                        //  TalkWindow tkw=new TalkWindow(fName.id);
                        //  tkw.start();
                            System.out.println("111");
                        }
                }
                @Override
                    public void mousePressed(MouseEvent e) {
                    }
                    @Override
                    public void mouseReleased(MouseEvent e) {
                    }
                    @Override
                    public void mouseEntered(MouseEvent e) {
                    }
                    @Override
                    public void mouseExited(MouseEvent e) {
                    }
                    });
                jp.add(lab);
                jp.add(jb);
            }
            JScrollPane sp=new JScrollPane(jp);
            sp.setBounds(20, 80, 160, 400);
            c.add(sp);
            j.setVisible(true);
}
public static void main(String[] args) {
    // TODO Auto-generated method stub
    new JScroll();
}

}


  • 写回答

1条回答

  • devmiao 2014-12-13 03:01
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办