现在我知道有很多这方面的问题,并且我读了十几个。但是我刚刚撞上了一堵墙,我无法做出正面或反面的评论。在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