我有一個具有表單的Java應用程序,用戶必須填寫它,但我想使用多層技術填充大表單作爲三部分,單擊確定,第一部分必須不可見,第二部分將可見,第三部分也不可見。在java應用程序中具有分層特性的組件?
我必須使用什麼,jpanel
,jLayeredPane
或什麼,以及如何使用netbeans?
我有一個具有表單的Java應用程序,用戶必須填寫它,但我想使用多層技術填充大表單作爲三部分,單擊確定,第一部分必須不可見,第二部分將可見,第三部分也不可見。在java應用程序中具有分層特性的組件?
我必須使用什麼,jpanel
,jLayeredPane
或什麼,以及如何使用netbeans?
你可能想看看CardLayout,這裏是一個教程,How to Use CardLayout.
另一種選擇將使用多個JDialogs。
...以及如何使用netbeans做到這一點?
如果你的意思是使用GUI構建器,我建議你去學習,而不是學習的IDE :)
對於任何更高級的Swing應用程序,我會強烈建議,在NetBeans RCP去爪哇。你有一個精靈組件工作的開箱,應滿足您的需求:http://platform.netbeans.org/tutorials/nbm-wizard.html
試試你的手放在此代碼:
import java.awt.Color;
import java.awt.event.*;
import javax.swing.*;
public class Form
{
private static void createAndDisplayGUI()
{
JFrame frame = new JFrame("Form");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
JPanel mainPanel = new JPanel();
mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.PAGE_AXIS));
final JPanel firstPanel = new JPanel();
firstPanel.setBackground(Color.DARK_GRAY);
JLabel label = new JLabel("I AM PANEL FIRST");
label.setForeground(Color.WHITE);
firstPanel.add(label);
final JPanel secondPanel = new JPanel();
secondPanel.setBackground(Color.YELLOW);
label = new JLabel("I AM PANEL SECOND");
label.setForeground(Color.BLACK);
secondPanel.add(label);
final JPanel thirdPanel = new JPanel();
thirdPanel.setBackground(Color.BLUE);
label = new JLabel("I AM PANEL THIRD");
label.setForeground(Color.WHITE);
thirdPanel.add(label);
JButton button = new JButton("NEXT");
button.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
if (firstPanel.isShowing())
{
firstPanel.setVisible(false);
secondPanel.setVisible(true);
}
else if (secondPanel.isShowing())
{
secondPanel.setVisible(false);
thirdPanel.setVisible(true);
}
}
});
mainPanel.add(firstPanel);
mainPanel.add(secondPanel);
mainPanel.add(thirdPanel);
mainPanel.add(button);
secondPanel.setVisible(false);
thirdPanel.setVisible(false);
frame.setContentPane(mainPanel);
frame.pack();
frame.setVisible(true);
}
public static void main(String... args)
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
createAndDisplayGUI();
}
});
}
}
這個問題可以張貼到http://forums.netbeans.org/ – mKorbel 2012-02-03 11:01:21