如何创建幻灯片 [英] How to create a slide panel
本文介绍了如何创建幻灯片的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我尝试更改面板的布局,但是有问题,因为当我更改布局时,组件保留在面板上并且有很多包。
I try to change a layout of the panel, but there are problems, because when I change layout the components remain on the panel and there are many bags.
import java.awt.LayoutManager;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class LayoutTest extends JFrame {
public LayoutTest() {
initComponents();
}
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jButton = new JButton();
jPanel1.setBackground(new java.awt.Color(204, 204, 255));
jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());
jButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
LayoutManager tempGroupLayout = jPanel1.getLayout();
jPanel1.setLayout(layoutManager2);
jPanel1.getParent().validate();
layoutManager = layoutManager2;
layoutManager2 = tempGroupLayout;
}
});
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).
addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup().
addContainerGap(286, Short.MAX_VALUE).
addComponent(jButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)));
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).
addComponent(jButton, javax.swing.GroupLayout.DEFAULT_SIZE, 442, Short.MAX_VALUE));
layoutManager = jPanel1Layout;
javax.swing.GroupLayout jPanel1Layout2 = new javax.swing.GroupLayout(jPanel1);
jPanel1Layout2.setHorizontalGroup(
jPanel1Layout2.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).
addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout2.createSequentialGroup().
addComponent(jButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)));
jPanel1Layout2.setVerticalGroup(
jPanel1Layout2.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).
addComponent(jButton, javax.swing.GroupLayout.DEFAULT_SIZE, 442, Short.MAX_VALUE));
layoutManager2 = jPanel1Layout2;
getContentPane().add(jPanel1);
pack();
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new LayoutTest().setVisible(true);
}
});
}
private JButton jButton;
private JPanel jPanel1;
private LayoutManager layoutManager;
private LayoutManager layoutManager2;
}
推荐答案
看一下JSplitPane组件。你可以嵌套它们中的一些。
Have a look at the JSplitPane component. You can nest a few of them.
splitPane.addPropertyChangeListener(JSplitPane.DIVIDER_LOCATION_PROPERTY, new SplitPanePropertyChangeListener());
private class SplitPanePropertyChangeListener implements PropertyChangeListener {
public void propertyChange(java.beans.PropertyChangeEvent evt) {
int nv = ((Integer) evt.getNewValue()).intValue();
if (nv == 1) { //adjust this depending on your divider location
setSize(new Dimension(800, 560));
}
if (nv == 221) { //adjust this depending on your divider location
setSize(new Dimension(1000, 560));
}
}
}
检查上面的代码和改造它符合您的要求
Check with above code and remodel it for your requirement
这篇关于如何创建幻灯片的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文