“下一步”对话框,JAVA有例子吗 比如我们在安装软件的时候,总会遇到“下一步,下一步”这样的对话框,我想问一下,哪位高手有这方面的实例,能够分享一下的啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以用多个窗体,或者用JLayeredPane。以前用过这个,挺好用的~具体的下面的链接中有详细的说明。http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/JLayeredPane.html java没有现成的eclipse建工程或类的向导模板一定知道吧?照着这个做就可以不过需要eclipse插件的相关支持 public class Next extends JDialog { private final JPanel contentPanel = new JPanel(); private JTextField textField; private JLabel label; private JCheckBox checkBox; public static void main(String[] args) { try { Next dialog = new Next(); dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); dialog.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } public Next() { setBounds(100, 100, 450, 300); getContentPane().setLayout(new BorderLayout()); contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); getContentPane().add(contentPanel, BorderLayout.CENTER); contentPanel.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5)); { label = new JLabel("姓名:"); contentPanel.add(label); } first(); { JPanel buttonPane = new JPanel(); buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); getContentPane().add(buttonPane, BorderLayout.SOUTH); { JButton okButton = new JButton("上一步"); okButton.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { first(); } }); okButton.setActionCommand("上一步"); buttonPane.add(okButton); getRootPane().setDefaultButton(okButton); } { JButton cancelButton = new JButton("下一步"); cancelButton.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { second(); } }); cancelButton.setActionCommand("下一步"); buttonPane.add(cancelButton); } } } private void first(){ if(checkBox!=null){ contentPanel.remove(checkBox); contentPanel.repaint(); } label.setText("姓名:"); textField = new JTextField(); contentPanel.add(textField); textField.setColumns(10); } private void second(){ if(textField!=null){ contentPanel.remove(textField); contentPanel.repaint(); } label.setText("是否同意:"); checkBox = new JCheckBox("同意"); contentPanel.add(checkBox); } } CardLayout就是用了干这类事的。 我用的是多个panel,进行add remove来操作达到上一步和下一步不同的界面 工作不到一年,想要学习下设计模式,烦请各位前辈推荐一本书。 swing中为什么把JTextArea放在JPanel中不显示? 麻烦各位大侠帮忙看下!!!!! Hibernate怎样更改一条数据 read()和read(byte[])区别 在main方法中public static是必须的吗?为什么 招聘要求 [求助]请问哪里能下载到彭晨阳的<java实用系统开发指南> 请教. ant 问题! java 按月份生成文件 java急急-模拟栈的解构
http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/JLayeredPane.html
eclipse建工程或类的向导模板一定知道吧?
照着这个做就可以
不过需要eclipse插件的相关支持
public class Next extends JDialog { private final JPanel contentPanel = new JPanel();
private JTextField textField;
private JLabel label;
private JCheckBox checkBox; public static void main(String[] args) {
try {
Next dialog = new Next();
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
} public Next() {
setBounds(100, 100, 450, 300);
getContentPane().setLayout(new BorderLayout());
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
getContentPane().add(contentPanel, BorderLayout.CENTER);
contentPanel.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
{
label = new JLabel("姓名:");
contentPanel.add(label);
}
first();
{
JPanel buttonPane = new JPanel();
buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
getContentPane().add(buttonPane, BorderLayout.SOUTH);
{
JButton okButton = new JButton("上一步");
okButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
first();
}
});
okButton.setActionCommand("上一步");
buttonPane.add(okButton);
getRootPane().setDefaultButton(okButton);
}
{
JButton cancelButton = new JButton("下一步");
cancelButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
second();
}
});
cancelButton.setActionCommand("下一步");
buttonPane.add(cancelButton);
}
}
}
private void first(){
if(checkBox!=null){
contentPanel.remove(checkBox);
contentPanel.repaint();
}
label.setText("姓名:");
textField = new JTextField();
contentPanel.add(textField);
textField.setColumns(10);
} private void second(){
if(textField!=null){
contentPanel.remove(textField);
contentPanel.repaint();
}
label.setText("是否同意:");
checkBox = new JCheckBox("同意");
contentPanel.add(checkBox);
}
}