求Java JPanel 面板划分问题

在JFrame里面加一个JPanel,然后将该JPanel分割成上下2部分中间有一条分割线,并且该线能被鼠标拖动,当朝左拖动时左边的JPanel面积变小,右边的变大。我是... 在JFrame 里面加一个 JPanel,然后将该JPanel分割成上下2部分中间有一条分割线,并且该线能被鼠标拖动,当朝左拖动时左边的JPanel面积变小,右边的变大。
我是Java初学者,想学习,希望有大大教一下,谢谢了。
展开
 我来答
百度网友bca46e38f
推荐于2016-09-29 · 超过23用户采纳过TA的回答
知道答主
回答量:45
采纳率:100%
帮助的人:51.6万
展开全部
public class SeparatorDemo1
{
JFrame f = null;

public SeparatorDemo1()
{
f = new JFrame("Separator Example");
Container contentPane = f.getContentPane();
contentPane.setLayout(new BorderLayout(1,2));

JPanel panel1 = new JPanel(new GridLayout(2,1));
JLabel label = new JLabel("水平分隔线",JLabel.CENTER);
JSeparator seph = new JSeparator();
panel1.add(label);
panel1.add(seph);

JTextArea textarea = new JTextArea();
textarea.setPreferredSize(new Dimension(150,100));
JPanel panel2 = new JPanel(new BorderLayout());
panel2.add(panel1,BorderLayout.NORTH);
panel2.add(textarea,BorderLayout.CENTER);

JPanel panel3 = new JPanel(new GridLayout(1,3));
label = new JLabel("垂直");
label.setVerticalAlignment(JLabel.CENTER);
panel3.add(label);
JSeparator sepv = new JSeparator();
sepv.setOrientation(JSeparator.VERTICAL);
panel3.add(sepv);

contentPane.add(panel2,BorderLayout.CENTER);
contentPane.add(panel3,BorderLayout.EAST);
f.pack();
f.setVisible(true);

f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}

public static void main(String[] arg)
{
new SeparatorDemo1();
}
}
nbva91
2010-11-02 · TA获得超过307个赞
知道小有建树答主
回答量:545
采纳率:0%
帮助的人:275万
展开全部
将setVisible的语句放置最后执行,原则上应该先将东西准备好,再进行显示。

楼主的代码看起来很不规范,建议多看看书上的例子~~
请参考
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式