java的JScrollPane问题 15

packagefinddifference;importjava.awt.BorderLayout;importjava.awt.Dimension;importjava... package finddifference;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Frame;

import javax.swing.*;

import java.lang.Math;

public class mainframe extends JFrame
{
public static final int maxSize=30;

public JFrame GetFrame()
{
JFrame frame=new JFrame("找不同");
frame.setSize(300, 400);
frame.setLocationRelativeTo(null);
frame.setExtendedState(Frame.MAXIMIZED_BOTH);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
return frame;
//frame.setVisible(true);

}
public JPanel GetPanel(JFrame frame)
{
JPanel mypanel=new JPanel();
frame.add(mypanel,BorderLayout.CENTER);
//mypanel.setPreferredSize(new Dimension(50,1000));
JScrollPane jsp1 = new JScrollPane(mypanel);
JScrollPane jsp2 = new JScrollPane(mypanel);
jsp2.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
frame.add(jsp1);
frame.add(jsp2);
// jsp2.setPreferredSize(new Dimension(20,200));
mypanel.setPreferredSize(new Dimension(1000,1000));
return mypanel;
//.setPreferredSize(new Dimension(50,1000));
}

public JLabel GetLable(JPanel mypanel,String a)
{
JLabel mylable=new JLabel(a);
mypanel.add(mylable);
mypanel.setLayout(null);
mylable.setBounds(550, 30, 500, 100);
return mylable;

}
public void MyButton(JPanel mypanel,String same,String dierefent)
{
int height=300;
int weigh=100;
JButton [][]but=new JButton[maxSize][maxSize];
for(int i=0;i<maxSize;i++)
{
for(int j=0;j<maxSize;j++)

{
//but[i][j].setText(same)
but[i][j]=new JButton(same);
//but[i][j].setBorderPainted(false);
//but[i][j].setContentAreaFilled(false);
//but[i][j].setPreferredSize(new Dimension(30,30));
mypanel.add(but[i][j]);
mypanel.setLayout(null);
but[i][j].setBounds(height, weigh, 100,100 );
height+=100;
//but[i][j].setText(same);
}
weigh+=100;
height=300;

}

int random1=(int)(Math.random()*maxSize);
int random2=(int)(Math.random()*maxSize);
but[random1][random2].setText(dierefent);
//frame.setVisible(true);
}
public void show(JFrame frame)
{
frame.setVisible(true);
}
public static void main(String []args)
{
mainframe my=new mainframe();
JFrame frame=my.GetFrame();
JPanel mypanel=my.GetPanel(frame);
JLabel mylable=my.GetLable(mypanel,"zhaobutong");
my.MyButton(mypanel,"3", "E");
my.show(frame);

}
}
我想在panel的下面增加一个JScrollPane,可是写上去编译后不能使用,怎么回事
有垂直滚动条的,就是没水平滚动条(有水平滚动轴)
展开
 我来答
手机用户50579
2014-07-18 · TA获得超过142个赞
知道答主
回答量:113
采纳率:0%
帮助的人:133万
展开全部
这个肯定不对呀
怎么能有add(scroll)和add(panel)两个容器呐
应该是嵌套的。
应该是add(panel);
panel.add(scroll);
这样可以么?
追问
可以具体一点吗,我左边有滚动条,下面没有,才学的,不怎么会,谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友12ee0fd
2014-07-18 · TA获得超过4.7万个赞
知道大有可为答主
回答量:1.1万
采纳率:66%
帮助的人:1957万
展开全部
一个组件只能添加一次
JPanel 没有实现Scrollable接口
追问
可以具体一点吗,我左边有滚动条,下面没有,才学的,不怎么会,谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式