Мне нужно программно добавить компоненты пользовательского интерфейса в существующую JPanel. Я не могу добавить компонент, который я добавляю.Невозможно программно добавить JPanel
Примечания:
- почти весь код TestUI порождается NetBeans (мой метод находится в нижней части)
- Я попытался установить jPanel1.validate(), jPanel1prevalidate(), и упаковка(), на основе других ответов я сталкивался
Main Class:
public class Test {
public static void main(String[] args) {
TestUI testUI = new TestUI();
testUI.setVisible(true);
testUI.addAnotherPanel();
}
}
UI Класс:
import javax.swing.JLabel;
public class TestUI extends javax.swing.JFrame {
/**
* Creates new form TestUI
*/
public TestUI() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 400, Short.MAX_VALUE)
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 300, Short.MAX_VALUE)
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
pack();
}// </editor-fold>
// Variables declaration - do not modify
private javax.swing.JPanel jPanel1;
// End of variables declaration
void addAnotherPanel() {
jPanel1.add(new JLabel("Hello World."));
jPanel1.revalidate();
}
}