Теперь я знаю, что на это много вопросов, и я прочитал дюжину. Но я просто ударил стену, я не могу сделать головы или хвосты.Переключение между JPanels в JFrame
Heres my question.
У меня 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 У меня есть кнопка, которая вызывает метод setPanel в StartUPGUI
StartUpGUI s = new StartUpGUI();
String str = "";
if(runserverbtn.isSelected()){
str = "runserver";
}
else if(connectserverbtn.isSelected()){
str = "connectserver";
}
else{
str = "";
}
s.setPanel(str);
Вот мой setPanel метод
void setPanel(String str){
if(str == "runserver"){
}
else if(str == "connectserver"){
}
else{
}
}
Что мне нужно поставить внутри, если блоки, чтобы изменить вид на панели? Я бы предположил jPanel1.something(), но я не знаю, что это такое.
[Здесь] (http://docs.oracle.com/javase/7/docs/api/javax/swing/ JPanel.html) - это место, где вы можете прочитать все методы, которые вы можете использовать на JPanel. – csmckelvey
Не сравнивайте строку с '==', это не сработает. Используйте '.equals' ..' if ("runningerver" .equals (str)) {' –
Мне кажется, что я прошел через миллион своих методов. Am i на правильном пути с jPanel1.something()? – ragingbull