現在我知道有很多這方面的問題,並且我讀了十幾個。但是我剛剛撞上了一堵牆,我無法做出正面或反面的評論。在JFrame中切換JPanels
繼承人我的問題。
我有3個面板類。
ConfigurePanel.java
ConnectServerPanel.java
RunServerPanel.java
和我的JFrame類
StartUPGUI.java
這是在啓動時初始化
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
startUp = new sjdproject.GUI.ConfigurePanel();
runServer = new sjdproject.GUI.RunServerPanel();
serverConnect = new sjdproject.GUI.ConnectServerPanel();
setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
jPanel1.setLayout(new java.awt.CardLayout());
jPanel1.add(startUp, "card2");
jPanel1.add(runServer, "card4");
jPanel1.add(serverConnect, "card3");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(27, Short.MAX_VALUE)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 419, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(38, 38, 38))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(27, 27, 27)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 281, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(30, Short.MAX_VALUE))
);
我StartUPGUI首先調用StartUpPanel。在我StartUpPanel.java我有一個按鈕,它調用了StartUPGUI
StartUpGUI s = new StartUpGUI();
String str = "";
if(runserverbtn.isSelected()){
str = "runserver";
}
else if(connectserverbtn.isSelected()){
str = "connectserver";
}
else{
str = "";
}
s.setPanel(str);
這裏setPanel方法是我setPanel方法
void setPanel(String str){
if(str == "runserver"){
}
else if(str == "connectserver"){
}
else{
}
}
什麼我需要把裏面的if塊來改變面板的看法?我會假設jPanel1.something(),但我不知道那是什麼。
[這裏](http://docs.oracle.com/javase/7/docs/api/javax/swing/ JPanel.html)是一個您可以閱讀所有您可以在JPanel上使用的方法的地方。 – csmckelvey
不要用==比較字符串,它不會工作。使用'.equals' ..'if(「runserver」.equals(str)){' –
我覺得我已經通過了數百萬種方法。我在jPanel1.something()的正確軌道上? – ragingbull