如何在JPanel的指定位置加上按钮?
publicEditor(Strings){super("Demo");//第一个paneljp1=newJPanel();this.add(jp1);jp1.setLa...
public Editor(String s) {
super("Demo");
//第一个panel
jp1 = new JPanel();
this.add(jp1);
jp1.setLayout(new BorderLayout());
//第二个panel
jp2 = new JPanel();
this.add(jp2);
jp2.setLayout(new BorderLayout());
//加了两个textArea
JTextArea t1 = new JTextArea();
JTextArea t2 = new JTextArea();
jp1.add(new JScrollPane(t1),BorderLayout.CENTER);
jp2.add(new JScrollPane(t2),BorderLayout.CENTER);
//怎样把这两个按钮加在jp1的底部?
b1=new JButton("Vertical");
b2=new JButton("Horizontal");
JSplitPane jsp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, jp1, jp2);
add(jsp);
setBounds(300, 200, 800, 500);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
jsp.setDividerLocation(0.75);} 展开
super("Demo");
//第一个panel
jp1 = new JPanel();
this.add(jp1);
jp1.setLayout(new BorderLayout());
//第二个panel
jp2 = new JPanel();
this.add(jp2);
jp2.setLayout(new BorderLayout());
//加了两个textArea
JTextArea t1 = new JTextArea();
JTextArea t2 = new JTextArea();
jp1.add(new JScrollPane(t1),BorderLayout.CENTER);
jp2.add(new JScrollPane(t2),BorderLayout.CENTER);
//怎样把这两个按钮加在jp1的底部?
b1=new JButton("Vertical");
b2=new JButton("Horizontal");
JSplitPane jsp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, jp1, jp2);
add(jsp);
setBounds(300, 200, 800, 500);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
jsp.setDividerLocation(0.75);} 展开
3个回答
展开全部
JPanel actionBar = new JPanel();
actionBar.add(b1);
actionBar.add(b2);
jp1.add(actionBar, BorderLayout.SOUTH);
BorderLayout 是按东西南北中5个位置添加元素,你需要它在底部就添加到南部 (SOUTH)。CENTER 部分默认占据所有剩下的空间。一个位置只能放置一个组件,所以两个按钮需要放进一个 panel 后再把 panel 放到那个位置。
actionBar.add(b1);
actionBar.add(b2);
jp1.add(actionBar, BorderLayout.SOUTH);
BorderLayout 是按东西南北中5个位置添加元素,你需要它在底部就添加到南部 (SOUTH)。CENTER 部分默认占据所有剩下的空间。一个位置只能放置一个组件,所以两个按钮需要放进一个 panel 后再把 panel 放到那个位置。
展开全部
假设你按的Button为button1,待添加的为button2,均是panel的成员变量
button1.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
Panel.this.add(button2);
}
}
);
即可
如果你的Panel是JPanel把Panel.this.add(button2);替换成JPanel.this.add(button2);
button1.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
Panel.this.add(button2);
}
}
);
即可
如果你的Panel是JPanel把Panel.this.add(button2);替换成JPanel.this.add(button2);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-11-19
展开全部
JPanel 不要布局,然后自己setBounds
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询