저는 Powerpoint와 같은 간단한 슬라이드 쇼 프로그램을 만들려고합니다. GUI를 디자인하기 위해 Netbeans를 사용하고 GUI 코드를 Netbeans에서 Eclipse로 복사했습니다. 내가 JPanel
를 확장 내 자신의 클래스에 오른쪽에 jPanel1
를 변경하려면,Java 레이아웃 NetBeans와 Eclipse의 위치 지정
pg = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
jPanel1 = new javax.swing.JPanel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setBackground(new java.awt.Color(153, 153, 153));
pg.setBackground(new java.awt.Color(255, 255, 255));
pg.setForeground(new java.awt.Color(255, 255, 255));
pg.setPreferredSize(new java.awt.Dimension(255, 234));
javax.swing.GroupLayout pgLayout = new javax.swing.GroupLayout(pg);
pg.setLayout(pgLayout);
pgLayout.setHorizontalGroup(
pgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 357, Short.MAX_VALUE)
);
pgLayout.setVerticalGroup(
pgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 257, Short.MAX_VALUE)
);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 62, Short.MAX_VALUE)
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 279, Short.MAX_VALUE)
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 82, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(pg, javax.swing.GroupLayout.DEFAULT_SIZE, 357, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 279, Short.MAX_VALUE)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(pg, javax.swing.GroupLayout.DEFAULT_SIZE, 257, Short.MAX_VALUE)
.addContainerGap())
);
pack();
내 문제는 다음과 같습니다
넷빈즈는 다음 코드를 생성합니다. 이를 위해, 나는 썼다 :
JPanel jPanel1 = new JPanel();
jPanel1.add(new ToolBoxGUI("ToolBox"));
을하지만이 코드를 실행하면, 오른쪽에는 ToolBoxGUI
클래스 버튼이 없습니다. 이 문제를 어떻게 해결해야합니까?
Netbeans GUI에 Bean을 추가하는 것이 한 가지 방법입니다. 나는 현재이 프로그램을 갖고 있지 않지만 GUI 작성자 오른쪽에 도구 상자가 있다고 생각합니다. 옵션 중 하나는 빈을 추가하는 것입니다. "Create Bean"을 클릭하고 "ToolBoxGUI"를 클래스 이름으로 입력하십시오. 그런 다음 패널로 드래그 할 수 있습니다. – eboix
장기적으로 손으로 UI를 디자인하는 것이 좋습니다. [레이아웃 관리자에 대한 시각 안내서] (http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html)는 차이점을 이해하는 데 도움이되지만 일반적으로 'BoxLayout'을 발견했습니다 ('Box' 클래스),'BorderLayout','FlowLayout'가 가장 유용합니다. 나는 [MiG 레이아웃 매니저] (http://miglayout.com/)를 사용한 적이 없지만 어떤 사람들은 정말로 그것을 좋아한다는 것을 알고 있습니다. NetBeans를 사용하면 장기적으로 더 행복해집니다 :) – Paul